From 05492b038e7773aa8f90449387cde89e10bc614c Mon Sep 17 00:00:00 2001 From: Gaetan Nadon Date: Mon, 30 Sep 2013 13:56:53 -0400 Subject: [PATCH] tools: make install fails when user has no write permission in /lib The location of the udevdir is obtained from pkg-config. This is generally /lib/udev. Most people run their build scripts as non-root and do not want to overwrite or add files on their workstation system. This was not the behaviour in release 12.8.0. The code in configure.ac set udevdir based on common installation prefixes /usr or /usr/local for which the user would probably have root permission anyway. Other prefixes would be assigned a udevdir value under the given $prefix. The patch proposes the default location $libdir/udev/rules.d and no longer seeking it's value from pkg-config, just like what was done for hal. The expectation is that the xorg source tree can be built from top to bottom out of the box without tweaks or workarounds. A developer need to manually install a rule under development and run an admin command for it to take effect. Unlike binaries or libraries, there is no "path" style variable to append a rule in development from a different location. Reviewed-by: Jakob Bornecrantz Signed-off-by: Gaetan Nadon Signed-off-by: Peter Hutterer Signed-off-by: Jakob Bornecrantz --- configure.ac | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/configure.ac b/configure.ac index 362b8d2..ad05504 100644 --- a/configure.ac +++ b/configure.ac @@ -89,17 +89,14 @@ AC_ARG_WITH(hal-fdi-dir, HAL_FDI_DIR=${halfdidir} AC_SUBST(HAL_FDI_DIR) - -PKG_CHECK_MODULES(UDEV, udev, - [UDEV_RULES_DIR="`$PKG_CONFIG --variable=udevdir udev`/rules.d"], - [UDEV_RULES_DIR=no]) - +# Udev location for rules directory AC_ARG_WITH(udev-rules-dir, AS_HELP_STRING([--with-udev-rules-dir=DIR], - [Default udev rules.d directory - [[default=($prefix)/lib/udev/rules.d on Linux, none otherwise]]]), - [UDEV_RULES_DIR="$withval"], - []) + [Directory where udev expects its rules files + [[default=$libdir/udev/rules.d]]]), + [udevdir="$withval"], + [udevdir="$libdir/udev/rules.d"]) +UDEV_RULES_DIR=${udevdir} AC_SUBST(UDEV_RULES_DIR) AM_CONDITIONAL(HAS_UDEV_RULES_DIR, [test "x$UDEV_RULES_DIR" != "xno"])