Subject: [Fwd: (b)make replace leaves ${WRKDIR}/.pkgdb owned by root]
To: None <tech-pkg@netbsd.org>
From: Mark E. Perkins <perkinsm@bway.net>
List: tech-pkg
Date: 08/12/2007 11:35:13
In an off-list exchange with gdt@ on this, he suggested posting some
additional info here.  So here's a synopsis along with listings of what's
left behind by replace.


I'm still seeing one problem with '(b)make replace'.  During 'replace',
${WRKDIR}/.pkgdb is created that is owned by root, so a subsequent
'bmake clean' (as a normal user) generates a batch of 'Permission denied'
complaints when trying to 'rm' the files there.

pkgsrc is from HEAD about ~0915UTC on 2007-08-12, and I rebuilt pkg_install
to ensure that I have the bleeding edge:

-> pkg_info | grep pkg_install
pkg_install-20070810 Package management and administration tools for pkgsrc

It makes no difference whether replace is done as root or as mortal.
In both cases, .pkgdb is there with the same files at the end of replace
(dir and files owned by root).

I have output from a 'replace' run as mortal with PKG_DEBUG_LEVEL=1 if
it's helpful.

Cheers,
Mark

======================================================================
-> pwd
/usr/pkgsrc/devel/p5-Devel-Symdump
-> ls -ld work/.pkgdb
drwxr-xr-x   9 root  staff  306 Aug 12 09:51 work/.pkgdb/
-> ls -l work/.pkgdb/
total 56
-rw-r--r--   1 root  staff  2219 Aug 12 09:51 +BUILD_INFO
-rw-r--r--   1 root  staff   334 Aug 12 09:51 +BUILD_VERSION
-rw-r--r--   1 root  staff    56 Aug 12 09:51 +COMMENT
-rw-r--r--   1 root  staff  1049 Aug 12 09:51 +CONTENTS
-rw-r--r--   1 root  staff   193 Aug 12 09:51 +DESC
-rw-r--r--   1 root  staff     9 Aug 12 09:51 +SIZE_ALL
-rw-r--r--   1 root  staff     6 Aug 12 09:51 +SIZE_PKG
-> bmake clean
===> Cleaning for p5-Devel-Symdump-2.0700
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+BUILD_INFO: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+BUILD_VERSION: Permission
denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+COMMENT: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+CONTENTS: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+DESC: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+SIZE_ALL: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb/+SIZE_PKG: Permission denied
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work/.pkgdb: Directory not empty
rm: /usr/pkgsrc/devel/p5-Devel-Symdump/work: Directory not empty
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/devel/p5-Devel-Symdump