Hi Didier,

Didier Wiroth wrote on Thu, Jan 25, 2007 at 10:52:04AM +0100:

> I can't "make build" with:
> nice make SUDO=sudo build
> or
> nice make SUDO=/usr/bin/sudo build
> 
> My mk.conf has the following entries:
> SUDO=/usr/bin/sudo

You need not state the same thing twice.

If you define SUDO in mk.conf(5), you do not need it once more
on the command line.  Just say `nice make build`.

> I'm member of the wheel group which has has the following entry in the 
> sudoers file:
> %wheel  ALL=(ALL)       NOPASSWD: ALL
> 
> The permissions on /usr/src is:
> drwxr-xr-x  17 root  wheel   512B Jan  3 09:23 src

Even when using SUDO, you need write access to the source and 
object trees.  There are two major ways to get this write access:
Either you make the source tree group wsrc and group-writeable,
or you unpack the source tree using your own login id in the
first place.

Here you see both techniques in use:

[EMAIL PROTECTED] $ cd /usr/                                               
[EMAIL PROTECTED] $ ls -ald . src/ ports/ obj/
drwxr-xr-x  16 root      wheel   512 Jan  6 22:10 .
drwxrwxr-x  15 root      wsrc    512 Jan 24 21:14 obj/
drwxr-xr-x  47 schwarze  wsrc   1536 Jan 24 20:26 ports/
drwxrwxr-x  18 root      wsrc    512 Jan 24 21:16 src/
[EMAIL PROTECTED] $ grep wsrc /etc/group
wsrc:*:9:schwarze
[EMAIL PROTECTED] $ grep SUDO /etc/mk.conf                                 
SUDO?=/usr/bin/sudo
[EMAIL PROTECTED] $ grep wsrc /etc/sudoers                                 
%wsrc   athene=NOPASSWD: /usr/bin/make

I did not try whether doing make obj as root and then changing
the owner or group of /usr/obj would suffice - in any case,
even if that works, i don't think it would be too useful.
For cvs update, you need write access to the tree, anyway.

> Here is the error:
> $ nice make SUDO=sudo build
[...]
> /usr/bin/lndir -s -e obj -e obj.i386 -e Makefile.bsd-wrapper 
> /usr/src/usr.sbin/httpd
> lndir: cgi-bin: Permission denied
[...]

This looks like missing write access to /usr/obj/usr.sbin/httpd/.
As far as i know, make obj neither needs nor uses SUDO.

Good luck,
  Ingo

Reply via email to