Hello Dan, Am Montag, den 12.10.2009, 07:20 -0500 schrieb Dan McGee:
On Mon, Oct 12, 2009 at 7:14 AM, Marc - A. Dahlhaus [ Administration | Westermann GmbH ] <mad@wol.de> wrote:
Hello List,
pacman 3.3.2 libfetch backend doesn't retrieve an updated repo via http (tested with "touch repo.db.tar.gz" on the http server) here.
I checked the http headers with curl just to be sure that my setup isn't f***ed up in some way and they are updated just fine after every touch on the file, so i has to be a problem with libfetch or pacman itself.
A local revert to pacman 3.3.0 (no build-changes or libfetch changes and the exact same build-environment) fixes this problem here so it looks like a messed up usage of libfetch in pacman 3.3.2 release.
Can someone else reproduce this behaviour?
No. I can't reproduce this *at all*, anywhere.
Because i have no clue on how to use libfetch the right way without reading the documentation and analyse the code in pacman afterwards, i hope someone else wants to hound it down.
This is one of those emails that is slightly aggravating. You tried to generalize the problem so much, assuming everyone else saw it, that you didn't include anything to even reproduce it!
sorry, i'm not a native english writer and i often loose some details during translation because of that, i'll try to clarify it below.
What mirror? What repo? What does it look like? What commands did you run? Did you try with '--debug' to see if any helpful messages showed up there during the download?
It is a local mirror served on lighttpd. Pacman 3.3.2 doesn't retrieve an regular (with repo-add or repo-remove) updated repo tarball on "pacman -Sy" even if it changed the size or was touched serval times with "touch repo.db.tar.gz" on the http server. The mtime exposed in the http response headers would be the information on which pacmans libfetch download determines if a repo was updated and should be downloaded, right? I checked with "curl -v http://server/repo.db.tar.gz" and the timestamps exposed via http header are updated after every repo update or touch on the repo file, which was the case. Steps to reproduce: client$ pavman -V # is 3.3.2 # to get the actual version before the following touch client$ pacman -Syy # update mtime on repo server$ touch repo.db.tar.gz # this is where it fails client$ pacman -Sy # it doesn't download repo and debug says: # debug: mtimes are identical, skipping repo.db.tar.gz # local downgrade to pacman 3.3.0 client$ pacman -U pacman-3.3.0-i686.pkg.tar.xz client$ pavman -V # is 3.3.0 # works just fine, mtime updates are spotted client$ pacman -Sy # debug: sync: new mtime for repo: 1255352714 After the pacman -Sy calls i checked the http response headers and they stayed the same. I also deactivated ShowSize and TotalDownload options in pacman.conf for this test but it looks unrelated as it doesn't change without this non-default options. I checked 3.3.1 as well and it looks like the problem i'm facing was introduced with it. Well it could be a local problem with my environment of course, but shouldn't 3.3.0 then suffer from the same problem then? As there were some fiddling with the libfetch download code in pacman on version 3.3.1 and 3.3.2 i thought it might be related to that. Marc