cvs commit: src/etc rc.subr
Yar Tikhiy
yar at comp.chem.msu.su
Sat Aug 19 08:32:52 UTC 2006
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
More information about the cvs-src
mailing list