Hi,
I'm trying to get DPB to use the _pbuild user, but I'm failing. I
managed, with "-D FETCH_USER=_pfetch", to use the _pfetch user for
fetching distfiles, but DPB insists on using my personal user account
for actual building, even though I set "-D BUILD_USER=_pbuild".
I run dpb as root using doas.
/usr/ports is a symlink to /srv/ports
PORTSDIR is set to /srv/ports in /etc/mk.conf
My private user owns /srv/ports and owns everything beneath it, except:
_pfetch owns /srv/ports/distfiles (and everything beneath)
_pbuild owns /srv/ports/{logs,packages,plist,pobj} (and everything
beneath)
When I start up DPB I get
Started as: root
Port user: me
Build user: _pbuild
Fetch user: _pfetch
Log user: _pbuild
Unpriv user: _dpb
It falls over on building quirks, because
mkdir /srv/ports/pobj/locks: Permission denied at
/srv/ports/infrastructure/bin/dolock line 53.
Why doesn't DPB use _pbuild to get the locks?
If I create /srv/ports/pobj/locks as 'me', the build falls over because
the user doesn't have access to /srv/ports/packages:
quirks-2.197: rebuild
rm: /srv/ports/packages/amd64/all/quirks-2.197.tgz: Permission denied
rm: /srv/ports/packages/amd64/no-arch/quirks-2.197.tgz: Permission
denied
rm: /srv/ports/packages/amd64/ftp/quirks-2.197.tgz: Permission denied
rm: /srv/ports/packages/amd64/cdrom/quirks-2.197.tgz: Permission denied
*** Error 1 in devel/quirks
(/srv/ports/infrastructure/mk/bsd.port.mk:3052 '_internal-clean')
This makes me think it's using 'me' as the BUILD_USER, not _pbuild.
Changing the owner of /srv/ports to _pbuild (something I'd like to
avoid) allows DPB to progress a bit further, but it then falls over
when it comes to "~devel/quirks(show-size)" with
Can't use an undefined value as a symbol reference at
/usr/ports/infrastructure/lib/
DPB/Job/Port.pm line 729, <__ANONIO__> line 2.
DPB::Task::Port::ShowSize::finalize(DPB::Task::Port::ShowSize=HASH(0xf880379b
928), D
PB::Core=HASH(0xf877696b208)(localhost:devel/quirks)) called at
/usr/ports/infrastructure/lib/DPB/Core.pm line 316
DPB::Core::WithJobs::continue(DPB::Core=HASH(0xf877696b208)(localhost:devel/q
uirks))
called at /usr/ports/infrastructure/lib/DPB/Core.pm line 212
DPB::Core::Abstract::reap_kid(DPB::Core, 8962) called at
/usr/ports/infrastructure/l
ib/DPB/Core.pm line 225
DPB::Core::Abstract::reap(DPB::Core) called at
/usr/ports/infrastructure/bin/dpb lin
e 156
main::handle_non_waiting_jobs(DPB::Core) called at
/usr/ports/infrastructure/lib/DPB
/Grabber.pm line 80
DPB::Grabber::finish(DPB::Grabber=HASH(0xf87d4cdf328), HASH(0xf8773514af0))
called a
t /usr/ports/infrastructure/lib/DPB/Grabber.pm line 170
DPB::Grabber::__ANON__(HASH(0xf8773514af0)) called at
/usr/ports/infrastructure/lib/
DPB/Vars.pm line 114
DPB::Vars::__ANON__(HASH(0xf8773514af0)) called at
/usr/ports/infrastructure/lib/DPB
/Vars.pm line 149
DPB::Vars::grab_list(DPB::Vars,
DPB::Core=HASH(0xf877696b0d0)(localhost:LISTING), DP
B::Grabber=HASH(0xf87d4cdf328), HASH(0xf8839f53f40), GLOB(0xf882f1d3d30),
fetch, COD
E(0xf87fbafa3d0)) called at /usr/ports/infrastructure/lib/DPB/Grabber.pm line
171
DPB::Grabber::complete_subdirs(DPB::Grabber=HASH(0xf87d4cdf328),
DPB::Core=HASH(0xf8
77696b0d0)(localhost:LISTING)) called at /usr/ports/infrastructure/bin/dpb
line 251
Invocation of DPB:
doas dpb -c -u -U -s \
-b "%f/build-stats/%a" \
-S "%L/size.log" \
-D BUILD_USER=_pbuild \
-D FETCH_USER=_pfetch \
-D COLOR \
-P subdirlist.txt \
-p 3 \
-J 0
What am I doing wrong?
Cheers,
--
Andreas Kusalananda Kähäri, Bioinformatics Developer, Uppsala, Sweden
OpenPGP: url=https://db.tt/2zaB1E7y; id=46082BDF
------------------------------------------------------------------------
[demime 1.01d removed an attachment of type application/pgp-signature which had
a name of signature.asc]