chiark / gitweb /
build-sys: make path of loadkeys/setfont configurable in configure
[elogind.git] / Makefile.am
index da3885dbe7c3001a0aed1ec93d58075c8405f96b..b11dfb95efe564bb2051091828209db7ae0f9263 100644 (file)
@@ -20,6 +20,7 @@
 
 ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
 AM_MAKEFLAGS = --no-print-directory
+AUTOMAKE_OPTIONS = color-tests parallel-tests
 
 SUBDIRS = . po
 
@@ -35,20 +36,20 @@ LIBGUDEV_REVISION=2
 LIBGUDEV_AGE=1
 
 LIBSYSTEMD_LOGIN_CURRENT=3
-LIBSYSTEMD_LOGIN_REVISION=9
+LIBSYSTEMD_LOGIN_REVISION=10
 LIBSYSTEMD_LOGIN_AGE=3
 
 LIBSYSTEMD_DAEMON_CURRENT=0
-LIBSYSTEMD_DAEMON_REVISION=5
+LIBSYSTEMD_DAEMON_REVISION=6
 LIBSYSTEMD_DAEMON_AGE=0
 
 LIBSYSTEMD_ID128_CURRENT=0
-LIBSYSTEMD_ID128_REVISION=15
+LIBSYSTEMD_ID128_REVISION=16
 LIBSYSTEMD_ID128_AGE=0
 
-LIBSYSTEMD_JOURNAL_CURRENT=6
+LIBSYSTEMD_JOURNAL_CURRENT=7
 LIBSYSTEMD_JOURNAL_REVISION=0
-LIBSYSTEMD_JOURNAL_AGE=6
+LIBSYSTEMD_JOURNAL_AGE=7
 
 # Dirs of external packages
 dbuspolicydir=@dbuspolicydir@
@@ -62,7 +63,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
@@ -78,9 +83,10 @@ systemsleepdir=$(rootlibexecdir)/system-sleep
 systemunitdir=$(rootprefix)/lib/systemd/system
 systempresetdir=$(rootprefix)/lib/systemd/system-preset
 udevlibexecdir=$(rootprefix)/lib/udev
-udevhomedir = $(udevlibexecdir)
-udevrulesdir = $(udevlibexecdir)/rules.d
-udevhwdbdir = $(udevlibexecdir)/hwdb.d
+udevhomedir=$(udevlibexecdir)
+udevrulesdir=$(udevlibexecdir)/rules.d
+udevhwdbdir=$(udevlibexecdir)/hwdb.d
+catalogdir=$(prefix)/lib/systemd/catalog
 
 # And these are the special ones for /
 rootprefix=@rootprefix@
@@ -93,6 +99,7 @@ BUILT_SOURCES =
 INSTALL_EXEC_HOOKS =
 UNINSTALL_EXEC_HOOKS =
 INSTALL_DATA_HOOKS =
+UNINSTALL_DATA_HOOKS =
 DISTCLEAN_LOCAL_HOOKS =
 pkginclude_HEADERS =
 noinst_LTLIBRARIES =
@@ -125,6 +132,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\" \
@@ -158,47 +167,6 @@ AM_CPPFLAGS = \
 AM_CFLAGS = $(OUR_CFLAGS)
 AM_LDFLAGS = $(OUR_LDFLAGS)
 
-# ------------------------------------------------------------------------------
-if TARGET_GENTOO
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_ARCH
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_FRUGALWARE
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_MANDRIVA
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-else
-if TARGET_ANGSTROM
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/usr/bin/setfont\"
-else
-if TARGET_MAGEIA
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-else
-AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\"
-endif
-endif
-endif
-endif
-endif
-endif
-
 # ------------------------------------------------------------------------------
 rootbin_PROGRAMS = \
        systemctl \
@@ -226,7 +194,6 @@ rootlibexec_PROGRAMS = \
        systemd-update-utmp \
        systemd-shutdownd \
        systemd-shutdown \
-       systemd-modules-load \
        systemd-remount-fs \
        systemd-reply-password \
        systemd-fsck \
@@ -235,6 +202,11 @@ rootlibexec_PROGRAMS = \
        systemd-sysctl \
        systemd-sleep
 
