--libexecdir=/lib/udev \
--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 on the running system.
- --with-selinux
- Link against SELinux libraries to set the expected context
- for created files.
- --disable-rule_generator
- Disable persistent network, cdrom naming support.
- --disable-hwdb
- Disable hardware database support
- --disable-udev_acl
- Disable local user acl permissions support.
- --disable-gudev
- Disable Gobject libudev support.
- --disable-introspection
- Disable Gobject introspection support.
- --disable-keymap
- Disable keymap fixup support.
- --enable-floppy
- Enable legacy floppy support.
- --enable-edd
- Enable disk edd support.
-
The options used in a RPM spec file usually look like:
%configure \
--prefix=%{_prefix} \
# ------------------------------------------------------------------------------
dist_udevrules_DATA += extras/qemu/42-qemu-usb.rules
-if ENABLE_RULE_GENERATOR
-# ------------------------------------------------------------------------------
-# rule_generator - persistent network and optical device rule generator
-# ------------------------------------------------------------------------------
-dist_libexec_SCRIPTS += \
- extras/rule_generator/write_cd_rules \
- extras/rule_generator/write_net_rules
-
-udevhomedir = $(libexecdir)
-dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
-
-dist_udevrules_DATA += \
- extras/rule_generator/75-cd-aliases-generator.rules \
- extras/rule_generator/75-persistent-net-generator.rules
-endif
-
-if ENABLE_MTD_PROBE
-# ------------------------------------------------------------------------------
-# mtd_probe - autoloads FTL module for mtd devices
-# ------------------------------------------------------------------------------
-extras_mtd_probe_mtd_probe_SOURCES = \
- extras/mtd_probe/mtd_probe.c \
- extras/mtd_probe/mtd_probe.h \
- extras/mtd_probe/probe_smartmedia.c
-extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
-dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
-libexec_PROGRAMS += extras/mtd_probe/mtd_probe
-
-endif
-
-if ENABLE_HWDB
-# ------------------------------------------------------------------------------
-# usb/pci-db - read vendor/device string database
-# ------------------------------------------------------------------------------
-extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
-extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
-extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/usb-db/usb-db
-dist_udevrules_DATA += \
- rules/rules.d/75-net-description.rules \
- rules/rules.d/75-tty-description.rules \
- rules/rules.d/78-sound-card.rules
-
-extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
-extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
-extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
-libexec_PROGRAMS += extras/usb-db/pci-db
-endif
-
-if ENABLE_UDEV_ACL
-# ------------------------------------------------------------------------------
-# udev_acl - apply ACLs for users with local forground sessions
-# ------------------------------------------------------------------------------
-extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
-extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
-extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
-dist_udevrules_DATA += extras/udev-acl/70-udev-acl.rules
-libexec_PROGRAMS += extras/udev-acl/udev-acl
-
-udevacl-install-hook:
- mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
- ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
-
-INSTALL_EXEC_HOOKS += udevacl-install-hook
-endif
-
if ENABLE_GUDEV
# ------------------------------------------------------------------------------
# GUdev - libudev gobject interface
UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
endif
+if ENABLE_HWDB
+# ------------------------------------------------------------------------------
+# usb/pci-db - read vendor/device string database
+# ------------------------------------------------------------------------------
+extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
+extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/usb-db
+dist_udevrules_DATA += \
+ rules/rules.d/75-net-description.rules \
+ rules/rules.d/75-tty-description.rules \
+ rules/rules.d/78-sound-card.rules
+
+extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
+extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/pci-db
+endif
+
if ENABLE_KEYMAP
# ------------------------------------------------------------------------------
# keymap - map custom hardware's multimedia keys
DISTCHECK_HOOKS += keymaps-distcheck-hook
endif
+if ENABLE_MTD_PROBE
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+extras_mtd_probe_mtd_probe_SOURCES = \
+ extras/mtd_probe/mtd_probe.c \
+ extras/mtd_probe/mtd_probe.h \
+ extras/mtd_probe/probe_smartmedia.c
+extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
+dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
+libexec_PROGRAMS += extras/mtd_probe/mtd_probe
+endif
+
+if ENABLE_RULE_GENERATOR
+# ------------------------------------------------------------------------------
+# rule_generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+dist_libexec_SCRIPTS += \
+ extras/rule_generator/write_cd_rules \
+ extras/rule_generator/write_net_rules
+
+udevhomedir = $(libexecdir)
+dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
+
+dist_udevrules_DATA += \
+ extras/rule_generator/75-cd-aliases-generator.rules \
+ extras/rule_generator/75-persistent-net-generator.rules
+endif
+
+if ENABLE_UDEV_ACL
+# ------------------------------------------------------------------------------
+# udev_acl - apply ACLs for users with local forground sessions
+# ------------------------------------------------------------------------------
+extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
+extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
+extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
+dist_udevrules_DATA += extras/udev-acl/70-udev-acl.rules
+libexec_PROGRAMS += extras/udev-acl/udev-acl
+
+udevacl-install-hook:
+ mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
+ ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
+
+INSTALL_EXEC_HOOKS += udevacl-install-hook
+endif
+
if ENABLE_FLOPPY
# ------------------------------------------------------------------------------
# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
the /dev/.udev directory are private to udev and do change whenever needed.
Requirements:
- - Version 2.6.32 of the Linux kernel with sysfs, procfs, signalfd, inotify,
+ - Version 2.6.34 of the Linux kernel with sysfs, procfs, signalfd, inotify,
unix domain sockets, networking and hotplug enabled
- Some architectures might need a later kernel, that supports accept4(),
+ - bluetooth input
+
+ - have a $attrs{} ?
+
- test (now fixed) /dev/tape/ links
- /run/udev/control socket
AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
# ------------------------------------------------------------------------------
-# rule_generator - persistent network and optical device rule generator
+# GUdev - libudev gobject interface
# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([rule_generator],
- AS_HELP_STRING([--disable-rule_generator], [disable persistent network, cdrom support]),
- [], [enable_rule_generator=yes])
-AM_CONDITIONAL([ENABLE_RULE_GENERATOR], [test "x$enable_rule_generator" = xyes])
+AC_ARG_ENABLE([gudev],
+ AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support]),
+ [], [enable_gudev=yes])
+if test "x$enable_gudev" = xyes; then
+ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
+fi
-# ------------------------------------------------------------------------------
-# mtd_probe - autoloads FTL module for mtd devices
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([mtd_probe],
- AS_HELP_STRING([--disable-mtd_probe], [disable MTD support]),
- [], [enable_mtd_probe=yes])
-AM_CONDITIONAL([ENABLE_MTD_PROBE], [test "x$enable_mtd_probe" = xyes])
+AC_ARG_ENABLE([introspection],
+ AS_HELP_STRING([--disable-introspection], [disable GObject introspection]),
+ [], [enable_introspection=yes])
+if test "x$enable_introspection" = xyes; then
+ PKG_CHECK_MODULES([INTROSPECTION], [gobject-introspection-1.0 >= 0.6.2])
+ AC_DEFINE([ENABLE_INTROSPECTION], [1], [enable GObject introspection support])
+ AC_SUBST([G_IR_SCANNER], [$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)])
+ AC_SUBST([G_IR_COMPILER], [$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)])
+ AC_SUBST([G_IR_GENERATE], [$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)])
+ AC_SUBST([GIRDIR], [$($PKG_CONFIG --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0)])
+ AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0)])
+fi
+AM_CONDITIONAL([ENABLE_INTROSPECTION], [test "x$enable_introspection" = xyes])
+
+AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = xyes])
# ------------------------------------------------------------------------------
# usb/pci-db - read vendor/device string database
fi
AM_CONDITIONAL([ENABLE_HWDB], [test "x$enable_hwdb" = xyes])
-# ------------------------------------------------------------------------------
-# GUdev - libudev gobject interface
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([gudev],
- AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support]),
- [], [enable_gudev=yes])
-if test "x$enable_gudev" = xyes; then
- PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0])
-fi
-
-AC_ARG_ENABLE([introspection],
- AS_HELP_STRING([--disable-introspection], [disable GObject introspection]),
- [], [enable_introspection=yes])
-if test "x$enable_introspection" = xyes; then
- PKG_CHECK_MODULES([INTROSPECTION], [gobject-introspection-1.0 >= 0.6.2])
- AC_DEFINE([ENABLE_INTROSPECTION], [1], [enable GObject introspection support])
- AC_SUBST([G_IR_SCANNER], [$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)])
- AC_SUBST([G_IR_COMPILER], [$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)])
- AC_SUBST([G_IR_GENERATE], [$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)])
- AC_SUBST([GIRDIR], [$($PKG_CONFIG --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0)])
- AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0)])
-fi
-AM_CONDITIONAL([ENABLE_INTROSPECTION], [test "x$enable_introspection" = xyes])
-
-AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = xyes])
-
# ------------------------------------------------------------------------------
# keymap - map custom hardware's multimedia keys
# ------------------------------------------------------------------------------
fi
AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = xyes])
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([mtd_probe],
+ AS_HELP_STRING([--disable-mtd_probe], [disable MTD support]),
+ [], [enable_mtd_probe=yes])
+AM_CONDITIONAL([ENABLE_MTD_PROBE], [test "x$enable_mtd_probe" = xyes])
+
+# ------------------------------------------------------------------------------
+# rule_generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+AC_ARG_ENABLE([rule_generator],
+ AS_HELP_STRING([--disable-rule_generator], [disable persistent network, cdrom support]),
+ [], [enable_rule_generator=yes])
+AM_CONDITIONAL([ENABLE_RULE_GENERATOR], [test "x$enable_rule_generator" = xyes])
+
# ------------------------------------------------------------------------------
# udev_acl - apply ACLs for users with local forground sessions
# ------------------------------------------------------------------------------
libdir: ${libdir}
rootlibdir: ${rootlib_execdir}
libexecdir: ${libexecdir}
-
datarootdir: ${datarootdir}
mandir: ${mandir}
includedir: ${includedir}
-
include_prefix: ${INCLUDE_PREFIX}
-
systemdsystemunitdir: ${systemdsystemunitdir}
-
- logging: ${enable_logging}
- debug: ${enable_debug}
- selinux: ${with_selinux}
+ firmware path: ${FIRMWARE_PATH}
compiler: ${CC}
cflags: ${CFLAGS}
ldflags: ${LDFLAGS}
+ xsltproc: ${XSLTPROC}
+ gperf: ${GPERF}
+
+ logging: ${enable_logging}
+ debug: ${enable_debug}
+ selinux: ${with_selinux}
- rule_generator: ${enable_rule_generator}
- hwdb: ${enable_hwdb}
- udev_acl: ${enable_udev_acl}
gudev: ${enable_gudev}
gintrospection: ${enable_introspection}
keymap: ${enable_keymap}
+ hwdb: ${enable_hwdb}
+ usb.ids: ${USB_DATABASE}
+ pci.ids: ${PCI_DATABASE}
+ mtd_probe: ${enable_mtd_probe}
+ rule_generator: ${enable_rule_generator}
+ udev_acl: ${enable_udev_acl}
floppy: ${enable_floppy}
edd: ${enable_edd}
-
- usb.ids: ${USB_DATABASE}
- pci.ids: ${PCI_DATABASE}
- firmware path: ${FIRMWARE_PATH}
-
- xsltproc: ${XSLTPROC}
- gperf: ${GPERF}
])