external: drop the $Version floors from aptly GLOBs - #489
Merged
Merged
Conversation
DO NOT MERGE before armbian/armbian.github.io#463. These floors exist to stop the aptly mirror fetching an upstream's whole back catalogue. #463 makes the mirror filter pin each package to the exact newest version in the index, which bounds the download far more tightly than any floor, so the floors become dead weight. Checked against the live index of every affected source, replicating pin_newest()'s logic (entries > names, names <= 500): code 358 versions / 3 names pin engages edge 761 versions / 4 names pin engages zulu 2884 versions / 276 names pin engages firefox 305 versions / 289 names pin engages thunderbird 305 versions / 289 names pin engages google-chrome 5 versions / 5 names declines urbackup 1 version / 1 name declines zoom 1 version / 1 name declines The three that decline do so because the index already holds one version per name -- nothing to pin, and nothing for a floor to exclude either. So the floor is redundant in every case. A floor is also a static bound on a growing set: "code >= 1.107.0" admits 53 of today's 358 versions and will admit more every month, which is why edge (>= 142.0.3595.94-1) and firefox (>= 146.0) have already drifted well behind. The pin admits exactly one, permanently. Kept deliberately: - Every "Name (% ...)" clause. The -filter-with-deps guard is [[ $GLOB != *Name* && $GLOB != *Version* ]], so a GLOB stripped to nothing flips the mirror into dependency-closure mode, which is much larger than what was removed. - zulu's "$Version (< 22.0)". That is an upper bound meaning "stay on Zulu 21", not a size limiter. Only the >= floor is dropped. fastfetch.conf is METHOD=gh, where GLOB is never read -- its floor was already inert. Changed anyway so the remaining configs are uniform. Signed-off-by: Igor Pecovnik <igor@armbian.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
$Version (>= …)clauses in these GLOBs exist to stop the aptly mirror fetching an upstream's entire back catalogue. armbian/armbian.github.io#463 makes the mirror filter pin every package to the exact newest version in the index, which bounds the download far more tightly than a floor can, so the floors become dead weight.Every floor is redundant once #463 lands
Checked against the live index of each affected source, replicating
pin_newest()'s guards (entries > names,names <= 500):The three that decline do so because the index already holds one version per name — there is nothing to pin, and equally nothing for a floor to exclude. So the floor is redundant in every case, not just the ones the pin covers.
A floor is also a static bound on a growing set.
code >= 1.107.0admits 53 of today's 358 versions and will admit more every month; that drift is whyedge (>= 142.0.3595.94-1)andfirefox (>= 146.0)are already well behind what they were written for. The pin admits exactly one, permanently, with no maintenance.Kept deliberately
Name (% …)clause. The-filter-with-depsguard is[[ $GLOB != *Name* && $GLOB != *Version* ]], so a GLOB stripped down to nothing flips the mirror into dependency-closure mode — considerably larger than whatever the floor was excluding. Only the$Versionclauses are removed.zulu's$Version (< 22.0). That is an upper bound meaning "stay on Zulu 21", not a size limiter. Only its>=floor is dropped.Note
fastfetch.confisMETHOD=gh, whereGLOBis never read — its floor was already inert. Changed anyway so the remaining configs are uniform.Unrelated, spotted while checking
unudhcpd.confisMETHOD=aptlywithGLOB=unudhcpd— noName, noVersion— so it already runs with-filter-with-depstoday. Pre-existing and untouched here, but it may not be intended.