FS#70065 - pacman: strange behavior during update process
Attached to Project:
Pacman
Opened by Karl-Heinz Strobl (Koarl) - Thursday, 18 March 2021, 13:55 GMT
Last edited by Eli Schwartz (eschwartz) - Thursday, 18 March 2021, 14:04 GMT
Opened by Karl-Heinz Strobl (Koarl) - Thursday, 18 March 2021, 13:55 GMT
Last edited by Eli Schwartz (eschwartz) - Thursday, 18 March 2021, 14:04 GMT
|
Details
Summary and Info:
These days I did a system update as a hundreds of times before via "sudo pacman -Syu". There where let's say 20 packages to upgrade. One of these packages was broken (ruby-mocha, I did bug report today). Pacman did not update any of the "good" packages because of that one single "bad" package. The next day there where let's say 50 packages to upgrade with one "bad" package (ruby-mocha). Pacman again did not apply any of the updates because of one single broken package. I could have done so until there would have been hundreds of packages to upgrade and pacman still refusing to update because of one single small broken package. Of course I bypassed the problem by invoking "sudo pacman -Syu --ignore ruby-mocha" so that pacman upgraded all the other "good" packages. But in my opinion this behavior of pacman makes absolutely no sense at all. It would make much more sense to install all the correct packages and discard the one and only broken package without forcing the user to solve this problem by himself. This nonlogical behavior can also cause security problems when critical and important bug fixes can't be applied because of a small error in a little and unimportant package. I hope that makes sense and sorry if there are linguistic mistakes because I am a german Arch-lover. Steps to Reproduce: Try to update a bunch of packages with one of them being broken. |
This task depends upon
Closed by Eli Schwartz (eschwartz)
Thursday, 18 March 2021, 14:04 GMT
Reason for closing: Won't implement
Thursday, 18 March 2021, 14:04 GMT
Reason for closing: Won't implement
I don't see how this is "critical" just because you misinterpret it as a security bug because you want to make it sound scary.
Manually ignoring a problematic package that you've decided is not mission-critical is the correct approach on distributions unlike archlinux -- i.e. distributions that support partial upgrades.
Fixing your keyring is the correct approach on archlinux, since there is a high risk that you've probably broken any packages depending on the ignored package. If you're having a hard time with this, use the user help forums (or IRC, or the mailing list), there are many people eager to help you out.
Cavalierly committing a database transaction with knowingly broken integrity that contradicts the original intention of the user (-Syu) is not an option and pacman will not be modified to do this.