+if HAVE_KMOD
+rootlibexec_PROGRAMS += \
+       systemd-modules-load
+endif
+
 systemgenerator_PROGRAMS = \
        systemd-getty-generator \
        systemd-fstab-generator \
@@ -315,7 +287,6 @@ nodist_systemunit_DATA = \
        units/console-getty.service \
        units/systemd-initctl.service \
        units/systemd-shutdownd.service \
-       units/systemd-modules-load.service \
        units/systemd-remount-fs.service \
        units/systemd-update-utmp-runlevel.service \
        units/systemd-update-utmp-shutdown.service \
@@ -341,6 +312,11 @@ nodist_systemunit_DATA = \
        units/systemd-udev-settle.service \
        units/debug-shell.service
 
+if HAVE_KMOD
+nodist_systemunit_DATA += \
+       units/systemd-modules-load.service
+endif
+
 dist_userunit_DATA = \
        units/user/default.target \
        units/user/exit.target
@@ -356,7 +332,6 @@ EXTRA_DIST += \
        units/rescue.service.m4.in \
        units/systemd-initctl.service.in \
        units/systemd-shutdownd.service.in \
-       units/systemd-modules-load.service.in \
        units/systemd-remount-fs.service.in \
        units/systemd-update-utmp-runlevel.service.in \
        units/systemd-update-utmp-shutdown.service.in \
@@ -385,39 +360,20 @@ EXTRA_DIST += \
        introspect.awk \
        man/custom-html.xsl
 
-if TARGET_FEDORA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
-endif
-
-if TARGET_MANDRIVA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
+if HAVE_KMOD
+EXTRA_DIST += \
+       units/systemd-modules-load.service.in
 endif
 
-if TARGET_FRUGALWARE
-dist_systemunit_DATA += \
-       units/frugalware/display-manager.service
-endif
+if HAVE_SYSV_COMPAT
+nodist_systemunit_DATA += \
+       units/rc-local.service \
+       units/halt-local.service
 
-if TARGET_SUSE
-dist_systemunit_DATA += \
-       units/suse/rc-local.service \
-       units/suse/halt-local.service
-systemgenerator_PROGRAMS += \
-       systemd-rc-local-generator
-endif
+EXTRA_DIST += \
+       units/rc-local.service.in \
+       units/halt-local.service.in
 
-if TARGET_MAGEIA
-dist_systemunit_DATA += \
-       units/fedora/rc-local.service \
-       units/fedora/halt-local.service
 systemgenerator_PROGRAMS += \
        systemd-rc-local-generator
 endif
@@ -457,6 +413,7 @@ MANPAGES = \
        man/systemd.kill.5 \
        man/systemd.special.7 \
        man/systemd.journal-fields.7 \
+       man/systemd.time.7 \
        man/kernel-command-line.7 \
        man/daemon.7 \
        man/bootup.7 \
@@ -473,8 +430,6 @@ MANPAGES = \
        man/locale.conf.5 \
        man/os-release.5 \
        man/machine-info.5 \
-       man/modules-load.d.5 \
-       man/systemd-modules-load.service.8 \
        man/sysctl.d.5 \
        man/systemd-sysctl.service.8 \
        man/systemd-ask-password.1 \
@@ -517,13 +472,13 @@ MANPAGES = \
        man/sd_journal_get_usage.3 \
        man/sd_journal_add_match.3 \
        man/sd_journal_seek_head.3 \
-       man/sd_journal_query_unique.3
+       man/sd_journal_query_unique.3 \
+       man/sd_journal_get_catalog.3
 
 MANPAGES_ALIAS = \
        man/reboot.8 \
        man/poweroff.8 \
        man/init.1 \
-       man/systemd-modules-load.8 \
        man/systemd-sysctl.8 \
        man/systemd-journald.socket.8 \
        man/systemd-journald.8 \
@@ -593,12 +548,31 @@ MANPAGES_ALIAS = \
        man/sd_journal_test_cursor.3 \
        man/sd_journal_enumerate_unique.3 \
        man/sd_journal_restart_unique.3 \
