pat-s
fe5c57eb10
fix(abi): prune flat-slot binaries of ABI-risky packages
...
upload_single_binary() writes an ABI-risky package only to the per-minor slot,
so a risky package should have no flat binary at all. Packages built before they
were classified risky still do, and the flat slot is what every client that
cannot be routed by R minor receives.
Such a binary was built under whichever R was primary at the time, so it fails
at load under any minor that has since dropped a symbol it uses. base64enc was
built under R 4.4.3, calls SETLENGTH, and R 4.6 no longer exports it:
base64enc.so: undefined symbol: SETLENGTH
Deleting the flat object does not create a hole. The source fallback republishes
the CRAN source under the same key, so the package stays installable everywhere
and compiles against the client's own R, while routed clients keep getting the
per-minor binary.
This change will:
- add local/prune-stale-flat-binaries.R, dry run unless --apply, taking either
an explicit package list or every package the classifier cache calls risky
- refuse to run on an empty risky set, which is indistinguishable from an
unreachable cache and would report success having pruned nothing
- keep any object whose package CRAN no longer ships, since there would be no
source to fall back to
- re-index and purge in the same run, because a published index naming deleted
files serves 404s rather than the source fallback
2026-09-04 10:51:47 +00:00
..
patches
fix(patches): support RcppParallel 6.2.1
2026-08-30 14:26:37 +00:00
tests
feat(rebuild): shard the weekly rebuild and make each shard resumable ( #163 )
2026-08-12 08:30:29 +00:00
archive-missed-pkgs.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
backfill-abi-classification.R
feat(abi): backfill classifier verdicts for pre-per-minor packages ( #199 )
2026-09-04 10:34:49 +00:00
build-all.R
fix(build): strip the s3 scheme so per-minor objects reach their pass ( #192 )
2026-09-02 07:11:10 +00:00
build-one.R
feat: patch registry + wiring for per-package patching ( #103 )
2026-06-30 08:50:19 +00:00
check-cdn-cache.sh
add alpine321 to scripts
2024-12-29 10:18:55 +01:00
check-NA.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
debug-packages-writing.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
dedupe-audit-issue.R
fix(audit): replace arch subsection in place instead of appending duplicates ( #138 )
2026-07-21 08:51:23 +00:00
detect-duplicates.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
excluded-packages.json
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
failing-builds-classify.R
feat(local): aggregate blocked-on-dependency reporting by dependency ( #131 )
2026-07-16 21:24:03 +00:00
failing-builds-report.R
feat(local): detect dependency-cascade failures generally, not just RcppParallel ( #128 )
2026-07-16 08:23:54 +00:00
fetch-rebuild-packages-from-issue.R
fix(audit): replace arch subsection in place instead of appending duplicates ( #138 )
2026-07-21 08:51:23 +00:00
find-R-api-packages.sh
chore(local): add S3 migration and CRAN-source helper scripts
2026-06-14 13:02:48 +02:00
install-bincraft.R
refactor: migrate package installation from pak to uvr ( #147 )
2026-07-31 12:19:26 +00:00
label-removed-cran-packages.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
last-processed-by-platform.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
migrate-s3-hetzner-to-backblaze.sh
chore(local): add S3 migration and CRAN-source helper scripts
2026-06-14 13:02:48 +02:00
missing-cran-packages-db.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
missing-cran-packages.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
missing-packages-in-index.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
packages-to-build.R
fix(build): scope the errored-package filter to the snapshot's R minor ( #194 )
2026-09-03 13:37:04 +00:00
packages-without-any-binary.R
feat: R-minor-sensitive binary builds (full + iterative) ( #84 )
2026-06-14 08:04:40 +00:00
proposal-tracking-lib.R
feat(local): aggregate blocked-on-dependency reporting by dependency ( #131 )
2026-07-16 21:24:03 +00:00
proposal-tracking.R
feat(local): aggregate blocked-on-dependency reporting by dependency ( #131 )
2026-07-16 21:24:03 +00:00
propose-patches.R
feat(local): aggregate blocked-on-dependency reporting by dependency ( #131 )
2026-07-16 21:24:03 +00:00
prune-stale-flat-binaries.R
fix(abi): prune flat-slot binaries of ABI-risky packages
2026-09-04 10:51:47 +00:00
query-pkgs-without-old-versions.R
chore(local): add S3 migration and CRAN-source helper scripts
2026-06-14 13:02:48 +02:00
r-minor-helpers.R
refactor: migrate package installation from pak to uvr ( #147 )
2026-07-31 12:19:26 +00:00
rebuild-missing-helpers.R
feat(rebuild): shard the weekly rebuild and make each shard resumable ( #163 )
2026-08-12 08:30:29 +00:00
rebuild-missing.R
feat(rebuild): shard the weekly rebuild and make each shard resumable ( #163 )
2026-08-12 08:30:29 +00:00
repair-built-stamp.R
fix(index): add a slot repair for a broken Built stamp and retire alpine 3.21 ( #150 )
2026-08-07 09:15:04 +00:00
test-package-loading.R
refactor: migrate package installation from pak to uvr ( #147 )
2026-07-31 12:19:26 +00:00
trial-build-patch.R
fix(local): make trial-build-patch.R detect non-throwing build failures ( #134 )
2026-07-18 08:37:04 +00:00
trial-build-registry.R
fix(local): make the trial-build gate detect non-throwing build failures ( #130 )
2026-07-16 08:24:03 +00:00
uvr-install.sh
fix(rebuild): harden split workflow setup ( #164 )
2026-08-13 13:38:28 +00:00
validate-patches.R
feat(local): auto-propose registry patches and track the feedback loop ( #117 )
2026-07-14 15:03:24 +00:00
weekly-missing-binaries-audit.R
fix(audit): count a source fallback as a missing binary ( #157 )
2026-08-09 10:37:41 +00:00