-Usual options for udev installed in the root filesystem are:
- ./configure \
+The options used used usually look like:
+ %configure \
--prefix=/usr \
--sysconfdir=/etc \
- --sbindir=/sbin \
+ --bindir=/usr/bin \
--libdir=/usr/lib64 \
- --with-rootlibdir=/lib64 \
- --libexecdir=/lib/udev \
+ --libexecdir=/usr/lib \
+ --with-systemdsystemunitdir=/usr/lib/systemd/system \
--with-selinux
-All options:
- --prefix=
- Usually /usr, prefix for man pages, include files.
- --sysconfdir=
- Usually /etc.
- --sbindir=
- Usually /sbin, the place for udevd and udevadm.
- --libexecdir=
- Usually /lib/udev, the udev private directory.
- --enable-debug
- Compile-in verbose debug messages. Usually not needed,
- it increases the size of the binaries.
- --disable-logging
- Disable all logging and compile-out all log strings. This
- is not recommended, as it makes it almost impossible to debug
- udev in the running system.
- --with-selinux
- Link against SELinux libraries to set the expected context
- for created files.
- --disable-extras
- Disable the build of all extras which have larger external
- dependencies like glib, libacl, libusb, ...
-
-The options used in a RPM spec file usually look like:
+The options used in a RPM spec file look like:
%configure \
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir} \
- --sbindir=/sbin \
+ --bindir=%{_bindir} \
--libdir=%{_libdir} \
- --with-rootlibdir=/%{_lib} \
- --libexecdir=/lib/udev \
+ --libexecdir=%{_prefix}/lib \
+ --with-systemdsystemunitdir=%{_prefix}/lib/systemd/system \
--with-selinux
+The options to install udev in the rootfs instead of /usr,
+and udevadm in /sbin:
+ --prefix=%{_prefix} \
+ --with-rootprefix= \
+ --sysconfdir=%{_sysconfdir} \
+ --bindir=/sbin \
+ --libdir=%{_libdir} \
+ --with-rootlibdir=/lib64 \
+ --libexecdir=/lib \
+ --with-systemdsystemunitdir=/lib/systemd/system \
+ --with-selinux
+
+Some tools expect udevadm in 'sbin'. A symlink to udevadm in 'bin'
+needs to be manually created if needed.
+
The defined location for scripts and binaries which are called
-from rules is /lib/udev/ on all systems and architectures. Any
+from rules is (/usr)/lib/udev/ on all systems and architectures. Any
other location will break other packages, who rightfully expect
-the /lib/udev/ directory, to install their rule helper and udev
+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
-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.