-       man/SD_JOURNAL_FOREACH_UNIQUE.3
+       man/SD_JOURNAL_FOREACH_UNIQUE.3 \
+       man/sd_journal_get_catalog_for_message_id.3
+
+if HAVE_KMOD
+MANPAGES += \
+       man/modules-load.d.5 \
+       man/systemd-modules-load.service.8
+MANPAGES_ALIAS += \
+       man/systemd-modules-load.8
+man/systemd-modules-load.8: man/systemd-modules-load.service.8
+endif
+
+if HAVE_MICROHTTPD
+MANPAGES += \
+       man/systemd-journal-gatewayd.service.8
+MANPAGES_ALIAS += \
+       man/systemd-journal-gatewayd.socket.8 \
+       man/systemd-journal-gatewayd.8
+man/systemd-journal-gatewayd.socket.8: man/systemd-journal-gatewayd.service.8
+man/systemd-journal-gatewayd.8: man/systemd-journal-gatewayd.service.8
+endif
 
 man/reboot.8: man/halt.8
 man/poweroff.8: man/halt.8
 man/init.1: man/systemd.1
-man/systemd-modules-load.8: man/systemd-modules-load.service.8
 man/systemd-sysctl.8: man/systemd-sysctl.service.8
 man/systemd-journald.socket.8: man/systemd-journald.service.8
 man/systemd-journald.8: man/systemd-journald.service.8
@@ -669,6 +643,7 @@ man/sd_journal_test_cursor.3: man/sd_journal_get_cursor.3
 man/sd_journal_enumerate_unique.3: man/sd_journal_query_unique.3
 man/sd_journal_restart_unique.3: man/sd_journal_query_unique.3
 man/SD_JOURNAL_FOREACH_UNIQUE.3: man/sd_journal_query_unique.3
+man/sd_journal_get_catalog_for_message_id.3: man/sd_journal_get_catalog.3
 
 XML_FILES = \
        ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
@@ -718,7 +693,8 @@ XML_DIRECTIVE_FILES = \
        man/systemd.kill.xml \
        man/systemd.device.xml \
        man/systemd.conf.xml \
-       man/systemd.journal-fields.xml
+       man/systemd.journal-fields.xml \
+       man/systemd.time.xml
 
 man/systemd.directives.xml: make-directive-index.py $(XML_DIRECTIVE_FILES)
        $(AM_V_at)$(MKDIR_P) $(dir $@)
@@ -759,10 +735,14 @@ libsystemd_shared_la_SOURCES = \
        src/shared/virt.h \
        src/shared/path-util.c \
        src/shared/path-util.h \
+       src/shared/time-util.c \
+       src/shared/time-util.h \
        src/shared/hashmap.c \
        src/shared/hashmap.h \
        src/shared/set.c \
        src/shared/set.h \
+       src/shared/fdset.c \
+       src/shared/fdset.h \
        src/shared/strv.c \
        src/shared/strv.h \
        src/shared/strbuf.c \
@@ -805,7 +785,11 @@ libsystemd_shared_la_SOURCES = \
        src/shared/hwclock.c \
        src/shared/hwclock.h \
        src/shared/time-dst.c \
-       src/shared/time-dst.h
+       src/shared/time-dst.h \
+       src/shared/calendarspec.c \
+       src/shared/calendarspec.h
+
+libsystemd_shared_la_LIBADD = libsystemd-daemon.la
 
 #-------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -1007,8 +991,6 @@ libsystemd_core_la_SOURCES = \
        src/core/selinux-setup.h \
        src/core/ima-setup.c \
        src/core/ima-setup.h \
-       src/core/kmod-setup.c \
-       src/core/kmod-setup.h \
        src/core/locale-setup.h \
        src/core/locale-setup.c \
        src/core/hostname-setup.c \
@@ -1019,8 +1001,6 @@ libsystemd_core_la_SOURCES = \
        src/core/mount-setup.h \
        src/core/loopback-setup.h \
        src/core/loopback-setup.c \
-       src/core/fdset.c \
-       src/core/fdset.h \
        src/core/condition.c \
        src/core/condition.h \
        src/core/namespace.c \
@@ -1044,6 +1024,12 @@ libsystemd_core_la_SOURCES = \
        src/core/audit-fd.c \
        src/core/audit-fd.h
 
