Skill (local + repo copy): --tmpdir/--distdir now part of the standard
recipe (never write big files to /var/tmp — small and shared on the
login node), env-contamination and slow-shared-storage guardrails
added, ccp4 archetype 5b updated to the wget --continue + gzip -t prep
that is actually in ccp4/build.
Main README: agent section notes the skill can be buggy (use with
caution, corrections welcome, reading along is a good way to learn) and
that new software or a new download site needs the vendor install page
given as context; /var/tmp warning made explicit here and in
ccp4/README.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The ~/.Pmodules/Pmodules.yaml route did not reliably set download_dir,
so the maintained recipe now passes both dirs on the command line;
readers must adapt the p-group path to their own.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Byte-compiling the bundled Python env writes thousands of .pyc files on
network storage; whole install budget on Ra is about an hour.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Untarring 3.7 GB into ~15-20 GB of small files on shared /opt/psi takes
10-30 min silently; documented so nobody kills a healthy build.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Builtin curl in default prep has no retry/resume: an interrupted 3.7 GB
download restarts from zero and leaves a partial file that prep reuses
silently. Custom pbuild::prep resumes with wget --continue and gates the
build on gzip -t, so a truncated tarball can neither be reused nor
require a full re-download. urls: dropped from config.yaml (unused with
custom prep); install untars straight from the distfiles cache instead
of a pointless 3.7 GB copy via SRC_DIR.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
First Ra run "succeeded" while broken: modbuild has no errexit in hooks,
so a truncated cached tarball (gzip EOF) and a wrong hardcoded top dir
(tarball unpacks to ccp4-9, not ccp4-9.0) scrolled by and the modulefile
got installed anyway. Every critical step now ends the build via
std::die, the top dir is globbed, and install verifies ccp4.setup-sh
exists before finishing. README documents the recovery (rm partial
tarball from distfiles, --clean-install).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
No --check-mode exists; --prep is the real way to pre-fetch and check the
tmp_dir config. modbuild on Ra is 2.1.3 now.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Pre-agrees the CCP4 licence via .agree2ccp4v6 so BINARY.setup never
prompts. Download via urls: with unpacker: none (untar once into PREFIX,
BINARY.setup patches paths at final location). Build tmp and download
cache go to /das/work/p21/p21515/.cache/Pmodules through
~/.Pmodules/Pmodules.yaml (see README) since /var/tmp and the home quota
are too small for the ~5 GB tarball.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>