[pacman-dev] [arch-dev-public] Fwd: [signoff] bash 3.2.0330-1 and filesystem 2007.11-4

Xavier shiningxc at gmail.com
Sat Dec 22 16:20:27 EST 2007

Aaron Griffin wrote:
> Please retest. This bash package overrides the previous one. Patch
> level updated, profile.bash added to backup=() array.
> Potential issue: Apparently /etc/profile is not replaced if modified.
> Can someone verify if this is fixed or not? I will investigate further
> as I fear it may be a pacman bug - if so, I'm guessing keeping
> etc/profile in BOTH backup arrays for the time being may fix this.

Just to sum up :
old bash has /etc/profile, in its backup array
old filesystem doesn't have that file

new bash doesn't have that file
new filesystem has /etc/profile, in its backup array

When doing the upgrade, the following debug logs appear :
[22:08:55] debug: file in backup array, adding to add and remove 
skiplist: etc/profile

That's line 443 of libalpm/conflict.c.There is a whole part in the file 
conflict checking to see if a file has changed hands.

Since the file was added to add skiplist, here is what happens when 
filesystem is extracted in libalpm/add.c :
[22:08:55] debug: etc/profile is in trans->skip_add, skipping extraction

So there is no profile.pacnew extracted at this point.
However, if you reinstall filesystem after that, the .pacnew will now 
show up, as usual.

I know, that was the easy part of just saying what is going on. And no 
progress on the hard part to think about a fix.

More information about the pacman-dev mailing list