+if HAVE_KMOD
+libsystemd_core_la_SOURCES += \
+       src/core/kmod-setup.c \
+       src/core/kmod-setup.h
+endif
+
 nodist_libsystemd_core_la_SOURCES = \
        src/core/load-fragment-gperf.c \
        src/core/load-fragment-gperf-nulstr.c \
@@ -1066,6 +1052,7 @@ libsystemd_core_la_LIBADD = \
        libsystemd-dbus.la \
        libsystemd-audit.la \
        libsystemd-id128-internal.la \
+       libsystemd-daemon.la \
        libudev.la \
        $(LIBWRAP_LIBS) \
        $(PAM_LIBS) \
@@ -1185,7 +1172,10 @@ noinst_PROGRAMS += \
        test-unit-file \
        test-date \
        test-sleep \
-       test-replace-var
+       test-replace-var \
+       test-sched-prio \
+       test-calendarspec \
+       test-strip-tab-ansi
 
 TESTS += \
        test-job-type \
@@ -1195,7 +1185,17 @@ TESTS += \
        test-unit-file \
        test-date \
        test-sleep \
-       test-replace-var
+       test-replace-var \
+       test-sched-prio \
+       test-calendarspec \
+       test-strip-tab-ansi
+
+EXTRA_DIST += \
+       test/sched_idle_bad.service \
+       test/sched_idle_ok.service \
+       test/sched_rr_bad.service \
+       test/sched_rr_ok.service \
+       test/sched_rr_change.service
 
 test_engine_SOURCES = \
        src/test/test-engine.c
@@ -1279,6 +1279,18 @@ test_replace_var_SOURCES = \
 test_replace_var_LDADD = \
        libsystemd-shared.la
 
+test_calendarspec_SOURCES = \
+       src/test/test-calendarspec.c
+
+test_calendarspec_LDADD = \
+       libsystemd-shared.la
+
+test_strip_tab_ansi_SOURCES = \
+       src/test/test-strip-tab-ansi.c
+
+test_strip_tab_ansi_LDADD = \
+       libsystemd-shared.la
+
 test_daemon_SOURCES = \
        src/test/test-daemon.c
 
@@ -1323,6 +1335,18 @@ test_watchdog_SOURCES = \
 test_watchdog_LDADD = \
        libsystemd-shared.la
 
+test_sched_prio_SOURCES = \
+       src/test/test-sched-prio.c
+
+test_sched_prio_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(DBUS_CFLAGS) \
+       -D"STR(s)=\#s" -D"TEST_DIR=STR($(abs_top_srcdir)/test/)"
+
+test_sched_prio_LDADD = \
+       libsystemd-core.la \
+       libsystemd-daemon.la
+
 # ------------------------------------------------------------------------------
 systemd_initctl_SOURCES = \
        src/initctl/initctl.c
@@ -1377,6 +1401,7 @@ systemd_shutdown_LDADD = \
        libsystemd-shared.la \
        libudev.la
 
+if HAVE_KMOD
 # ------------------------------------------------------------------------------
 systemd_modules_load_SOURCES = \
        src/modules-load/modules-load.c
@@ -1388,6 +1413,7 @@ systemd_modules_load_CFLAGS = \
 systemd_modules_load_LDADD = \
        libsystemd-shared.la \
        $(KMOD_LIBS)
+endif
 
 # ------------------------------------------------------------------------------
 systemd_tmpfiles_SOURCES = \
@@ -1459,7 +1485,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
@@ -1807,14 +1833,19 @@ dist_udevrules_DATA += \
        rules/75-net-description.rules \
        rules/75-tty-description.rules \
        rules/78-sound-card.rules \
-       rules/80-drivers.rules \
        rules/95-udev-late.rules
 
+if HAVE_KMOD
+dist_udevrules_DATA += \
+       rules/80-drivers.rules
+endif
+
 dist_udevhwdb_DATA = \
        hwdb/20-pci-vendor-product.hwdb \
        hwdb/20-pci-classes.hwdb \
        hwdb/20-usb-vendor-product.hwdb \
        hwdb/20-usb-classes.hwdb \
+       hwdb/20-bluetooth-vendor-product.hwdb \
        hwdb/20-acpi-vendor.hwdb \
        hwdb/20-OUI.hwdb
 
