Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Nov 2011 11:46:30 +0100
From:      Ed Schouten <ed@80386.nl>
To:        Peter Wemm <peter@wemm.org>
Cc:        Garrett Cooper <yanegomi@gmail.com>, arch@freebsd.org
Subject:   Re: The strangeness called `sbin'
Message-ID:  <20111111104630.GO2164@hoeg.nl>
In-Reply-To: <CAGE5yCr1oJB1HTCe2kYM5E3uP1XdzRsRdT6k9CWyVRLF4_GvtA@mail.gmail.com>
References:  <20111110123919.GF2164@hoeg.nl> <CAGE5yCr3BzWzwOAqo7wifgUTRC%2BG=2o4bDmk9H-%2BCxr=zJqYmw@mail.gmail.com> <20111110171605.GI2164@hoeg.nl> <CAGE5yCqMcHwAhXKbyEH6vUR=N14tCjkgX=RMJTdq-po92GcOMQ@mail.gmail.com> <20111110174722.GJ2164@hoeg.nl> <CAGH67wSw-aSbXdskApWdAD59TwDHW7QeYGmY4vTZaPWMubDb5w@mail.gmail.com> <CAGE5yCr1oJB1HTCe2kYM5E3uP1XdzRsRdT6k9CWyVRLF4_GvtA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--xYeFQzU4VZLrHqxU
Content-Type: multipart/mixed; boundary="2uzDqHpccQJpqF2n"
Content-Disposition: inline


--2uzDqHpccQJpqF2n
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Peter,

* Peter Wemm <peter@wemm.org>, 20111110 19:43:
> repeated shell startup (think: system(3)), or sh -c "somecommand"

I have done some testing and it seems we have little to worry about, in
my opinion. I have written a small script that copies the `true' binary
to each of the directories specified in $PATH and executes it 100.000
times. I have executed these tests on an installation where sbin is
still separate and one where it is merged. Also, I've used both a $PATH
variable that contains /sbin and one where it is removed.

Observations:
- Indeed, the running time increases when the binary to be executed is
  in a directory that is placed farther to the end of $PATH.
- Redundant directories in $PATH do cause some overhead.
- When we merge sbin with bin and the user properly removes sbin from
  his/her PATH variable, things get slightly faster than they used to
  be.
- When the user forgets to do so, the results are slightly worse than
  before.

Of course, this was just a quick way of testing things. If people want
to do more thorough tests, be my guest. I have attached an updated
version of my patch, the script I used to do the benchmark and the
results I have obtained.

--=20
 Ed Schouten <ed@80386.nl>
 WWW: http://80386.nl/

--2uzDqHpccQJpqF2n
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="nuke-sbin.diff"
Content-Transfer-Encoding: quoted-printable

Index: secure/usr.sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- secure/usr.sbin/Makefile.inc	(revision 227417)
+++ secure/usr.sbin/Makefile.inc	(working copy)
@@ -1,5 +1,5 @@
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 .include "../Makefile.inc"
Index: games/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- games/Makefile.inc	(revision 227417)
+++ games/Makefile.inc	(working copy)
@@ -1,7 +1,7 @@
 #	@(#)Makefile.inc	8.1 (Berkeley) 5/31/93
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/games
+BINDIR?=3D	/usr/bin
 FILESDIR?=3D	${SHAREDIR}/games
 WARNS?=3D		6
 DISTRIBUTION?=3D	games
Index: tools/tools/cxgbtool/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- tools/tools/cxgbtool/Makefile	(revision 227417)
+++ tools/tools/cxgbtool/Makefile	(working copy)
@@ -5,6 +5,6 @@
 NO_MAN=3D
 CFLAGS+=3D -I${.CURDIR}/../../../sys/dev/cxgb -I.
 CFLAGS+=3D -DCONFIG_T3_REGS -DCHELSIO_INTERNAL
-BINDIR?=3D /usr/sbin
+BINDIR?=3D /usr/bin
=20
 .include <bsd.prog.mk>
