Re: cvs commit: src/etc rc.subr

From: Yar Tikhiy <yar_at_comp.chem.msu.su>
Date: Sat, 19 Aug 2006 12:32:46 +0400
On Fri, Aug 18, 2006 at 10:42:40AM -0500, Brooks Davis wrote:
> On Fri, Aug 18, 2006 at 07:37:44PM +0400, Yar Tikhiy wrote:
> > On Fri, Aug 18, 2006 at 09:35:08AM -0500, Brooks Davis wrote:
> > > On Fri, Aug 18, 2006 at 06:33:11PM +0400, Yar Tikhiy wrote:
> > > > On Fri, Aug 18, 2006 at 04:13:37PM +0200, Dag-Erling Sm?rgrav wrote:
> > > > > Yar Tikhiy <yar_at_FreeBSD.org> writes:
> > > > > >   Log:
> > > > > >   The ps(1) command is unfriendly to scripts by default because
> > > > > >   it limits the width of its output to the value of $COLUMNS, or
> > > > > >   what TIOCGWINSZ reports, or 79 columns.  We should specify -ww
> > > > > >   to ps(1) so that it removes the limit and prints lines in full.
> > > > > >   Otherwise very long command pathnames could be mishandled, e.g.,
> > > > > >   by _find_processes().
> > > > > 
> > > > > or perhaps _find_processes() should use pgrep(1) instead of ps(1).
> > > > 
> > > > I considered that but had to stick to ps(1) because pgrep was in
> > > > /usr/bin while ps was in /bin.  The use of /usr/bin tools should
> > > > be very limited in rc.subr(8).  OTOH, pgrep uses /lib libs only,
> > > > which makes it possible to transfer pgrep+pkill to /bin if we can
> > > > stand the growth of / by some 50 kbytes.
> > > 
> > > I think that's appropriate since pgrep is such an obvious fit for this
> > > sort of thing.  I think we'll want to consider compatability symlinks
> > > due to existing hardcoded paths in scripts.
> > 
> > Creating the compat symlinks should be as easy as adding the following
> > lines to the Makefile:
> > 
> > SYMLINKS=	${BINDIR}/pgrep /usr/bin/pgrep
> > SYMLINKS+=	${BINDIR}/pkill /usr/bin/pkill
> > 
> > Hopefully they can be removed after a certain period of time.
> > 
> > Should we just override BINDIR in the Makefile and let the things
> > settle before requesting the repo-copy?
> 
> That's probably the best way to go.  Then we get any screaming out of
> the way before the repo surgury happens. :)

The first step is done!  Now let's wait for a little while and then
start using pgrep(1) in rc scripts so that we can retort the screams,
"Nah, it's totally impossible to return it back to /usr/bin because
the rc subsystem relies on it!" :-)

-- 
Yar
Received on Sat Aug 19 2006 - 08:32:52 UTC