Correct mirror - #9
Merged
Merged
Conversation
A stable BigLinux KDE build died an hour in, retrieving packages pacman had
just resolved:
error: failed retrieving file 'linux618-6.18.39-1-x86_64.pkg.tar.zst' ... 404
error: failed retrieving file 'vtk-9.6.2-3-x86_64.pkg.tar.zst' ... 404
==> ERROR: Failed to install packages to new root
BUILD_MIRROR defaulted to `http://mirrors.manjaro.org/repo/`, and manjaro-tools
appends `/${target_branch}` to it (mkchroot -B "${build_mirror}/${target_branch}",
util-iso.sh), so every request went to `repo//stable/...`. To the CDN in front of
mirrors.manjaro.org that empty path segment is a cache key of its own, and
nothing refreshes it: the core.db served under it was two weeks old and named
kernel and vtk versions the origin no longer carries, while the package files
themselves came back fresh. Measured at the time of the failure:
/repo/stable/core/x86_64/core.db Last-Modified 06 Aug linux618-6.18.42-1
/repo//stable/core/x86_64/core.db Last-Modified 23 Jul linux618-6.18.39-1
read_inputs strips trailing slashes now, so no caller can reintroduce it. The
validation pattern already rejected an empty segment anywhere else in the path.
Every build logged this, a few seconds before spending four hours ignoring it:
error: could not register 'biglinux-stable' database (database already registered)
Two places named the repositories. append_build_repos writes them into
/usr/share/manjaro-tools/pacman-<arch>.conf, and manjaro-tools then hands pacman
`cat pacman-<arch>.conf user-repos.conf` (get_pacman_conf, util-iso.sh) -- so the
[biglinux-stable] the profiles also declared arrived twice and pacman dropped the
second copy. [biglinux-update-stable], which only the profiles declared, was left
below stable instead of above it, where the packages held back from stable have to
be to win.
So append_build_repos declares update-stable for both distributions now -- it
already did for bigcommunity -- and configure_build_repos removes the profile's
user-repos.conf before buildiso reads it. The file is gone from sources/ and from
the generated profiles too; the community profiles still ship an empty one, which
is why the engine removes rather than forbids it.
No package changes hands: update-stable holds kernel-alive and latte-dock, neither
of which exists in biglinux-stable, biglinux-testing or the Manjaro repositories,
so its rank was never able to decide anything. It is ordered for the next package
that lands there, not for these two.
test_engine_repos.py covers the resulting order per distribution and branch,
including the no-duplicates property the error above was reporting.
fix: repair the two package-source defects that fail a stable build
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.
No description provided.