chiark / gitweb /
libudev: return kernel provided devnode when asked before we handled any rules
[elogind.git] / Makefile.am
index c16b2594d44045a110b3aca2b250a1d317e37081..4dbdfd97e3d6c89d8b1378fb7a3385f03df3c54b 100644 (file)
@@ -26,11 +26,16 @@ DISTCHECK_CONFIGURE_FLAGS = \
 
 CLEANFILES =
 
+INSTALL_EXEC_HOOKS =
+INSTALL_DATA_HOOKS =
+UNINSTALL_EXEC_HOOKS =
+DISTCHECK_HOOKS =
+
 # ------------------------------------------------------------------------------
 # libudev
 # ------------------------------------------------------------------------------
 LIBUDEV_CURRENT=9
-LIBUDEV_REVISION=1
+LIBUDEV_REVISION=3
 LIBUDEV_AGE=9
 
 SUBDIRS += libudev/docs
@@ -84,16 +89,18 @@ libudev-install-move-hook:
 libudev-uninstall-move-hook:
        rm -f $(DESTDIR)$(rootlib_execdir)/libudev.so*
 
-INSTALL_EXEC_HOOKS = libudev-install-move-hook
-UNINSTALL_EXEC_HOOKS = libudev-uninstall-move-hook
+INSTALL_EXEC_HOOKS += libudev-install-move-hook
+UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
 
 # ------------------------------------------------------------------------------
 # main udev
 # ------------------------------------------------------------------------------
-install-data-local:
+udev-confdirs:
        -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
        -mkdir -p $(DESTDIR)$(libexecdir)/devices
 
+INSTALL_DATA_HOOKS += udev-confdirs
+
 EXTRA_DIST += \
        rules/arch \
        rules/misc
@@ -120,6 +127,14 @@ systemdsystemunit_DATA = \
        init/udev.service \
        init/udev-settle.service \
        init/udev-retry.service
+
+systemd-install-hook:
+       mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
+       ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
+       ln -sf ../udev-settle.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-settle.service
+       ln -sf ../udev-retry.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-retry.service
+
+INSTALL_DATA_HOOKS += systemd-install-hook
 endif
 
 sbin_PROGRAMS = \
@@ -135,7 +150,9 @@ udev_common_sources =\
 
 udev_udevd_SOURCES = \
        $(udev_common_sources) \
-       udev/udevd.c
+       udev/udevd.c \
+       udev/sd-daemon.h \
+       udev/sd-daemon.c
 udev_udevd_LDADD = libudev/libudev-private.la
 
 udev_udevadm_SOURCES = \
@@ -168,7 +185,7 @@ EXTRA_DIST += \
 # ------------------------------------------------------------------------------
 # udev tests
 # ------------------------------------------------------------------------------
-TESTS = test/udev-test.pl
+TESTS = test/udev-test.pl test/rules-test.sh
 
 check_PROGRAMS = \
        libudev/test-libudev \
@@ -416,6 +433,22 @@ typelibs_DATA = extras/gudev/GUdev-1.0.typelib
 CLEANFILES += $(gir_DATA) $(typelibs_DATA)
 endif # ENABLE_INTROSPECTION
 
+# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
+libgudev-install-move-hook:
+       if test "$(libdir)" != "$(rootlib_execdir)"; then \
+               mkdir -p $(DESTDIR)$(rootlib_execdir) && \
+               so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \
+               so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
+               ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \
+               mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlib_execdir); \
+       fi
+
+libgudev-uninstall-move-hook:
+       rm -f $(DESTDIR)$(rootlib_execdir)/libgudev-1.0.so*
+
+INSTALL_EXEC_HOOKS += libgudev-install-move-hook
+UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
+
 # ------------------------------------------------------------------------------
 # Bluetooth HID devices with special magic to switch the device
 # ------------------------------------------------------------------------------
@@ -537,6 +570,7 @@ dist_udevkeymap_DATA = \
        extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
        extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
        extras/keymap/keymaps/lenovo-3000 \
+       extras/keymap/keymaps/lenovo-ideapad \
        extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
        extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
        extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
@@ -554,6 +588,7 @@ dist_udevkeymap_DATA = \
        extras/keymap/keymaps/module-sony \
        extras/keymap/keymaps/module-sony-old \
        extras/keymap/keymaps/olpc-xo \
+       extras/keymap/keymaps/onkyo \
        extras/keymap/keymaps/oqo-model2 \
        extras/keymap/keymaps/samsung-other \
        extras/keymap/keymaps/samsung-sq1us \
@@ -583,7 +618,7 @@ extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
 
 keymaps-distcheck-hook: extras/keymap/keys.txt
        $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
-DISTCHECK_HOOKS = keymaps-distcheck-hook
+DISTCHECK_HOOKS += keymaps-distcheck-hook
 
 endif # ENABLE_EXTRAS
 
@@ -602,9 +637,12 @@ CLEANFILES += \
        $(BUILT_SOURCES)
 
 EXTRA_DIST += $(TESTS)
+EXTRA_DIST += test/rule-syntax-check.py
 
 install-exec-hook: $(INSTALL_EXEC_HOOKS)
 
+install-data-hook: $(INSTALL_DATA_HOOKS)
+
 uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
 
 distcheck-hook: $(DISTCHECK_HOOKS)