On Mon, Oct 13, 2014 at 04:59:42AM -0400, [email protected] wrote:
> 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).

Make sure you are in the wsrc group.
Or you can set 'SUDO=sudo -E' in mk.conf instead.

> 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')
> 

-- 
Antoine

Reply via email to