[pacman-dev] NoUpgrade issues
First off, thanks to Thomas and Travis for helping me out with this one. There is an issue with pacman and the NoUpgrade removal. Let me try to breeze over it. Files marked in the backup=() array have saved MD5 sums in pacman's db. Theses are used for comparison when upgrading. It compares the 'local' md5 sum (on the file system), the 'new' md5 sum, from the package, and the 'original' md5 sum from the database. Here is the problem: in BOTH pacman 2 and 3, when a package is marked NoUpgrade, pacman stores the 'local' md5 sum in the database instead of the 'original' md5 sums. I can see this _possibly_ being intentional, but here's where the problem occurs. When you remove NoUpgrade, the 'original' and 'local' md5 sums are the same. The comparission says "oh this file hasn't been touched since it was installed, we can overwrite it" and kills your configs. So, the proposed solution, which is the easiest: Fix pacman3 to store the correct md5 sum even if it is a NoUpgrade file. Then, we leave the NoUpgrade lines in pacman.conf and wait one release (or more) to remove them. Removing them will happen after each NoUpgrade package has been upgraded (or artificially version bumped). Those packages: initscripts module-init-tools pacman grub lilo filesystem ...and one or two others I forget... Does anyone have an issue with this solution?
So, the proposed solution, which is the easiest: Fix pacman3 to store the correct md5 sum even if it is a NoUpgrade file. Then, we leave the NoUpgrade lines in pacman.conf and wait one release (or more) to remove them. Removing them will happen after each NoUpgrade package has been upgraded (or artificially version bumped). Sounds like a good way to handle it. I would make sure this type of explanation is included in a pacman.install file when we do push pacman 3 to release.
2006/12/21, Dan McGee <dpmcgee@gmail.com>:
So, the proposed solution, which is the easiest: Fix pacman3 to store the correct md5 sum even if it is a NoUpgrade file. Then, we leave the NoUpgrade lines in pacman.conf and wait one release (or more) to remove them. Removing them will happen after each NoUpgrade package has been upgraded (or artificially version bumped). Sounds like a good way to handle it. I would make sure this type of explanation is included in a pacman.install file when we do push pacman 3 to release.
Agree. Before you explained this bug I was sure that removing NoUpgrade lines was needed since 2.9.8. Now I know why my resolv.conf was overwritten once while it was in backup and all NoUpgrade lines commented. I was sure that I didn't miss something but was very confused at that time. :) -- Roman Kyrylych (Роман Кирилич)
On 12/21/06, Roman Kyrylych <roman.kyrylych@gmail.com> wrote:
Before you explained this bug I was sure that removing NoUpgrade lines was needed since 2.9.8. Now I know why my resolv.conf was overwritten once while it was in backup and all NoUpgrade lines commented. I was sure that I didn't miss something but was very confused at that time. :)
Yeah, it's an error that happens once and only once. With no more NoUpgrade entry, the correct md5sum is written. Still, NoUpgrade IS a valid config entry and this does need to be fixed regardless. I think I may have fixed it in CVS... but I can't compile/test here.
participants (3)
-
Aaron Griffin
-
Dan McGee
-
Roman Kyrylych