@@ -1871,12 +1902,10 @@ 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 \
        src/udev/udev-builtin-input_id.c \
-       src/udev/udev-builtin-kmod.c \
        src/udev/udev-builtin-net_id.c \
        src/udev/udev-builtin-path_id.c \
        src/udev/udev-builtin-usb_id.c \
@@ -1898,6 +1927,16 @@ libudev_core_la_CPPFLAGS = \
        $(AM_CPPFLAGS) \
        -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
 
+if HAVE_KMOD
+libudev_core_la_SOURCES += \
+       src/udev/udev-builtin-kmod.c
+endif
+
+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 \
@@ -1929,6 +1968,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 \
@@ -2315,7 +2365,7 @@ dist_udevkeymap_DATA = \
        keymaps/onkyo \
        keymaps/oqo-model2 \
        keymaps/samsung-other \
-       keymaps/samsung-90x3a \
+       keymaps/samsung-series-9 \
        keymaps/samsung-sq1us \
        keymaps/samsung-sx20s \
        keymaps/toshiba-satellite_a100 \
@@ -2329,7 +2379,7 @@ dist_udevkeymapforcerel_DATA = \
        keymaps-force-release/dell-xps \
        keymaps-force-release/hp-other \
        keymaps-force-release/samsung-other \
-       keymaps-force-release/samsung-90x3a \
+       keymaps-force-release/samsung-series-9 \
        keymaps-force-release/common-volume-keys
 
 src/udev/keymap/keys.txt: Makefile
@@ -2544,6 +2594,15 @@ test_mmap_cache_LDADD = \
        libsystemd-shared.la \
        libsystemd-journal-internal.la
 
+test_catalog_SOURCES = \
+       src/journal/test-catalog.c
+
+test_catalog_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-label.la \
+       libsystemd-journal-internal.la \
+       libsystemd-id128-internal.la
+
 libsystemd_journal_la_SOURCES = \
        src/journal/sd-journal.c \
        src/systemd/sd-journal.h \
@@ -2558,6 +2617,8 @@ libsystemd_journal_la_SOURCES = \
        src/journal/journal-send.c \
        src/journal/journal-def.h \
        src/journal/compress.h \
+       src/journal/catalog.c \
+       src/journal/catalog.h \
        src/journal/mmap-cache.c \
        src/journal/mmap-cache.h
 
@@ -2573,6 +2634,7 @@ libsystemd_journal_la_LDFLAGS = \
 
 libsystemd_journal_la_LIBADD = \
        libsystemd-shared.la \
+       libsystemd-label.la \
        libsystemd-id128-internal.la
 
 libsystemd_journal_internal_la_SOURCES = \
@@ -2600,7 +2662,9 @@ libsystemd_journal_internal_la_LIBADD = \
        libsystemd-label.la \
        libsystemd-audit.la \
        libsystemd-daemon.la \
-       libudev.la
+       libudev.la \
+       libsystemd-shared.la \
+       libsystemd-label.la
 
 nodist_libsystemd_journal_internal_la_SOURCES = \
        src/journal/journald-gperf.c
@@ -2674,6 +2738,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 \
@@ -2682,7 +2760,8 @@ noinst_PROGRAMS += \
        test-journal-enum \
        test-journal-stream \
        test-journal-verify \
-       test-mmap-cache
+       test-mmap-cache \
+       test-catalog
 
 TESTS += \
        test-journal \
@@ -2726,6 +2805,9 @@ dist_pkgsysconf_DATA += \
 pkgconfiglib_DATA += \
        src/journal/libsystemd-journal.pc
 
+dist_catalog_DATA = \
+       catalog/systemd.catalog
+
 journal-install-data-hook:
        $(MKDIR_P) -m 0755 \
                $(DESTDIR)$(systemunitdir)/sockets.target.wants \
@@ -3340,6 +3422,8 @@ systemd_logind_SOURCES = \
        src/login/logind-device.h \
        src/login/logind-button.c \
        src/login/logind-button.h \
+       src/login/logind-action.c \
+       src/login/logind-action.h \
        src/login/logind-seat.c \
        src/login/logind-seat.h \
        src/login/logind-session.c \
