Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
56c58e3
Extend gitignore
alalazo Jun 16, 2026
c428650
basics: split "Installing Packages" into subsections
alalazo Jun 16, 2026
11a3bbb
Add a paragraph explaining the overall spack architecture
alalazo Jun 16, 2026
3bbae8f
Update releases/v1.1 -> releases/v1.2
alalazo Jun 16, 2026
9468048
Move high-level highlights to introduction
alalazo Jun 16, 2026
0497b30
Minor fixes
alalazo Jun 16, 2026
e2cb0da
Shorten and improve "Installing Packages"
alalazo Jun 16, 2026
074848a
Demote Compiler flags
alalazo Jun 16, 2026
d2bff02
Reorder "Spec Syntax" subsections
alalazo Jun 16, 2026
5b6f960
Move "Querying Installations" into its own section
alalazo Jun 16, 2026
d047d4b
Add intro to "Spec Syntax"
alalazo Jun 16, 2026
ebc16a3
Update output
alalazo Jun 16, 2026
87c3593
Fix "Installing Packages"
alalazo Jun 16, 2026
31d6044
Fix "Transitive Dependencies"
alalazo Jun 16, 2026
d0dd491
Fix "Transitive Dependencies"
alalazo Jun 16, 2026
7f90404
Fix "Virtual Dependencies"
alalazo Jun 16, 2026
6242ad4
First draft
alalazo Jun 16, 2026
8bb5b6e
Add missing output
alalazo Jun 16, 2026
1586d86
Polish the section
alalazo Jun 17, 2026
dba308b
Polish the section
alalazo Jun 17, 2026
54b8a19
Temporarily disable output generation
alalazo Jun 17, 2026
261b30a
Minor style fixes
alalazo Jun 18, 2026
96dd1d2
Minor style fixes
alalazo Jun 18, 2026
0fac538
Address review
alalazo Jun 19, 2026
8f70bdf
Don't use "realistic"
alalazo Jun 19, 2026
d93131e
ISC26: update the Packaging section
alalazo Jun 19, 2026
9ef1e07
Merge branch 'main' into isc26/packaging-update
alecbcs Jun 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 22 additions & 19 deletions outputs/packaging.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,12 @@ project="$(dirname "$0")"

rm -rf "${raw_outputs:?}/packaging"
. "$project/init_spack.sh"
spack repo update
# Cannot use \$HOME (in CI)
mpileaks_package_py="$HOME/$dir/$tutorial_subdir/packages/tutorial_mpileaks/package.py"

export SPACK_COLOR=never

# Packaging commands

# tutorial repository set up
example packaging/repo-create "spack repo create $repo_root $name"
example packaging/repo-create "spack repo add $repo_root/$tutorial_subdir"
Expand All @@ -27,23 +26,22 @@ example packaging/repo-list "spack repo list"

example packaging/repo-config "spack config get repos"

# spack create skeleton
# make the editor automatically exit
export EDITOR=true
example packaging/create "spack create --name tutorial-mpileaks --namespace $name https://github.com/LLNL/mpileaks/archive/refs/tags/v1.0.tar.gz"

example packaging/checksum-mpileaks-1 "spack checksum tutorial-mpileaks 1.0"

example --expect-error packaging/install-mpileaks-1 "spack install tutorial-mpileaks"
example --tee --expect-error packaging/install-mpileaks-1 "spack install tutorial-mpileaks"

# TODO: Update info-mpileaks.out output manually since automation fails.
#
# This fails ("Error: invalid width -2 (must be > 0)") in CI when preparing
# variants BUT not when run on the command line.
#cp "$PROJECT/package-py-files/1.package.py" "$mpileaks_package_py"
#example packaging/info-mpileaks "spack info --phases tutorial-mpileaks"
# add documentation
cp "$PROJECT/package-py-files/1.package.py" "$mpileaks_package_py"
example packaging/info-mpileaks "spack info --phases tutorial-mpileaks"

# add dependencies
cp "$PROJECT/package-py-files/2.package.py" "$mpileaks_package_py"
example --expect-error packaging/install-mpileaks-2 "spack install tutorial-mpileaks"
example --tee --expect-error packaging/install-mpileaks-2 "spack install tutorial-mpileaks"

stage_dir="$(spack location -s tutorial-mpileaks)"
example packaging/build-output "cat $stage_dir/spack-build-out.txt"
Expand All @@ -68,19 +66,24 @@ example packaging/build-output "cat $stage_dir/spack-build-out.txt"
#)
#run_configure

# configure arguments
cp "$PROJECT/package-py-files/3.package.py" "$mpileaks_package_py"
example packaging/install-mpileaks-3 "spack install tutorial-mpileaks"
example --tee packaging/install-mpileaks-3 "spack install tutorial-mpileaks"

