cvs commit: src/etc rc.subr

Yar Tikhiy yar at comp.chem.msu.su
Fri Aug 18 15:37:49 UTC 2006


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?

-- 
Yar


More information about the cvs-src mailing list