- ./configure
- --prefix=
- "/usr" - prefix for man pages, include files
- --exec-prefix=
- "" - the root filesystem, prefix for libs and binaries
- --sysconfdir=
- "/etc"
- --with-libdir-name=
- "lib" - directory name for libraries, not a path name
- multilib 64bit systems may use "lib64" instead of "lib"
- --enable-debug
- compile-in verbose debug messages
- --disable-logging
- disable all logging and compile-out all log strings
+The options used used usually look like:
+ %configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --libdir=/usr/lib64 \
+ --libexecdir=/usr/lib/udev \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-selinux
- link against SELInux libraries to set the expected context
- for created files
-The installation directories are controlled by $prefix, $exec_prefix
-$sysconfdir and $libdir-name. Documentation, development files are
-installed below $prefix, binaries are installed below $exec_prefix,
-libraries below $exec_prefix/$libdir-name.
+The options used in a RPM spec file look like:
+ %configure \
+ --prefix=%{_prefix} \
+ --sysconfdir=%{_sysconfdir} \
+ --bindir=%{_bindir} \
+ --sbindir=%{_sbindir} \
+ --libdir=%{_libdir} \
+ --libexecdir=%{_prefix}/lib/udev \
+ --with-systemdsystemunitdir=%{_prefix}/lib/systemd/system \
+ --with-selinux
+
+The options to install udev in the rootfs instead of /usr,
+and udevadm in /sbin:
+ --bindir=/sbin
+ --sbindir=/sbin
+ --libexecdir=/lib/udev
+ --with-systemdsystemunitdir=/lib/systemd/system
+ --with-rootlibdir=/lib64
-The default configuration for a RPM spec file may look like:
- --prefix=%{_prefix}
- --exec-prefix=""
- --sysconfdir=%{_sysconfdir}
- --with-libdir-name=%{_lib}
+Some tools expect udevadm in 'sbin'. A symlink to udevadm in 'bin'
+needs to be manually created if needed.
-The well defined location for scripts and binaries which are called
-from rules is /lib/udev/ on all systems and architectures, anything
-else is broken. Other packages who use udev, may use the /lib/udev/
-directory to install their rule helper and udev rule files.
+The defined location for scripts and binaries which are called
+from rules is /usr/lib/udev/ on all systems and architectures. Any
+other location will break other packages, who rightfully expect
+the /usr/lib/udev/ directory, to install their rule helper and udev
+rule files.
-It is recommended to use the /lib/udev/devices/ directory to place
+It is possible to use the /usr/lib/udev/devices/ directory to place
device nodes, directories and symlinks, which are copied to /dev/
at every bootup. That way, nodes for devices which can not be
detected automatically, or are activated on-demand by opening the
pre-existing device node, will be available.
-Default udev rules and persistent device naming rules are required
+Default udev rules and persistent device naming rules may be required
by other software that depends on the data udev collects from the
-devices, and should therefore be installed by default with every udev
-installation.
+devices.