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]

Reply via email to