Skip to content

Commit 62c27fe

Browse files
Update LArSoft_with_SPACK.md
Added summary of migration plan
1 parent a92f8f0 commit 62c27fe

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

LArSoftWiki/LArSoft_with_SPACK.md

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Overview page of LArSoft with SPACK
22

3-
Jan 28, 2025
3+
April 8, 2025
44

55
At present, LArSoft is in the process of migrating from the Fermilab developed UPS packaging tool to the community developed and supported [Spack](https://spack.io/) packaging tool. The use of Spack as the LArSoft package manager is expected to provide greatly improved flexibility to the experiments in building their software stacks relative to the standard tools provided by the LArSoft team, and will reduce the effort required to support the LArSoft software stack, thereby freeing effort to work on other high priority tasks.
66

@@ -30,3 +30,39 @@ The most recent v09 series release is v09.90.01. To set up on AL9:
3030
* source /cvmfs/larsoft.opensciencegrid.org/spack-v0.22.0-fermi/setup-env.sh
3131
* spack env activate larsoft-09-90-01-gcc-12-2-0-cxx17-prof-gcc-11-4-1
3232
* spack load larsoft
33+
34+
35+
## Summary of Migration Plan to Spack
36+
37+
* Spack development
38+
* Production release will be v1.0. Need to wait for this to be released before formal migration can occur.
39+
* Timescale is summer 2025
40+
* Write, validate document that describes detailed, technical procedure for creating a release of LArSoft using a well defined set of tools and steps
41+
* Expect extension to experiment code from this point will be straight-forward
42+
* Write, validate documentation on MPD and Fermilab Spack environment
43+
* Separately provide documentation for release managers and end users
44+
* Pre Spack v1.0 work for experiments
45+
* Select a Spack release on which to base work. Spack team will offer recommendations
46+
* Create experiment-specific repository for base experiment code recipes
47+
* Prepare and test recipes for experiment code and dependencies for which recipes not already available
48+
* Rely on Spack documentation and tutorials for this
49+
* PR recipes either to Spack, LArSoft or experiment recipe repositories, as appropriate
50+
* Identify cases where migration to AL9 is not possible
51+
* Define procedures for handling these presumably rare cases
52+
* Post Spack 1.0 work
53+
* LArSoft:
54+
* Make AL9 releases of LArSoft under Spack based on release policy
55+
* In parallel, make SL7 releases under UPS
56+
* Work with experiments to define time window during which SL7 builds will be released
57+
* External factors may impose a timeline on phase-out of SL7 containers
58+
* Experiments
59+
* Complete necessary recipe changes
60+
* Start building AL9 releases of experiment code using Spack
61+
* Validate software development procedures
62+
* Validate physics under AL9
63+
* In parallel, create SL7 releases under UPS
64+
* When AL9 validations are completed, cease SL7/UPS builds of experiment code
65+
* LArSoft
66+
* Cease regular SL7 builds when all experiments have migrated
67+
68+

0 commit comments

Comments
 (0)