Index: tools/tools/vimage/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- tools/tools/vimage/Makefile	(revision 227417)
+++ tools/tools/vimage/Makefile	(working copy)
@@ -9,6 +9,6 @@
=20
 MAN=3D	vimage.8
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 .include <bsd.prog.mk>
Index: tools/tools/cxgbetool/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- tools/tools/cxgbetool/Makefile	(revision 227417)
+++ tools/tools/cxgbetool/Makefile	(working copy)
@@ -4,6 +4,6 @@
 SRCS=3D	cxgbetool.c
 NO_MAN=3D
 CFLAGS+=3D -I${.CURDIR}/../../../sys/dev/cxgbe -I.
-BINDIR?=3D /usr/sbin
+BINDIR?=3D /usr/bin
=20
 .include <bsd.prog.mk>
Index: kerberos5/usr.sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- kerberos5/usr.sbin/Makefile.inc	(revision 227417)
+++ kerberos5/usr.sbin/Makefile.inc	(working copy)
@@ -1,5 +1,5 @@
 # $FreeBSD$
=20
-BINDIR=3D	/usr/sbin
+BINDIR=3D	/usr/bin
=20
 .include "../Makefile.inc"
Index: share/man/man7/hier.7
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- share/man/man7/hier.7	(revision 227417)
+++ share/man/man7/hier.7	(working copy)
@@ -145,8 +145,6 @@
 .It Pa /lib/
 critical system libraries needed for binaries in
 .Pa /bin
-and
-.Pa /sbin
 .Pp
 .Bl -tag -width ".Pa geom/" -compact
 .It Pa geom/
@@ -157,8 +155,6 @@
 .It Pa /libexec/
 critical system utilities needed for binaries in
 .Pa /bin
-and
-.Pa /sbin
 .It Pa /media/
 contains subdirectories to be used as mount points
 for removable media such as CDs, USB drives, and
@@ -176,9 +172,6 @@
 .Xr rescue 8
 .It Pa /root/
 root's HOME directory
-.It Pa /sbin/
-system programs and administration utilities
-fundamental to both single-user and multi-user environments
 .It Pa /tmp/
 temporary files that are not guaranteed to persist across system reboots
 .It Pa /usr/
@@ -192,8 +185,6 @@
 such as Linux
 (created by
 .Xr sysinstall 8 )
-.It Pa games/
-useful and semi-frivolous programs
 .It Pa include/
 standard C include files
 .Pp
@@ -462,8 +453,6 @@
 The
 .Fx
 ports collection (optional).
-.It Pa sbin/
-system daemons & system utilities (executed by users)
 .It Pa share/
 architecture-independent files
 .Pp
@@ -645,8 +634,6 @@
 source code for contributed cryptography software
 .It Pa etc/
 source code for files in /etc
-.It Pa games/
-source code for files in /usr/games
 .It Pa gnu/
 Utilities covered by the GNU General Public License
 .It Pa include/
@@ -661,8 +648,6 @@
 files required to produce a
 .Fx
 release
-.It Pa sbin/
-source code for files in /sbin
 .It Pa secure/
 build directory for files in /usr/src/crypto
 .It Pa share/
@@ -674,8 +659,6 @@
 .Fx
 .It Pa usr.bin/
 source code for files in /usr/bin
-.It Pa usr.sbin/
-source code for files in /usr/sbin
 .El
 .El
 .It Pa /var/
