cvs commit: src/usr.bin/su su.c

Brian Somers brian at FreeBSD.org
Sun Sep 3 20:40:58 UTC 2006


On Sun, 3 Sep 2006 22:42:27 +0400 Slawa Olhovchenkov <slw at zxy.spb.ru> wrote:
> On Tue, Jan 03, 2006 at 09:17:04AM +0000, Brian Somers wrote:
> 
> > brian       2006-01-03 09:17:04 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     usr.bin/su           su.c 
> >   Log:
> >   Fix the other su bug reintroduced two commits ago, namely
> >   
> >       $ su
> >       % kill -STOP $$
> >   
> >   where su is executing (t)csh.  csh's job handling is a little more
> >   special than that of (a)sh, bash and even zsh and blows up a little
> >   more spectacularly.  This modification restores the original mucking
> >   about with the tty pgrp, but is careful to only do it when su (or
> >   su's child) is the foreground process.
> >   
> >   While I'm here, fix a STDERR_FILENO spelling as suggested by bde.
> 
> This is break 'make config' in ports tree:
> 
> > make config
> ===>  Switching to root credentials to create /var/db/ports/glib20
> ===>  Returning to user credentials
> 
> Suspended (tty output)
> 
> For sh, tcsh and other shell.
> 
> >   Revision  Changes    Path
> >   1.79      +14 -1     src/usr.bin/su/su.c

Interesting...  If I "make -dl config" in devel/glib20, I see
it's running this:

(/usr/bin/su root -c "/bin/sh -c \"/bin/mkdir -p `/usr/bin/dirname /var/db/ports/glib20/options` 2> /dev/null\"") ||  (echo "===> Cannot create `/usr/bin/dirname /var/db/ports/glib20/options`, check permissions"; exit 1)

If I run that on the command line, it works ok.  Perhaps this
is make(1) breakage.  I'll look into it a bit later when I
have some time.

-- 
Brian Somers                                          <brian at Awfulhak.org>
Don't _EVER_ lose your sense of humour !               <brian at FreeBSD.org>


More information about the cvs-all mailing list