FS#11142 - Repositories' packages.txt files seem out-of-date
Attached to Project:
Arch Linux
Opened by Simon Malinge (Tapi) - Thursday, 07 August 2008, 11:16 GMT
Last edited by Aaron Griffin (phrakture) - Friday, 17 October 2008, 20:36 GMT
Opened by Simon Malinge (Tapi) - Thursday, 07 August 2008, 11:16 GMT
Last edited by Aaron Griffin (phrakture) - Friday, 17 October 2008, 20:36 GMT
|
Details
Description:
Hi, Each repository's packages.txt file should list the packages filenames of the current repository, but it seems that several filenames are incorrect, because of out-of-date versions. I noticed this while trying to install Arch on a dedicated server (thus, without a screen) using a custom bootstrap script which relies on this file ; the script failed to download some required packages, because of 404 errors. As I run an official mirror which synchronizes directly on rsync.archlinux.org, I launched a sync to find out if this was not a mirroring problem, but when the sync finished the files were still out-of-date. I wrote a quick and dirty shell script to list out-of-date package versions in the packages.txt file. The last run of this script gave me more than 1600 out-of-date package versions and vanished packages... It's awefully slow, you've been warned ;) # Just run this script at the root of your packages mirror tree for txt in `find . -name packages.txt | grep -v setup` do dirname=`dirname $txt` for pkg in `sed 's!.*/!!' $txt` do if [ "${pkg%.pkg.tar.gz}" != "$pkg" ]; then if [ ! -f "$dirname/$pkg" ]; then repo=`echo $dirname | cut -d/ -f2` arch=`echo $dirname | cut -d/ -f4` pkg=${pkg%.pkg.tar.gz} pkg=${pkg%-i686} pkg=${pkg%-x86_64} pkgname=${pkg%-*-*} txtpkgver=${pkg#$pkgname-} repopkg=$(basename $(echo $dirname/$pkgname-*.pkg.tar.gz | tr ' ' '\n' | head -1)) if [ -f "$dirname/$repopkg" ]; then repopkg=${repopkg%.pkg.tar.gz} repopkg=${repopkg%-i686} repopkg=${repopkg%-x86_64} repopkgver=${repopkg#$pkgname-} echo "$repo/$pkgname is out-of-date in packages.txt (txt: $txtpkgver | repo: $repopkgver)" else echo "$repo/$pkgname no longer exists for the $arch arch !" fi fi fi done done Additional info: * This "bug" concerns the 'core' and 'extra' repositories Steps to reproduce: Go on your favorite mirror with your web browser (or any other access method), open /core/os/i686/packages.txt, write down the bash version stored in this file, and notice that the version doesn't match the actual version of the bash package in the repository. |
This task depends upon
Closed by Aaron Griffin (phrakture)
Friday, 17 October 2008, 20:36 GMT
Reason for closing: Works for me
Additional comments about closing: See final comments. packages.txt is no longer used.
Friday, 17 October 2008, 20:36 GMT
Reason for closing: Works for me
Additional comments about closing: See final comments. packages.txt is no longer used.
Why is your mirror syncing based on that file? It should be using rsync
You can get the same info from "pacman -Sl core" and "pacman -Sl extra"
I plan on pushing out a new ISO asap (maybe this weekend, or next). Dan & Simo - does the latest installer package still read packages.txt?
grep for packages.txt
it does not.