Index: usr.sbin/tcpdump/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/tcpdump/Makefile.inc	(revision 227417)
+++ usr.sbin/tcpdump/Makefile.inc	(working copy)
@@ -1,6 +1,6 @@
 #	@(#)Makefile.inc	5.1 (Berkeley) 5/11/90
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		3
Index: usr.sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/Makefile.inc	(revision 227417)
+++ usr.sbin/Makefile.inc	(working copy)
@@ -1,6 +1,6 @@
 #	@(#)Makefile.inc	8.1 (Berkeley) 6/6/93
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		6
Index: usr.sbin/bootparamd/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/bootparamd/Makefile.inc	(revision 227417)
+++ usr.sbin/bootparamd/Makefile.inc	(working copy)
@@ -1,6 +1,6 @@
 #	@(#)Makefile.inc	5.1 (Berkeley) 5/11/90
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		2
Index: usr.sbin/wpa/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/wpa/Makefile.inc	(revision 227417)
+++ usr.sbin/wpa/Makefile.inc	(working copy)
@@ -1,6 +1,6 @@
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WPA_DISTDIR?=3D 		${.CURDIR}/../../../contrib/wpa/
 WPA_SUPPLICANT_DISTDIR?=3D${WPA_DISTDIR}/wpa_supplicant
Index: usr.sbin/mailwrapper/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/mailwrapper/Makefile	(revision 227417)
+++ usr.sbin/mailwrapper/Makefile	(working copy)
@@ -11,11 +11,11 @@
 .endif
=20
 .if ${MK_MAILWRAPPER} !=3D "no" || ${MK_SENDMAIL} !=3D "no"
-SYMLINKS=3D 	${BINDIR}/mailwrapper /usr/sbin/sendmail  \
-		${BINDIR}/mailwrapper /usr/sbin/hoststat  \
-		${BINDIR}/mailwrapper /usr/sbin/purgestat \
-		${BINDIR}/mailwrapper /usr/bin/newaliases \
-		${BINDIR}/mailwrapper /usr/bin/mailq
+SYMLINKS=3D 	mailwrapper ${BINDIR}/sendmail  \
+		mailwrapper ${BINDIR}/hoststat  \
+		mailwrapper ${BINDIR}/purgestat \
+		mailwrapper ${BINDIR}/newaliases \
+		mailwrapper ${BINDIR}/mailq
=20
 .if ${MK_MAILWRAPPER} =3D=3D "no" && ${MK_SENDMAIL} !=3D "no"
 SYMLINKS+=3D	/usr/libexec/sendmail/sendmail ${BINDIR}/mailwrapper
Index: usr.sbin/nologin/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- usr.sbin/nologin/Makefile	(revision 227417)
+++ usr.sbin/nologin/Makefile	(working copy)
@@ -4,7 +4,7 @@
 PROG=3D	nologin
 MAN=3D	nologin.5 nologin.8
=20
-SYMLINKS=3D	${BINDIR}/nologin /sbin/nologin
+SYMLINKS=3D	${BINDIR}/nologin /bin/nologin
=20
 # It is important that nologin be statically linked for security
 # reasons.  A dynamic non-setuid binary can be linked against a trojan
Index: include/paths.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- include/paths.h	(revision 227417)
+++ include/paths.h	(working copy)
@@ -38,9 +38,9 @@
 /* Default search path. */
 #define	_PATH_DEFPATH	"/usr/bin:/bin"
 /* All standard utilities path. */
-#define	_PATH_STDPATH	"/usr/bin:/bin:/usr/sbin:/sbin"
+#define	_PATH_STDPATH	"/usr/bin:/bin"
 /* Locate system binaries. */
-#define	_PATH_SYSPATH	"/sbin:/usr/sbin"
+#define	_PATH_SYSPATH	"/bin:/usr/bin"
=20
 #define	_PATH_AUTHCONF	"/etc/auth.conf"
 #define	_PATH_BSHELL	"/bin/sh"
@@ -58,31 +58,31 @@
 #define	_PATH_ETC	"/etc"
 #define	_PATH_FTPUSERS	"/etc/ftpusers"
 #define	_PATH_FWMEM	"/dev/fwmem"
-#define	_PATH_HALT	"/sbin/halt"
+#define	_PATH_HALT	"/bin/halt"
 #ifdef COMPAT_32BIT
 #define	_PATH_I18NMODULE	"/usr/lib32/i18n"
 #else
 #define	_PATH_I18NMODULE	"/usr/lib/i18n"
 #endif
