On 7/14/2014 9:18 PM, Devin Teske wrote: > Author: dteske > Date: Tue Jul 15 02:18:55 2014 > New Revision: 268641 > URL: http://svnweb.freebsd.org/changeset/base/268641 > > Log: > Fix an issue with service(8) where utilities such as screen(1) and tmux(1) > would behave differently when utilizing rc-script was invoked manually vs. > service(8). The issue being that these utilities require the TERM environ > variable to be set and service(8) was not passing it down. > > Reported by: Michael Dexter <edi...@callfortesting.org> > PR: bin/191869 > Reviewed by: allanjude > MFC after: 3 days > X-MFC-to: stable/10, stable/9 > > Modified: > head/usr.sbin/service/service.sh > > Modified: head/usr.sbin/service/service.sh > ============================================================================== > --- head/usr.sbin/service/service.sh Tue Jul 15 01:03:29 2014 > (r268640) > +++ head/usr.sbin/service/service.sh Tue Jul 15 02:18:55 2014 > (r268641) > @@ -139,7 +139,7 @@ cd / > for dir in /etc/rc.d $local_startup; do > if [ -x "$dir/$script" ]; then > [ -n "$VERBOSE" ] && echo "$script is located in $dir" > - exec env -i HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin > $dir/$script $* > + exec env -i HOME=/ PATH=/sbin:/bin:/usr/sbin:/usr/bin > TERM="$TERM" $dir/$script $* > fi > done > >
Hm, I'm not sure about this. The "behaves differently" is exactly the reason for service(8). It runs with a clean environment such as the boot does. Running an rc script without service(8) will give wrong behavior in many scripts that do not match boot-time behavior. As far as I can tell, TERM is not set on boot. So the rc script would also not work on boot. So this change is wrong. -- Regards, Bryan Drewery
signature.asc
Description: OpenPGP digital signature