@@ -3536,7 +3620,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)
@@ -3690,6 +3774,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' \
@@ -3707,6 +3796,8 @@ SED_PROCESS = \
                -e 's,@QUOTACHECK\@,$(QUOTACHECK),g' \
                -e 's,@SYSTEM_SYSVINIT_PATH\@,$(sysvinitdir),g' \
                -e 's,@VARLOGDIR\@,$(varlogdir),g' \
+               -e 's,@RC_LOCAL_SCRIPT_PATH_START\@,$(RC_LOCAL_SCRIPT_PATH_START),g' \
+               -e 's,@RC_LOCAL_SCRIPT_PATH_STOP\@,$(RC_LOCAL_SCRIPT_PATH_STOP),g' \
                < $< > $@
 
 units/%: units/%.in Makefile
@@ -3840,6 +3931,8 @@ CLEANFILES += \
 
 endif
 
+EXTRA_DIST += \
+       shell-completion/systemd-zsh-completion.zsh
 
 systemd-install-data-hook:
        $(MKDIR_P) -m 0755 \
@@ -3945,7 +4038,6 @@ systemd-install-data-hook:
                        sys-kernel-config.mount \
                        sys-kernel-debug.mount \
                        sys-fs-fuse-connections.mount \
-                       systemd-modules-load.service \
                        systemd-tmpfiles-setup.service \
                        systemd-sysctl.service \
                        systemd-ask-password-console.path && \
@@ -3954,7 +4046,6 @@ systemd-install-data-hook:
                $(LN_S) ../sys-kernel-config.mount sys-kernel-config.mount && \
                $(LN_S) ../sys-kernel-debug.mount sys-kernel-debug.mount && \
                $(LN_S) ../sys-fs-fuse-connections.mount sys-fs-fuse-connections.mount && \
-               $(LN_S) ../systemd-modules-load.service systemd-modules-load.service && \
                $(LN_S) ../systemd-tmpfiles-setup.service systemd-tmpfiles-setup.service && \
                $(LN_S) ../systemd-sysctl.service systemd-sysctl.service && \
                $(LN_S) ../systemd-ask-password-console.path systemd-ask-password-console.path )
@@ -3965,6 +4056,13 @@ systemd-install-data-hook:
                rm -f org.freedesktop.systemd1.service && \
                $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service )
 
+if HAVE_KMOD
+       ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \
+               rm -f systemd-modules-load.service && \
+               $(LN_S) ../systemd-modules-load.service systemd-modules-load.service )
+endif
+
+
 if TARGET_FEDORA
        ( cd $(DESTDIR)$(systemunitdir) && \
                rm -f display-manager.service single.service && \
@@ -3977,18 +4075,6 @@ if TARGET_MANDRIVA
                $(LN_S) rescue.service single.service )
 endif
 
-if TARGET_DEBIAN_OR_UBUNTU
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f runlevel5.target && \
-               $(LN_S) multi-user.target runlevel5.target )
-endif
-
-if TARGET_SUSE
-       ( cd $(DESTDIR)$(systemunitdir) && \
-               rm -f local.service && \
-               $(LN_S) rc-local.service local.service )
-endif
-
 if TARGET_MAGEIA
        ( cd $(DESTDIR)$(systemunitdir) && \
                rm -f display-manager.service )
@@ -3996,7 +4082,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)
 
@@ -4004,10 +4090,10 @@ distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
 
 clean-local:
        rm -rf $(abs_srcdir)/install-tree
-       rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt
+       rm -f $(abs_srcdir)/hwdb/usb.ids $(abs_srcdir)/hwdb/pci.ids $(abs_srcdir)/hwdb/oui.txt \
+              $(abs_srcdir)/hwdb/iab.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) \
@@ -4016,6 +4102,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
@@ -4026,6 +4119,7 @@ hwdb-update:
        wget -N http://www.linux-usb.org/usb.ids && \
        wget -N http://pci-ids.ucw.cz/v2.2/pci.ids && \
        wget -N http://standards.ieee.org/develop/regauth/oui/oui.txt && \
+       wget -N http://standards.ieee.org/develop/regauth/iab/iab.txt && \
        ./ids-update.pl )
 
 upload: all distcheck