FS#20894 - [filesystem] (2010.09-1 -> 2010.07-1) produces error with mounted cd
Attached to Project:
Arch Linux
Opened by jwbirdsong (jwbirdsong) - Sunday, 19 September 2010, 23:23 GMT
Last edited by Allan McRae (Allan) - Friday, 03 December 2010, 14:27 GMT
Opened by jwbirdsong (jwbirdsong) - Sunday, 19 September 2010, 23:23 GMT
Last edited by Allan McRae (Allan) - Friday, 03 December 2010, 14:27 GMT
|
Details
Description:
As title says; recent update if filesystem pkg fails IF you have a cd mounted. I asked around (IRC) before filing to see if this was expected behaviour. I can see it going either way. Pacman error attached. Please forgive if this is expected. Steps to reproduce: mount a data cd and update 'filesystem' package |
This task depends upon
Closed by Allan McRae (Allan)
Friday, 03 December 2010, 14:27 GMT
Reason for closing: Fixed
Additional comments about closing: filesystem-2010.10-1
Friday, 03 December 2010, 14:27 GMT
Reason for closing: Fixed
Additional comments about closing: filesystem-2010.10-1
However, in general I think directories like /media/cd or /media/fd shouldn't be provided by the filesystem package.
Two options to fix:
1) remove those folders from the filesystem package (as Pierre suggests)
2) from the pacman side: Perhaps directories that are in both the old and new packages should be skipped in the rw check. We do not fail on an attempted delete of a directory anyway as we assume it contains files from other packages. But it will give the usual directory permissions differ blurb.
These options do not clarify whether it is a packaging issue or a pacman issue or both...
/* If we fail write permissions due to a read-only filesystem, abort.
* Assume all other possible failures are covered somewhere else */
We could skip that check for _folders_ that are in both the old and the new package as they do not need removed.
Edit: or at least it does not matter if they are failed to be removed as is shown later in remove.c...
if(S_ISDIR(buf.st_mode)) {
if(rmdir(file)) {
/* this is okay, other packages are probably using it (like /usr) */
...
FS#21971for tracking this in pacman.