this probably would have been noticed anyway, unless there is something very
strange on my system, and i did everything by the book (manual).

ports(7) leads me to believe this should work, particularly /etc/mk.conf

     In the following list, each target will run the preceding targets in
     order automatically.  That is, build will be run (if necessary) by
     install, and so on all the way to fetch.  In typical use, one will only
     run install explicitly (as normal user, with SUDO defined in
     /etc/mk.conf), or build (as user), then install (as root).

if SUDO is unset, or set but not exported, 'make' works, 'make install' fails.
if SUDO is exported, or set in mk.conf, 'make' fails, but 'make install' works.
running everything as root breaks other things (see end), though that is
probably intended.

everything has to be installed manually, which is a PITA for most ports, or
run as root, which has its obvious problems, and still breaks on some things
(groff). as it is i cannot chain build dependences (except as root, mostly).


building with clean install -current (2014-10-12)

$ pwd
/usr/ports/devel/pcre
$ export SUDO=/usr/bin/sudo
$ make
Error: sudo does not let env variables through
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2556 
'/usr/ports/pobj/pcre-8.35/.extract_started': @if [ x`SUDO_PORT_V1=ah sudo /...)
*** Error 1 in /usr/ports/devel/pcre 
(/usr/ports/infrastructure/mk/bsd.port.mk:2492 'all')
$ unset SUDO
$ make
===> pcre-8.35 depends on: groff->=1.21 -> groff-1.22.2p4
===>  Verifying specs:  c curses m readline stdc++
===>  found c.77.2 curses.14.0 m.9.0 readline.4.0 stdc++.57.0
===>  Checking files for pcre-8.35
`/usr/ports/distfiles/pcre-8.35.tar.gz' is up to date.
>> (SHA256) pcre-8.35.tar.gz: OK
===>  Extracting for pcre-8.35

.....

the same happens with /etc/mk.conf

$ cat /etc/mk.conf
SUDO=/usr/bin/sudo
$ make
Error: sudo does not let env variables through
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2556 
'/usr/ports/pobj/pcre-8.35/.extract_started': @if [ x`SUDO_PORT_V1=ah /usr/b...)
*** Error 1 in /usr/ports/devel/pcre 
(/usr/ports/infrastructure/mk/bsd.port.mk:2492 'all')
$ sudo rm /etc/mk.conf
$ make
===> pcre-8.35 depends on: groff->=1.21 -> groff-1.22.2p4
===>  Verifying specs:  c curses m readline stdc++
===>  found c.77.2 curses.14.0 m.9.0 readline.4.0 stdc++.57.0
===>  Checking files for pcre-8.35
`/usr/ports/distfiles/pcre-8.35.tar.gz' is up to date.
>> (SHA256) pcre-8.35.tar.gz: OK
===>  Extracting for pcre-8.35

.....


and if SUDO is not set, or not exported, 'make install' will fail as expected.

===>  Installing wget-1.15 from /usr/ports/packages/i386/all/
Fatal error: pkg_add must be run as root
 at /usr/libdata/perl5/OpenBSD/AddDelete.pm line 62.
*** Error 25 in . (/usr/ports/infrastructure/mk/bsd.port.mk:1980 
'/var/db/pkg/wget-1.15/+CONTENTS': @if /usr/sbin/pkg_info -e wget-1.15; the...)
*** Error 1 in /usr/ports/net/wget 
(/usr/ports/infrastructure/mk/bsd.port.mk:2492 'install')
$ cat /etc/mk.conf
cat: /etc/mk.conf: No such file or directory
$ sudo ksh -c 'echo "SUDO=/usr/bin/sudo" >/etc/mk.conf'
$ cat /etc/mk.conf
SUDO=/usr/bin/sudo
$ make install
===>  Installing wget-1.15 from /usr/ports/packages/i386/all/
wget-1.15: ok


and running everything as root break other things:

# pwd
/usr/ports/textproc/groff
# make package
===>  Checking files for groff-1.22.2p4
`/usr/ports/distfiles/groff-1.22.2.tar.gz' is up to date.
>> (SHA256) groff-1.22.2.tar.gz: OK
===>  Verifying specs:  c m stdc++
===>  found c.77.2 m.9.0 stdc++.57.0
===>  Extracting for groff-1.22.2p4

.....

Installing /usr/ports/textproc/groff/pkg/README as 
/usr/ports/pobj/groff-1.22.2/fake-i386/usr/local/share/doc/pkg-readmes/groff-1.22.2p4
===>  Building package for groff-1.22.2p4
Create /usr/ports/packages/i386/all/groff-1.22.2p4.tgz
Error: no @owner for /usr/local/share/doc/pkg-readmes/groff-1.22.2p4 (thevoid)
Error: modes don't match for /usr/local/share/doc/pkg-readmes/groff-1.22.2p4
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:1963 
'/usr/ports/packages/i386/all/groff-1.22.2p4.tgz')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2512 
'_internal-package')
*** Error 1 in /usr/ports/textproc/groff 
(/usr/ports/infrastructure/mk/bsd.port.mk:2492 'package')

Reply via email to