-#define	_PATH_IFCONFIG	"/sbin/ifconfig"
+#define	_PATH_IFCONFIG	"/bin/ifconfig"
 #define	_PATH_KMEM	"/dev/kmem"
 #define	_PATH_LIBMAP_CONF	"/etc/libmap.conf"
 #define	_PATH_LOCALE	"/usr/share/locale"
 #define	_PATH_LOGIN	"/usr/bin/login"
 #define	_PATH_MAILDIR	"/var/mail"
 #define	_PATH_MAN	"/usr/share/man"
-#define	_PATH_MDCONFIG	"/sbin/mdconfig"
+#define	_PATH_MDCONFIG	"/bin/mdconfig"
 #define	_PATH_MEM	"/dev/mem"
-#define	_PATH_MKSNAP_FFS	"/sbin/mksnap_ffs"
-#define	_PATH_MOUNT	"/sbin/mount"
-#define	_PATH_NEWFS	"/sbin/newfs"
+#define	_PATH_MKSNAP_FFS	"/bin/mksnap_ffs"
+#define	_PATH_MOUNT	"/bin/mount"
+#define	_PATH_NEWFS	"/bin/newfs"
 #define	_PATH_NOLOGIN	"/var/run/nologin"
 #define	_PATH_RCP	"/bin/rcp"
-#define	_PATH_REBOOT	"/sbin/reboot"
+#define	_PATH_REBOOT	"/bin/reboot"
 #define	_PATH_RLOGIN	"/usr/bin/rlogin"
 #define	_PATH_RM	"/bin/rm"
 #define	_PATH_RSH	"/usr/bin/rsh"
-#define	_PATH_SENDMAIL	"/usr/sbin/sendmail"
+#define	_PATH_SENDMAIL	"/usr/bin/sendmail"
 #define	_PATH_SHELLS	"/etc/shells"
 #define	_PATH_TTY	"/dev/tty"
 #define	_PATH_UNIX	"don't use _PATH_UNIX"
@@ -107,9 +107,9 @@
 #undef	_PATH_DEFPATH
 #define	_PATH_DEFPATH	"/rescue:/usr/bin:/bin"
 #undef	_PATH_STDPATH
-#define	_PATH_STDPATH	"/rescue:/usr/bin:/bin:/usr/sbin:/sbin"
+#define	_PATH_STDPATH	"/rescue:/usr/bin:/bin"
 #undef	_PATH_SYSPATH
-#define	_PATH_SYSPATH	"/rescue:/sbin:/usr/sbin"
+#define	_PATH_SYSPATH	"/rescue:/bin:/usr/bin"
 #undef	_PATH_BSHELL
 #define	_PATH_BSHELL	"/rescue/sh"
 #undef	_PATH_CP
Index: sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- sbin/Makefile.inc	(revision 227417)
+++ sbin/Makefile.inc	(working copy)
@@ -3,7 +3,7 @@
=20
 .include <bsd.own.mk>
=20
-BINDIR?=3D	/sbin
+BINDIR?=3D	/bin
 WARNS?=3D	6
=20
 .if ${MK_DYNAMICROOT} =3D=3D "no"
Index: Makefile.inc1
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- Makefile.inc1	(revision 227417)
+++ Makefile.inc1	(working copy)
@@ -613,6 +613,18 @@
 .endfor
=20
 #
+# /sbin is now merged into /bin. The same holds for /usr/sbin and /usr/gam=
es.
+#
+installcheck: installcheck_sbin_merge
+installcheck_sbin_merge:
+.for dir in ${DESTDIR}/sbin ${DESTDIR}/usr/sbin ${DESTDIR}/usr/games
+	@if test -d ${dir} -a ! -L ${dir}; then \
+		echo "ERROR: Directory ${dir} is still present, see /usr/src/UPDATING en=
try 20111110."; \
+		false; \
+	fi
+.endfor
+
+#
 # Required install tools to be saved in a scratch dir for safety.
 #
 .if ${MK_INFO} !=3D "no"