# variants
cp "$PROJECT/package-py-files/4.package.py" "$mpileaks_package_py"
example packaging/install-mpileaks-4 "spack install --verbose tutorial-mpileaks stackstart=4"
example --tee packaging/install-mpileaks-4 "spack install --verbose tutorial-mpileaks stackstart=4"

example packaging/install-mpileaks-5 "spack uninstall -ay tutorial-mpileaks"
cp "$PROJECT/package-py-files/5.package.py" "$mpileaks_package_py"
example --expect-error packaging/install-mpileaks-5 "spack install --test=root tutorial-mpileaks"

cp "$PROJECT/package-py-files/6.package.py" "$mpileaks_package_py"
example packaging/install-mpileaks-6 "spack install --test=root tutorial-mpileaks"
# TODO: Re-enable once https://github.com/spack/spack/issues/52573 is resolved.
# tests
#example --tee packaging/install-mpileaks-5 "spack uninstall -ay tutorial-mpileaks"
#cp "$PROJECT/package-py-files/5.package.py" "$mpileaks_package_py"
#example --tee --expect-error packaging/install-mpileaks-5 "spack install --test=root tutorial-mpileaks"
#
#cp "$PROJECT/package-py-files/6.package.py" "$mpileaks_package_py"
#example --tee packaging/install-mpileaks-6 "spack install --test=root tutorial-mpileaks"

example packaging/cleanup "spack uninstall -ay tutorial-mpileaks"
# cleanup
example --tee packaging/cleanup "spack uninstall -ay tutorial-mpileaks"
example packaging/cleanup "spack repo remove $name"
example packaging/cleanup "rm -rf $repo_root"
65 changes: 24 additions & 41 deletions outputs/packaging/build-env-configure.out
Original file line number Diff line number Diff line change
@@ -1,52 +1,35 @@
$ ./configure --prefix=$HOME/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/mpileaks-1.0-wl3kx4o4bgegghl4u7hb3jk4toina3fx
$ ./configure --prefix=$HOME/spack/opt/spack/linux-x86_64_v3/tutorial-mpileaks-1.0-olkbps3ghmpiiy4dserbxgj5hlsm5ij
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether sleep supports fractional seconds... yes
checking filesystem timestamp resolution... 0.01
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... /home/spack/spack/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/spack/spack/lib/spack/env/gcc/gcc accepts -g... yes
checking for /home/spack/spack/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /home/spack/spack/lib/spack/env/gcc/gcc... gcc3
checking whether /home/spack/spack/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /home/spack/spack/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of /home/spack/spack/lib/spack/env/gcc/g++... gcc3
checking for /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.3-jfxctqwar7wb65rn7wf5mot7m4jxmsey/bin/mpicc... /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.3-jfxctqwar7wb65rn7wf5mot7m4jxmsey/bin/mpicc
Checking whether /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.3-jfxctqwar7wb65rn7wf5mot7m4jxmsey/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate adept-utils installation
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... /home/spack/spack/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether make supports nested variables... yes
checking xargs -n works... yes
checking whether UID '1001' is supported by ustar format... yes
checking whether GID '1001' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking for gcc... /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/spack/spack/lib/spack/env/gcc/gcc accepts -g... yes
checking for /home/spack/spack/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /home/spack/spack/lib/spack/env/gcc/gcc... gcc3
checking whether /home/spack/spack/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /home/spack/spack/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of /home/spack/spack/lib/spack/env/gcc/g++... gcc3
checking for /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv/bin/mpicc... /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv/bin/mpicc
Checking whether /home/spack/spack/opt/spack/linux-ubuntu18.04-x86_64/gcc-7.5.0/openmpi-4.1.1-p5qicacmcy72pjljd4lfdy66kavxp3tv/bin/mpicc responds to '-showme:compile'... yes
checking whether the compiler supports GNU C... yes
checking whether /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/gcc accepts -g... yes
checking for /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/gcc option to enable C11 features... none needed
checking whether /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/gcc... gcc3
checking whether the compiler supports GNU C++... yes
checking whether /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/g++ accepts -g... yes
checking for /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/g++ option to enable C++11 features... none needed
checking dependency style of /home/spack/spack/opt/spack/linux-x86_64_v3/compiler-wrapper-1.1.0-mmywg7x4myxvxepmqe5go3ppxirmuijp/libexec/spack/gcc/g++... gcc3
checking for /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.10-qfut5qqwp2fzaq3ymgk7nxvjv3qyrvml/bin/mpicc... /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.10-qfut5qqwp2fzaq3ymgk7nxvjv3qyrvml/bin/mpicc
Checking whether /home/spack/spack/opt/spack/linux-x86_64_v3/openmpi-5.0.10-qfut5qqwp2fzaq3ymgk7nxvjv3qyrvml/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate adept-utils installation
Loading
Loading