On Mon, 25 Jan 2016 17:29:51 +0100 Bastien Traverse <neitsab@xxxxxxxxxxxx> wrote: > Hi, > > I opened FS#47893 [1] to discuss this issue, but it's been closed with > no delay and I can't really have a discussion via re-opening requests. > > Upon installation of the tor package, directory /var/lib/tor is created > (see PKGBUILD#40 [2]). Upon uninstallation, it is automatically deleted > **only if empty**: > > # pacman -S tor > # touch /var/lib/tor/test > # pacman -Rns tor > # ls -lah /var/lib/tor > total 8,0K > drwx------ 2 tor tor 4,0K 25 janv. 16:50 . > drwxr-xr-x 39 root root 4,0K 25 janv. 16:50 .. > -rw-r--r-- 1 root root 0 25 janv. 16:50 test > > # rm -rf /var/lib/tor > > # pacman -S tor > ... > (1/1) installing tor > error: command failed to execute correctly > ... > # pacman -Rns tor > # ls -lah /var/lib/tor > ls: cannot access /var/lib/tor: No such file or directory > > However, tor user and group (UID/GID 43) created via post_install() hook > [3] are not removed: > > # pacman -Rns tor > $ id tor > uid=43(tor) gid=43(tor) groupes=43(tor) > > This makes shadow.service fail at bootup: > > pwck[718]: tor user: directory « /var/lib/tor » does not exist > pwck[718]: pwck : no change > systemd[1]: shadow.service: Main process exited, code=exited, > status=2/INVALIDARGUMENT > systemd[1]: Failed to start Verify integrity of password and group files. > systemd[1]: shadow.service: Unit entered failed state. > systemd[1]: shadow.service: Failed with result 'exit-code'. > > Same for pwck. > > What I asked in FS#47893 was to add a post_uninstall() hook to remove > tor user (e.g. with `userdel tor`), so that **if /var/lib/tor has been > deleted automatically** because it was empty, pwck doesn't trip on home > dir verification. > > Note that if /var/lib/tor isn't empty, `userdel tor` would merely remove > the user entry and not delete its home directory (-r switch). Therefore, > no data loss. Moreover, I believe it is possible to condition user > deletion on directory existence (e.g. `if [ ! -e /var/lib/tor ]; then > userdel tor; else :`), so that could do it too. > > Reason for closing was "Not a bug / So fix it. This isn't something that > can be dealt with automatically". I fail to see how it is so, but if I'm > wrong please tell me so and why. > > Thanks, > Bastien > > [1] https://bugs.archlinux.org/task/47893 > [2] > https://projects.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/tor#n40 > [3] > https://projects.archlinux.org/svntogit/community.git/tree/trunk/tor.install?h=packages/tor Dev discussion here: vhttps://lists.archlinux.org/pipermail/arch-dev-public/2015-February/026953.html