Index: cddl/sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/sbin/Makefile.inc	(revision 227417)
+++ cddl/sbin/Makefile.inc	(working copy)
@@ -1,5 +1,5 @@
 # $FreeBSD$
=20
-BINDIR?=3D	/sbin
+BINDIR?=3D	/bin
=20
 .include "../Makefile.inc"
Index: cddl/usr.sbin/dtrace/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.sbin/dtrace/Makefile	(revision 227417)
+++ cddl/usr.sbin/dtrace/Makefile	(working copy)
@@ -4,7 +4,7 @@
=20
 PROG=3D		dtrace
 SRCS=3D		dtrace.c
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		1
=20
Index: cddl/usr.sbin/plockstat/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.sbin/plockstat/Makefile	(revision 227417)
+++ cddl/usr.sbin/plockstat/Makefile	(working copy)
@@ -4,7 +4,7 @@
=20
 PROG=3D		plockstat
 SRCS=3D		plockstat.c=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		1
=20
Index: cddl/usr.sbin/lockstat/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.sbin/lockstat/Makefile	(revision 227417)
+++ cddl/usr.sbin/lockstat/Makefile	(working copy)
@@ -5,7 +5,7 @@
 PROG=3D		lockstat
 NO_MAN=3D
 SRCS=3D		lockstat.c sym.c
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 WARNS?=3D		1
=20
Index: cddl/usr.sbin/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.sbin/Makefile.inc	(revision 227417)
+++ cddl/usr.sbin/Makefile.inc	(working copy)
@@ -1,5 +1,5 @@
 # $FreeBSD$
=20
-BINDIR?=3D	/usr/sbin
+BINDIR?=3D	/usr/bin
=20
 .include "../Makefile.inc"
Index: ObsoleteFiles.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- ObsoleteFiles.inc	(revision 227417)
+++ ObsoleteFiles.inc	(working copy)
@@ -2164,8 +2164,6 @@
 OLD_FILES+=3Dusr/libexec/named-xfer
 OLD_FILES+=3Dusr/sbin/named.restart
 OLD_FILES+=3Dusr/sbin/ndc
-OLD_FILES+=3Dusr/sbin/nslookup
-OLD_FILES+=3Dusr/sbin/nsupdate
 OLD_FILES+=3Dusr/share/doc/bind/html/acl.html
 OLD_FILES+=3Dusr/share/doc/bind/html/address_list.html
 OLD_FILES+=3Dusr/share/doc/bind/html/comments.html
@@ -2528,7 +2526,6 @@
 # 200212XX
 OLD_FILES+=3Dusr/sbin/kenv
 OLD_FILES+=3Dusr/bin/kenv
-OLD_FILES+=3Dusr/sbin/elf2aout
 # 200210XX
 OLD_FILES+=3Dusr/include/libusbhid.h
 OLD_FILES+=3Dusr/share/man/man3/All_FreeBSD.3.gz
Index: UPDATING
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- UPDATING	(revision 227417)
+++ UPDATING	(working copy)
@@ -22,6 +22,24 @@
 	machines to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
