Skip to content

DUNE Spack Project

Documentation, training material, issue tracking, and project coordination for Spack development and use across DUNE — including MPD (multi-package development, the mrb/mrb gitCheckout successor built as a Spack extension) — the docs/training/issues hub that was missing alongside the existing spack config and package repos.

Link For
DUNE Spack & MPD Issues Reporting a problem or checking what's already known
DUNE Spack Cheat-Sheet Everyday Spack commands
DUNE Computing Basics setup guide CVMFS entry point and the dune-prototype environment

Get started

DUNE Spack repositories

Repo Purpose
dune-spack-config Standard configuration files for DUNE spack
dune-spack-envs Environment configurations for DUNE spack
dune_spack The DUNE-specific Spack package repository
dune-release-configs Spack configuration files for DUNE releases

See Repositories for what each one actually contains and how they relate to each other, plus the Fermilab-maintained repos below.

MPD (multi-package development)

MPD is the mrb/mrb gitCheckout successor: a Spack extension for cloning, building, and iterating on several related DUNE/LArSoft packages together (spack mpd init, spack mpd git-clone, spack mpd build, ...).

  • FNALssi/spack-mpd — source repository and doc/ (Initialization, Creation, Building, Selection, Removing, Zapping)
  • Developing LArSoft with Spack — LArSoftWiki getting-started page combining Spack and MPD workflows
  • Kyle Knoepfel, "Multi-package development at Fermilab with Spack," CHEP 2024/2025 proceedings (FERMILAB-CONF-25-0228-CSAID) — design rationale for MPD's two-layer split (Spack resolves dependencies, MPD drives CMake/CTest for packages under active development)

Upstream Spack and the Fermilab fork

Spack 1.x splits core from package recipes, so no single link is "the DUNE Spack instance" — these together describe where DUNE's deployment comes from:

Spack tutorials

Curated by audience — for a DUNE training event, pin a tested tutorial edition and Spack version rather than linking /latest/ directly.

Migration tracking

Tracking DUNE's transition to newer Spack releases (Spack 1.0/1.1): Spack 1.0 migration project (org-wide GitHub Project board).

Issues

Open issues across the DUNE Spack repos and MPD are tracked together on the DUNE Spack & MPD Issues board, which pulls in issues from dune-spack-config, dune-spack-envs, dune_spack, dune-release-configs, and FNALssi/spack-mpd. It has three views:

  • DUNE+FNALssi — table view, everything in one list
  • DUNE Repos — table view, DUNE-org repos only
  • DUNE Kanban — board view, grouped by status

Reporting a problem

  1. Open the issue in whichever of the five tracked repos it actually belongs to — dune-spack-config, dune-spack-envs, dune_spack, dune-release-configs, or FNALssi/spack-mpd. Not sure which one? Open it in dune-spack-project (this site's own repo) instead — Issues are enabled here too, and it's a fine catch-all when the right repo isn't obvious.
  2. Check the board a minute or two later. Most new issues get added automatically, but this isn't guaranteed for every repo. If yours hasn't shown up:
  3. On the issue page, open the Projects panel in the right sidebar and select DUNE Spack & MPD Issues, or
  4. From the command line: gh issue edit <issue-url> --add-project "DUNE Spack & MPD Issues".

Opening the issue in a repo is what makes it visible to the board; adding it to the project is the separate step that actually puts it there.

You can also skip a repo entirely and add a draft item straight onto the board itself (the + Add item control at the bottom of any view lets you type a title with no issue behind it yet). That's fine for quick capture, but a draft item isn't a real GitHub issue — nobody can comment on it, label it, or reference it from a PR until someone converts it to an issue in an actual repo, so prefer filing an issue directly when you can.

FAQ

DUNE computing FAQ lives in its own repo/site: DUNE/FAQ (tracked as Project #19 in the org-wide GitHub Projects — see that repo for Spack-adjacent questions not yet covered here).