]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: add --enable-usrdir-path
authorKarel Zak <kzak@redhat.com>
Tue, 3 Mar 2015 10:36:59 +0000 (11:36 +0100)
committerKarel Zak <kzak@redhat.com>
Tue, 3 Mar 2015 10:43:01 +0000 (11:43 +0100)
The directories /{sbin,bin} are symliks to /usr/{sbin,bin} on many
systems. This patch add new ./configure option to remove the non-usr
paths from the default $PATH environment variable.

The default $PATH is hardcoded in login(1) and can be overwritten
by /etc/login.defs.

default:

./test_pathnames | grep DEFPATH
       _PATH_DEFPATH /usr/local/bin:/bin:/usr/bin
  _PATH_DEFPATH_ROOT /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

--enable-usrdir-path:

./test_pathnames | grep DEFPATH
       _PATH_DEFPATH /usr/local/bin:/usr/bin
  _PATH_DEFPATH_ROOT /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

This patch does not modify install paths, you still have to care about
--{bin,lib}dir configure options.

Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac
include/pathnames.h

index f7c3f8e57a4afcbf3d0d79e29a5ea3c54c539df8..5d2b68503587488c5ef7201aed416176b9614e48 100644 (file)
@@ -1846,6 +1846,16 @@ AS_IF([test "x$enable_sulogin_emergency_mount" = xyes], [
 ])
 
 
+AC_ARG_ENABLE([usrdir-path],
+  AS_HELP_STRING([--enable-usrdir-path], [use only /usr paths in PATH env. variable (recommended on systems with /bin -> /usr/bin symlinks)]),
+  [], [enable_usrdir_path=no]
+)
+
+AS_IF([test "x$enable_usrdir_path" == xyes], [
+  AC_DEFINE([USE_USRDIR_PATHS_ONLY], [1], [Define to 1 to remove /bin and /sbin from PATH env.variable])
+])
+
+
 AC_ARG_ENABLE([makeinstall-chown],
   AS_HELP_STRING([--disable-makeinstall-chown], [do not do chown-like operations during "make install"]),
   [], [enable_makeinstall_chown=yes]
index cc01589cda5cd94b4f41f4378f67ea605e2f9a89..37f010997b05eef0958ae937a54a2c28fa56887f 100644 (file)
 
 /* DEFPATHs from <paths.h> don't include /usr/local */
 #undef _PATH_DEFPATH
-#define        _PATH_DEFPATH           "/usr/local/bin:/bin:/usr/bin"
+
+#ifdef USE_USRDIR_PATHS_ONLY
+# define _PATH_DEFPATH         "/usr/local/bin:/usr/bin"
+#else
+# define _PATH_DEFPATH         "/usr/local/bin:/bin:/usr/bin"
+#endif
 
 #undef _PATH_DEFPATH_ROOT
-#define        _PATH_DEFPATH_ROOT      "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
+
+#ifdef USE_USRDIR_PATHS_ONLY
+# define _PATH_DEFPATH_ROOT    "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
+#else
+# define _PATH_DEFPATH_ROOT    "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
+#endif
 
 #define _PATH_SECURETTY                "/etc/securetty"
 #define _PATH_WTMPLOCK         "/etc/wtmplock"