=20
+20111110:
+	The /sbin, /usr/sbin and /usr/games directories have been merged
+	into /bin and /usr/bin. For compatibility, the old directories
+	have been replaced by symbolic links pointing to `bin'. To
+	prevent people from possibly breaking their system
+	automatically, you must perform the merge manually before
+	`make installworld'. This can be done as follows:
+
+		chflags noschg /sbin/* /usr/sbin/* /usr/games/*
+		mv /sbin/* /bin
+		mv /usr/sbin/* /usr/games/* /usr/bin
+		rmdir /sbin /usr/sbin /usr/games
+
+	After running these commands, you can safely run `make
+	installworld' to continue your upgrade. Do not reboot your
+	system in the mean time, as FreeBSD's boot procedure depends on
+	the existence of /sbin and /usr/sbin.
+
 20111108:
 	The option VFS_ALLOW_NONMPSAFE option has been added in order to
 	explicitely support non-MPSAFE filesystems.
Index: libexec/bootpd/tools/Makefile.inc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- libexec/bootpd/tools/Makefile.inc	(revision 227417)
+++ libexec/bootpd/tools/Makefile.inc	(working copy)
@@ -1,6 +1,6 @@
 # Makefile.inc
 # $FreeBSD$
=20
-BINDIR=3D		/usr/sbin
+BINDIR=3D		/usr/bin
=20
 WARNS?=3D		1
Index: etc/mtree/BSD.usr.dist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- etc/mtree/BSD.usr.dist	(revision 227417)
+++ etc/mtree/BSD.usr.dist	(working copy)
@@ -7,8 +7,7 @@
 .
     bin
     ..
-    games
-    ..
+    games           type=3Dlink link=3Dbin
     include
     ..
     lib
@@ -55,8 +54,7 @@
     ..
     obj             nochange
     ..
-    sbin
-    ..
+    sbin            type=3Dlink link=3Dbin
     share
         calendar
             de_DE.ISO8859-1
Index: etc/mtree/BSD.root.dist
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- etc/mtree/BSD.root.dist	(revision 227417)
+++ etc/mtree/BSD.root.dist	(working copy)
@@ -85,8 +85,7 @@
     ..
     root
     ..
-    sbin
-    ..
+    sbin            type=3Dlink link=3Dbin
     tmp             mode=3D01777
     ..
     usr
Index: etc/login.conf
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- etc/login.conf	(revision 227417)
+++ etc/login.conf	(working copy)
@@ -27,7 +27,7 @@
 	:copyright=3D/etc/COPYRIGHT:\
 	:welcome=3D/etc/motd:\
 	:setenv=3DMAIL=3D/var/mail/$,BLOCKSIZE=3DK,FTP_PASSIVE_MODE=3DYES:\
-	:path=3D/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/loc=
al/bin ~/bin:\
+	:path=3D/bin /usr/bin /usr/local/sbin /usr/local/bin ~/bin:\
 	:nologin=3D/var/run/nologin:\
 	:cputime=3Dunlimited:\
 	:datasize=3Dunlimited:\
@@ -163,7 +163,7 @@
 #	:ignoretime:\
 #	:requirehome@:\
 #	:accounted@:\
-#	:path=3D~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sb=
in:\
+#	:path=3D~/bin /bin /usr/bin /usr/local/bin /usr/local/sbin:\
 #	:umask=3D022:\
 #	:tc=3Dstandard:
 #
@@ -172,7 +172,7 @@
 ## root - fallback for root logins
 ##
 #root:\
-#	:path=3D~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sb=
in:\
+#	:path=3D~/bin /bin /usr/bin /usr/local/bin /usr/local/sbin:\
 #	:cputime=3Dinfinity:\
 #	:datasize=3Dinfinity:\
 #	:stacksize=3Dinfinity:\
@@ -214,7 +214,7 @@
 ## Settings used by news subsystem
 ##
 #news:\
-#	:path=3D/usr/local/news/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin=
 /usr/local/sbin:\
+#	:path=3D/usr/local/news/bin /bin /usr/bin /usr/local/bin /usr/local/sbin=
:\
 #	:cputime=3Dinfinity:\
 #	:filesize=3D128M:\
 #	:datasize-cur=3D64M:\

--2uzDqHpccQJpqF2n
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="bench-results.txt"

/sbin, /usr/sbin and /usr/games separate:
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ed/bin
  => /sbin
   263.38 real 80.16 user 185.91 sys
  => /bin
   263.73 real 79.81 user 186.33 sys
  => /usr/sbin
   264.08 real 76.82 user 189.69 sys
  => /usr/bin
   264.44 real 78.04 user 188.80 sys
  => /usr/games
   265.21 real 78.92 user 188.72 sys
  => /usr/local/sbin
   266.19 real 78.54 user 190.04 sys
  => /usr/local/bin
   266.58 real 78.53 user 190.31 sys
  => /home/ed/bin
   267.84 real 78.21 user 191.91 sys
 PATH=/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/ed/bin
  => /bin
   262.75 real 79.18 user 185.91 sys
  => /usr/bin
   263.49 real 76.18 user 189.86 sys
  => /usr/local/sbin
   264.51 real 77.81 user 189.07 sys
  => /usr/local/bin
   265.14 real 77.97 user 189.53 sys
  => /home/ed/bin
   266.14 real 76.18 user 192.33 sys
/sbin, /usr/sbin and /usr/games merged:
 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ed/bin
  => /sbin
   264.12 real 78.53 user 188.00 sys
  => /bin
   263.96 real 78.46 user 187.92 sys
  => /usr/sbin
   265.21 real 77.12 user 190.47 sys
  => /usr/bin
   265.44 real 77.59 user 190.21 sys
  => /usr/games
   265.55 real 78.52 user 189.42 sys
  => /usr/local/sbin
   267.28 real 78.21 user 191.37 sys
  => /usr/local/bin
   267.48 real 77.20 user 192.66 sys
  => /home/ed/bin
   268.73 real 77.79 user 193.30 sys
 PATH=/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/ed/bin
  => /bin
   263.59 real 76.95 user 189.03 sys
  => /usr/bin
   264.37 real 76.95 user 189.84 sys
  => /usr/local/sbin
   265.15 real 78.53 user 189.03 sys
  => /usr/local/bin
   265.75 real 77.10 user 190.98 sys
  => /home/ed/bin
   266.89 real 77.06 user 192.13 sys

--2uzDqHpccQJpqF2n--

--xYeFQzU4VZLrHqxU
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)

iQIcBAEBAgAGBQJOvP0GAAoJEG5e2P40kaK75/0P/2cAk/OeMO0WEEfMDmn+3Xjs
f1c/IjY6YoSJ0zVdPQBjosjbG0cujmgRqGZ4gXTH8HLjh2iDhjMXe8FlChp+wI4t
0Gi+d4RtFg6g4Q7e2gH6LIjSBIW16w/Zg9eu79S9/m1pC2I84R8HEWfa+2N8jOlY
feMxD/KQGXzng2Q1bAYLtJS5+ZKpSx3o96ZYZ2RLGNL8eG/fQtJ+baQLtYZjEcEP
e9202MXMetB1+X7I3jSCWuiKw3vO9UrYyNGG9icTWVCYF4lSyFyUudkQEO4uMrHO
vKPYBxG69vkaUtyh1wPQUS41AW7wnnkY1gmYYvdh4xfzSn6MeupFK6Pi6cO+jk3S
nBczhxTEBsSbIx8PfeTBKLXSQFINYDcnARzSqUStz1BccgFe1NZdEn7qSrbeq//z
8e8lOF38qO5sMtRTAt3etG7/VC5MbdB9Hr4ymHzDJpYEwMOU+DNA2+4pkMfpiv1o
TWSSiY6kbq4MK8Q+yAAzn4E+HPEpqwu1jCSgzKuFtW4QJbXdkNlwgwckgU6rREGr
KnLyD1D6S416gOwUEFbobR25iAHcsP3/3jduM6PBoDKm+K3K0TCAtkM16tstTcLt
+ENXuQaRhrfi4IKRyO4xSqUt92yWaNlTwcgtaq4COZEN2VlEG43/NzhA/vtAFFy3
Ib6qBuWiV7F18hukiaUY
=BCG3
-----END PGP SIGNATURE-----

--xYeFQzU4VZLrHqxU--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111111104630.GO2164>