Covers bits, lcg.bits (recipes), and bits-recipe-tools. Entries tagged [Feature], [Fix], [Improvement].
- [Feature]
34a672c--initdotsh-from-modulesas a hashed build input (foundation; off-state byte-identical). - [Feature]
77a6103from-modules adds the modulefile-equivalent dev env (<PKG>_INCLUDE_DIR, Python site-packages) to init.sh. - [Feature]
e4e713dmake--initdotsh-from-modulesthe default; add--legacy-initdotsh(aliBuild stays legacy, hashes byte-identical). - [Feature]
e2a6169from-modules also exportsCMAKE_PREFIX_PATH(:-separated, read natively byfind_package). - [Improvement] bits-recipe-tools
e429a87gateCMakeRecipe/BitsPythonenv reconstruction off under from-modules (this not landing in the built v0.0.28 briefly broke CMP0144-old packages; fixed by v0.0.29). - [Improvement] lcg.bits
d967f93drop redundant dependency-env reconstruction;cd609fcdrop redundant-DCMAKE_PREFIX_PATH;93f997ctorch_scatter/torch_sparsedrop manual PYTHONPATH loop. - [Improvement]
768bc44/900ad31/607013fenv-diff harness comparing init.sh-derived vs modulefile-derived build env.
- [Feature]
6d64434unleash the final (sink) package to full-j(default on; memory cap still applies). - [Feature]
6dd1e4ehistory-driven critical-path scheduling (default on;--no-critical-path-schedule). - [Fix]
dc2fc07macOS available-memory was under-reported (subtracted reclaimable inactive-anon), throttling heavy builds (ROOT to-j2on 24 GB); prefer psutil, else reclaimablevm_statbuckets. - [Fix]
70d3fcafailure logs →LOGS/<arch>/and9e3d9cdper-archbits_build_stats.json— stop different platforms in one work area from clobbering each other;b3a1e46/170ff5abits statsreads the relocated file + docs. - [Fix]
882ad22resolve%(version)sin the build-order banner. - [Improvement]
3162234usethreading.current_thread()(clear deprecation warnings).
- [Feature]
2545a0caliBuild front-end defaults to the legacy path, native bits to the provider path. - [Feature]
847e8dbaliBuild init(no PACKAGE) checks out the recipes (alidist) and exits;d3bc83ebits init <group>.bitschecks out a recipe repo from the registry;55fbd89develop a package that lives in a required provider repo. - [Fix]
73a145eload the bootstrap repo's required providers (e.g. alice.bits → alidist.bits — fixed "gsl not found"). - [Improvement]
621ddedwarn on provider version conflict;4d92e95point the "package not found" error at the provider mechanism;ee78182docs.
- [Feature]
0632f28/b70abac/b1dfc1d/e8d1222/ea04075merged symlink-farm view: one-entry-per-var env, opt-inenter/setenv --view, view-awareload/printenv+ age-based GC, path remap (fixes PyROOT). - [Feature]
58f13b6/c2d99be/f59a547/53e91d4/80b6a08published per-build_idviews on CVMFS,bits publish --view, per-tree pre-publish primitive, CVMFS layout recorded in.meta.json. - [Feature]
8f193fa→c52f5d7,cf19966ADR-0001 import pipeline: modulefile harvest → classify → closure/build_id→ overlay →bits import(build-sufficient from modulefiles). - [Fix]
fac7aefreview fixes (command injection, partial-view, republish, path traversal, build_id match). - [Improvement]
44a7ee1docs for--reuse-policy/--reuse-base/--build-local.
- [Fix]
28c6989upload freshly-built packages to--write-store(S3) when reading from a CVMFS remote (cross-backendDualRemoteSync; was silently dropped). - [Fix]
8c21990--aggressive-cleanupdropped the tarball the--write-storeupload still needed. - [Fix]
15f82e4Boto3 tarball-name crash on specs carrying anarchitecturekey.
- [Feature]
5f4a15euntracked_requires— link a dependency without folding it into the consumer's hash (edit a dep without rebuilding the stack above);20e8ed6cookbook example.
- [Fix]
fec3303never exit non-zero without a message (silent-exit safety net for malformed defaults/recipes). - [Fix]
f53c6ee/0e7abd5restoresearch_pathfor single-package builds;5dd6b22usepython3. - [Improvement]
a7d0a2faccept flat (header-less)bits.rc;a7afc92CI README-path fix.
- [Fix]
6f30d4fROOT: use external bits zstd (-Dbuiltin_zstd=OFF) so ROOT 6.40 findszdict.h. - [Improvement]
a11558areduce ROOTmem_per_jobto 1250;05a4eefbump bits-recipe-tools version. - [Improvement] bits-recipe-tools
a441d2bModuleRecipeguardslib/lib64/pkgconfig/site-packagespath entries on existence.
- [Feature] Conditional variables and architecture-gated overrides:
pkg:matcherrequires/patches, version-gating (including on the depending package's own version),(?VAR)variable-conditional requires,&&/||matchers,--flavourbuild-wide variables, and defaults-profile variables expanded in recipe bodies. - [Improvement] Defaults-chain hardening: deep-merge across
a::b::c,releaseas the implicit base,old::newoverrides, YAMLincludesharing, str→list normalisation, flatname = valueoverrides, and a non-hashedsystem:block for build-host policy.
- [Feature] Bounded parallel builds under
--builderswith builder-aware$JOBSdivision;--build-nicepriority ladder + straggler-renice watchdog (incl. inside Docker); overlap source downloads with compilation;--auto-resourcesmeasurement-driven scheduling; per-package resource monitoring + thebits statsreport. - [Fix] First macOS available-RAM under-report fix (throttled
-j); memory cap + CPU-oversubscribe per-builder share.
- [Feature] Auto-apply
patches:after checkout; re-extract when the patch set changes;%(name)s/%(version)ssubstitution in source URLs; opt-out for automatic patching; local sources from a package repo dir. - [Fix] Many extraction-correctness fixes (strip-components off-by-one, single-file archives,
--batchto stop interactive reversal, stale sentinel, dirty-tree re-extraction).
- [Feature] Repository-provider mechanism + source-checksum features; bootstrap
alidistby default when no recipe repo is given; templated CVMFS layout (cvmfs_dir/install_dir/module_dir); pipeline template-mode relocation publish; relocate text files carrying hard-coded build paths. - [Improvement] Manifest schema v3 records patches, resolved variables, and the effective architecture per package.
- [Feature]
--brew/bits brew(generate a Homebrew Brewfile from recipes); macOS sandbox (SBPL) profile +sandbox_networkdefault; doctor Xcode-CLT/XQuartz checks; emitDYLD_LIBRARY_PATHon macOS (reconstructed from deps) andLD_LIBRARY_PATHon Linux (not both).
- [Feature]
bits qfast CVMFS module listing via the serving catalog; RECC support; build hooks; exclude recipe comments/blank lines from the build hash. - [Fix] Broad robustness: clean error messages instead of raw crashes, propagate the real recipe exit code (no masking to 1), never hang at end-of-run on a raised exception, surface cmake find-failure detail, concise
--buildersfailure summary; Python 3.8–3.14 compatibility.
- [Feature] New helper hierarchy:
CMakeRecipe,PythonRecipe/PythonPipRecipe,MesonRecipe,AutoToolsRecipe,MakeRecipe,BinaryRecipe,MetaRecipe,ModuleRecipe,PreloadRecipe,HomebrewRecipe; shared helpersBitsArch,BitsPython,BitsMacOS,BitsPatch;SetBuildEnv/CMAKE_PREFIX_PATHconstruction; per-target DYLD/LD handling.
-
[Feature]/[Improvement] Build-out and maintenance of the LCG/Key4hep stack in bits-native form: hundreds of package recipes added and iterated, with recurring gcc15 / Python-3.13 / macOS build fixes, converging onto the bits-recipe-tools helpers and the from-modules build env.
Omitted: merge / auto-PR-fix commits (
0f93f16,c346ecc,90bfad4,38b0279,40239a9).