Bug #3178
[parabola-repolint]: failed to detect registered, but missing package file
33%
Description
- steps to reproduce:
# pacman -S lua53-lgi
- expected result:
lua53-lgi installs properly
- actual result:
# pacman -S lua53-lgi .... extra/lua53 5.3.6-1 1.05 MiB community/lua53-lgi 0.9.2-7 0.66 MiB 0.23 MiB .... :: Retrieving packages... lua53-lgi-0.9.2-7-x86_64.pkg.tar.zst failed to download error: failed retrieving file 'lua53-lgi-0.9.2-7-x86_64.pkg.tar.zst' from repo.parabola.nu : The requested URL returned error: 404 warning: failed to retrieve some files error: failed to commit transaction (failed to retrieve some files) Errors occurred, no packages were upgraded.
Subtasks
History
Updated by bill-auger about 2 years ago
From: bill-auger
To: dev@lists.parabola.nu
Subject: repo linter additions
Date: Thu, 10 Feb 2022 22:32:54 -0500
regarding a bug report this week (still only on the forum),
which identified a registered, but missing, package file, the
repo linter has a test which (semantically) should have detected
it; but did notpkgentry_missing_pkgfile
~~~~~~~~~~~~~~~~~~~~~~
for the list of entries in a repo.db, check whether a built package exists that
backs the entry. The check reports an issue for each repo.db entry that is not
associatable with a valid built package.so, i decided to try to account for that discrepancy (and maybe
add a few more tests) - ive setup the repo linter locally; and
made some changes to support linting my local repo mirror, (and
likewise, to use my local abslibre) rather than copying
everything into ~/.cachefor those interested, i bring your attention to the '2022-02'
branch of the repo-linter code-base - the change labeled:
'allow user-configured existing local mirror and abslibre' is
most significantother minor changes:
- renamed some cli-args/vars
- updated the pip requirements
- added the pacman requirements to the READNE
- added install instructions to the READNE
- added parabola redmine as bug report URL in the READNE
- changed upstream URL in pip package metadata from github to parabola
- removed site-specific data from parabola-repolint.conf.exampleadditionally, (TODO) the current repo-linter checks only for
files which should be in the repo, according to the .db files -
several more checks will be needed in order to cleanup
stray/orphaned files, such as the stray .sig which caused
upstream imports to fail last week - a rough estimate suggest
that there may be several hundred such stray files - these new
checks should approach from the opposite direction, focusing on
the actual files on disk, correlating those to the .db files,
and reporting the rest as cruft
Updated by bill-auger about 2 years ago
after looking over the code (enough to get it running), my broad impression is that parabola-repolint seems to take the .db files as canonical, and check the files on disk for conformance against the DB - thats why i consider this a bug against the existing parabola-repolint - it appears to have been designed to catch this class of problem, but somehow missed it
analyzing the final paragraph of that email, the existing parabola-repolint checks are the "top-down" approach, where those litter files require the "bottom-up" approach - i may open a new ticket for that later, if i make any progress in that direction
Updated by bill-auger about 2 years ago
the repo linter is nearly ready to report these inconsistencies
there are other missing packages without bug reports (not sure how many yet)
- core/os/armv7h/expat-2.4.4-1-armv7h.pkg.tar.xz
- also a similar problem with the current x86_64 'xjadeo', is causing the 'community' import to fail for the past few days - that is the cause of #3191 - the 'ffmpeg' required by 'mpv' is stuck in community-testing