Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#43880 - pacman unexpectedly removes files

Attached to Project: Pacman
Opened by Sébastien Luttringer (seblu) - Thursday, 19 February 2015, 01:10 GMT
Last edited by Andrew Gregory (andrewgregory) - Wednesday, 11 March 2015, 20:21 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To No-one
Architecture All
Severity High
Priority Normal
Reported Version 4.2.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Upgrading bind to the latest version (9.10.1.P2-2) remove /var/named/root.hint in spite of:
- The /var/named/root.hint is present in both packages version (9.10.1.P1-2 and 9.10.1.P2-2)
- /var/named is not extracted. Directive in pacman.conf.

# grep ^NoExtract /etc/pacman.conf
NoExtract = var/named/
# pacman -U --noconfirm --debug /root/bind-9.10.1.P2-2-x86_64.pkg.tar.xz 2>/tmp/debug.log

I mark the file as immutable, to prevent the removing and see where the remove fail in attached log. Others files like empty.zone are not removed.

root.hint is required to start bind. As a consequence, the service fail after upgrade.
   debug.log (53.7 KiB)
This task depends upon

Closed by  Andrew Gregory (andrewgregory)
Wednesday, 11 March 2015, 20:21 GMT
Reason for closing:  Not a bug
Comment by Allan McRae (Allan) - Thursday, 19 February 2015, 04:05 GMT
Relevant section:

debug: removing old package first (bind-9.10.1.P2-2)
debug: adding etc/named.conf to the skip_remove array
debug: adding var/named/127.0.0.zone to the skip_remove array
debug: adding var/named/localhost.zone to the skip_remove array
debug: adding var/named/localhost.ip6.zone to the skip_remove array
debug: adding var/named/empty.zone to the skip_remove array
debug: "/var/named/root.hint" is not writable: Permission denied
debug: removing 446 files
debug: unlinking /var/named/root.hint
error: cannot remove /var/named/root.hint (Operation not permitted)
debug: /var/named/localhost.zone is in skip_remove, skipping removal
debug: /var/named/localhost.ip6.zone is in skip_remove, skipping removal
debug: /var/named/empty.zone is in skip_remove, skipping removal
debug: /var/named/127.0.0.zone is in skip_remove, skipping removal
debug: keeping directory /var/named/ (contains files)
Comment by Andrew Gregory (andrewgregory) - Thursday, 19 February 2015, 15:54 GMT
This is the expected behavior. As the name suggests, NoExtract only tells pacman not to *extract* those files. They are still removed with the package (including the removal of the installed package during an upgrade). You can add the file to NoUpgrade to prevent pacman from replacing the files during an upgrade.

Loading...