You are not logged in.
Allan had problems with his webhost: http://identi.ca/notice/87871795 After I have added
[allanbrokeit]
Server = http://allanmcrae.com/$repo/$arch
to my pacman.conf, I couldn't use update and install packages anymore:
[karol@black ~]$ pacman -Syu
warning: database file for 'allanbrokeit' does not exist
:: Synchronizing package databases...
testing is up to date
community-testing is up to date
core is up to date
extra is up to date
community is up to date
error: failed retrieving file 'allanbrokeit.db' from allanmcrae.com : The requested URL returned error: 404
error: failed to update allanbrokeit (download library error)
:: Starting full system upgrade...
error: failed to prepare transaction (could not find database)
[karol@black ~]$ pacman -S hdparm
warning: database file for 'allanbrokeit' does not exist
error: failed to prepare transaction (could not find database)
hdparm is in [core]. pacman 3.5.4-4 throws a bunch of errors
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
error: could not open file /var/lib/pacman/sync/allanbrokeit.db: Failed to open '/var/lib/pacman/sync/allanbrokeit.db'
but works and allows me to update and install stuff.
Is it a feature of pacman 4?
Allan's repo seems to be already back online, so you have to test it with some nonexistent repo & db.
Last edited by karol (2012-01-07 22:48:29)
Offline
There appears to be nothing wrong with pacman. It cannot download the database for that one repo, and it seems to error out on that. Try disabling the repo and see if that works?
Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
Offline
There appears to be nothing wrong with pacman. It cannot download the database for that one repo, and it seems to error out on that. Try disabling the repo and see if that works?
Yes, commenting out the repo works, the error messages are clear enough.
Still, pacman 3 works w/o commenting the repo out and I'm curious why pacman 4 does not.
Offline
Maybe file a bug report?
Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
Offline
I thought somebody here will enlighten me if it's really a bug, a feature or user error ;P
Offline
Smells like defective by design... Just because one repo is out of order doesn't mean the others couldn't be working.
Last edited by .:B:. (2012-01-01 04:04:12)
Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy
Offline
Wow - my website got fixed!
Anyway... I think this was a "feature". Pacman initializes itself fully (including databases) before doing anything, that way all databases are checked for valid signatures. If that fails for any reason, then pacman quits.
Imagine that my repo was called "security" and all security updates went there. Then an attack could be caused by disabling that repo somehow. Good example... Not sure. Maybe bring this up on pacman-dev.
Offline
Allan, you could ask the user if he wants to continue with some repos disabled.
Or, you could make it a configuration option: Continue|Abort|Ask.
Ask should probably fallback to Abort if asking is not possible (libalpm? packagekit?).
Offline
E-mail to pacman-dev sent: http://mailman.archlinux.org/pipermail/ … 14943.html
Offline
Dan responded to my e-mail:
Yes, this was mostly an intended change.
Note that you can do an -R operation (or anything not requiring sync databases) just fine. However, once we hit any machinery that requires sync databases to be present, we require all configured ones are accounted for. This is for a few reasons:
1) dependency resolving if you have 1 out-of-date database and 4 up-to-date ones, things can get ugly or messed up.
2) integrity- if you insist on a database being signed, we'd rather not proceed with nothing.
3) replay attacks- what you don't fully see in the above situation is we also validate the signature on the database at load time; if that were to fail we'd also bail out. This is so pacman is capable of verifying the expiration time on a database signature; it makes sense to only allow database signatures to be valid for a week at a time so people know they have out-of-date repo metadata.
Closing.
Offline