You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Speedups:
- aptcache: Lookup's last-resort path did a full O(n) scan of all
entries (60k+ on Debian) on every miss — and misses are the common
case during dep resolution (virtual packages). Use the existing
byBareName secondary index (scanEntryByName) instead: O(1) per miss.
- pacmandb.Sync / apkindex.Update: repo syncs were sequential; both now
fetch in parallel (errgroup, limit 4) like the dnf/apt fetchers.
apkindex parses sequentially after the parallel download phase since
Index mutation is not concurrency-safe.
Dedup:
- pkg/signing.SignerName: shared OpenPGP identity extraction; the
byte-identical copies in aptrepo/verify.go and dnfinstall/verify.go
are now thin delegators.
- pkg/shell.FilterEnv / HasEnvKey: shared scriptlet-environment
mechanics (allow-list filter + defaults); aptinstall and dnfinstall
keep their format-specific allow-lists and delegate the machinery.
- project: localArtifactExists reuses signingFormatForArtifact instead
of duplicating the artifact-extension switch.
Deliberately NOT merged: the local fileExists helpers (files.Exists
treats permission errors as "exists" — different semantics) and
stripVersionConstraint (apkindex/pkgbuild can't share a home without an
awkward new leaf package).
0 commit comments