chiark / gitweb /
build-sys: fix sysvcompat handling in distcheck
[elogind.git] / Makefile.am
index 3c590094d35e3b3b2ae02886cfdcc8fc2f40ac0c..11eaf863f570eb98721dd5f733bdb8b28ddc39ee 100644 (file)
@@ -62,7 +62,11 @@ polkitpolicydir=$(datadir)/polkit-1/actions
 bashcompletiondir=$(sysconfdir)/bash_completion.d
 rpmmacrosdir=$(sysconfdir)/rpm
 sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
+sysvrcddir=$(SYSTEM_SYSVRCND_PATH)
 varlogdir=$(localstatedir)/log
+systemdstatedir=$(localstatedir)/lib/systemd
+catalogstatedir=$(systemdstatedir)/catalog
+hwdb_bin=/etc/udev/hwdb.bin
 
 # Our own, non-special dirs
 pkgsysconfdir=$(sysconfdir)/systemd
@@ -94,6 +98,7 @@ BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
+UNINSTALL_DATA_HOOKS =
 DISTCLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
 noinst_LTLIBRARIES =
@@ -126,6 +131,8 @@ AM_CPPFLAGS = \
        -DUSER_CONFIG_FILE=\"$(pkgsysconfdir)/user.conf\" \
        -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
        -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
+       -DCATALOG_PATH=\"$(catalogstatedir)\" \
+       -DHWDB_BIN=\"$(hwdb_bin)\" \
        -DSYSTEMD_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
        -DSYSTEMD_BINARY_PATH=\"$(rootlibexecdir)/systemd\" \
        -DSYSTEMD_SHUTDOWN_BINARY_PATH=\"$(rootlibexecdir)/systemd-shutdown\" \
@@ -1481,7 +1488,7 @@ systemd_detect_virt_LDADD = \
        libsystemd-shared.la
 
 systemd-detect-virt-install-hook:
-       $(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt ||:
+       -$(SETCAP) cap_dac_override,cap_sys_ptrace=ep $(DESTDIR)$(bindir)/systemd-detect-virt
 
 INSTALL_EXEC_HOOKS += \
        systemd-detect-virt-install-hook
@@ -1893,7 +1900,6 @@ libudev_core_la_SOURCES = \
        src/udev/udev-rules.c \
        src/udev/udev-ctrl.c \
        src/udev/udev-builtin.c \
-       src/udev/udev-builtin-blkid.c \
        src/udev/udev-builtin-btrfs.c \
        src/udev/udev-builtin-firmware.c \
        src/udev/udev-builtin-hwdb.c \
@@ -1920,6 +1926,11 @@ libudev_core_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
        -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
 
+if HAVE_BLKID
+libudev_core_la_SOURCES += \
+       src/udev/udev-builtin-blkid.c
+endif
+
 if HAVE_ACL
 libudev_core_la_SOURCES += \
        src/udev/udev-builtin-uaccess.c \
@@ -1951,6 +1962,17 @@ udevadm_LDADD = \
        libudev-core.la \
        libsystemd-shared.la
 
+# Update hwdb on installation. Do not bother if installing
+# in DESTDIR, since this is likely for packaging purposes.
+hwdb-update-hook:
+       -test -n "$(DESTDIR)" || $(bindir)/udevadm hwdb --update
+
+INSTALL_DATA_HOOKS += \
+       hwdb-update-hook
+
+hwdb-remove-hook:
+       -test -n "$(DESTDIR)" || rm -f $(HWDB_BIN)
+
 # ------------------------------------------------------------------------------
 TESTS += \
        test/udev-test.pl \
@@ -2710,6 +2732,20 @@ libsystemd-journal-uninstall-hook:
 UNINSTALL_EXEC_HOOKS += \
        libsystemd-journal-uninstall-hook
 
+# Update catalog on installation. Do not bother if installing
+# in DESTDIR, since this is likely for packaging purposes.
+catalog-update-hook:
+       -test -n "$(DESTDIR)" || $(rootbindir)/journalctl --update-catalog
+
+INSTALL_DATA_HOOKS += \
+       catalog-update-hook
+
+catalog-remove-hook:
+       -test -n "$(DESTDIR)" || rm -f $(catalogstatedir)/database
+
+UNINSTALL_DATA_HOOKS += \
+       catalog-remove-hook
+
 noinst_PROGRAMS += \
        test-journal \
        test-journal-send \
@@ -3576,7 +3612,7 @@ polkitpolicy_files += \
 logind-install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(systemunitdir)/multi-user.target.wants \
-               $(DESTDIR)$(localstatedir)/lib/systemd
+               $(DESTDIR)$(systemdstatedir)
        ( cd $(DESTDIR)$(systemunitdir) && \
                rm -f dbus-org.freedesktop.login1.service && \
                $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service)
@@ -3730,6 +3766,11 @@ SED_PROCESS = \
                -e 's,@userunitdir\@,$(userunitdir),g' \
                -e 's,@systempresetdir\@,$(systempresetdir),g' \
                -e 's,@userpresetdir\@,$(userpresetdir),g' \
+               -e 's,@udevhwdbdir\@,$(udevhwdbdir),g' \
+               -e 's,@udevrulesdir\@,$(udevrulesdir),g' \
+               -e 's,@catalogdir\@,$(catalogdir),g' \
+               -e 's,@tmpfilesdir\@,$(tmpfilesdir),g' \
+               -e 's,@sysctldir\@,$(sysctldir),g' \
                -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
                -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
                -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
@@ -4036,7 +4077,7 @@ endif
 
 install-exec-hook: $(INSTALL_EXEC_HOOKS)
 
-uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
+uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
 
 install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS)
 
@@ -4047,7 +4088,6 @@ clean-local:
        rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt
 
 DISTCHECK_CONFIGURE_FLAGS = \
-       --with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
        --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \
        --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \
        --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
@@ -4056,6 +4096,13 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-rootprefix=$$dc_install_base \
        --disable-split-usr
 
+
+if HAVE_SYSV_COMPAT
+DISTCHECK_CONFIGURE_FLAGS += \
+       --with-sysvinit-path=$$dc_install_base/$(sysvinitdir) \
+       --with-sysvrcnd-path=$$dc_install_base/$(sysvrcddir)
+endif
+
 if ENABLE_GTK_DOC
 DISTCHECK_CONFIGURE_FLAGS += \
        --enable-gtk-doc