]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - Makefile.am
networkd: add support for address label
[thirdparty/systemd.git] / Makefile.am
index 879236916120b27d5807ba9facc48be3b577cf94..eb9f53c848af8a6ab2a70a729b05f14dea195e3b 100644 (file)
@@ -39,12 +39,12 @@ SUBDIRS = . po
 .PRECIOUS: $(TEST_SUITE_LOG) Makefile
 
 LIBUDEV_CURRENT=7
-LIBUDEV_REVISION=5
+LIBUDEV_REVISION=6
 LIBUDEV_AGE=6
 
-LIBSYSTEMD_CURRENT=17
+LIBSYSTEMD_CURRENT=18
 LIBSYSTEMD_REVISION=0
-LIBSYSTEMD_AGE=17
+LIBSYSTEMD_AGE=18
 
 # Dirs of external packages
 dbuspolicydir=@dbuspolicydir@
@@ -59,7 +59,7 @@ polkitrulesdir=$(datadir)/polkit-1/rules.d
 polkitpkladir=$(localstatedir)/lib/polkit-1/localauthority/10-vendor.d
 bashcompletiondir=@bashcompletiondir@
 zshcompletiondir=@zshcompletiondir@
-rpmmacrosdir=$(prefix)/lib/rpm/macros.d
+rpmmacrosdir=@rpmmacrosdir@
 sysvinitdir=$(SYSTEM_SYSVINIT_PATH)
 sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
 varlogdir=$(localstatedir)/log
@@ -68,6 +68,7 @@ catalogstatedir=$(systemdstatedir)/catalog
 xinitrcdir=$(sysconfdir)/X11/xinit/xinitrc.d
 
 # Our own, non-special dirs
+environmentdir=$(prefix)/lib/environment.d
 pkgsysconfdir=$(sysconfdir)/systemd
 userunitdir=$(prefix)/lib/systemd/user
 userpresetdir=$(prefix)/lib/systemd/user-preset
@@ -80,6 +81,8 @@ networkdir=$(rootprefix)/lib/systemd/network
 pkgincludedir=$(includedir)/systemd
 systemgeneratordir=$(rootlibexecdir)/system-generators
 usergeneratordir=$(prefix)/lib/systemd/user-generators
+systemenvgeneratordir=$(prefix)/lib/systemd/system-environment-generators
+userenvgeneratordir=$(prefix)/lib/systemd/user-environment-generators
 systemshutdowndir=$(rootlibexecdir)/system-shutdown
 systemsleepdir=$(rootlibexecdir)/system-sleep
 systemunitdir=$(rootprefix)/lib/systemd/system
@@ -175,6 +178,7 @@ CLEANFILES = $(BUILT_SOURCES) \
        $(pkgconfiglib_DATA) \
        $(nodist_bashcompletion_data) \
        $(nodist_zshcompletion_data) \
+       $(nodist_rpmmacros_DATA) \
        $(in_files:.in=) $(in_in_files:.in.in=) \
        $(m4_files:.m4=)
 
@@ -207,6 +211,8 @@ AM_CPPFLAGS = \
        -DSYSTEMD_CRYPTSETUP_PATH=\"$(rootlibexecdir)/systemd-cryptsetup\" \
        -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
        -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
+       -DSYSTEM_ENV_GENERATOR_PATH=\"$(systemenvgeneratordir)\" \
+       -DUSER_ENV_GENERATOR_PATH=\"$(userenvgeneratordir)\" \
        -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
        -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
        -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \
@@ -307,6 +313,10 @@ endef
 install-directories-hook:
        $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
 
+install-environment-conf-hook: install-directories-hook
+       $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(sysconfdir)/environment \
+               $(DESTDIR)$(environmentdir)/99-environment.conf
+
 install-aliases-hook:
        set -- $(SYSTEM_UNIT_ALIASES) && \
                dir=$(systemunitdir) && $(install-aliases)
@@ -340,10 +350,13 @@ INSTALL_EXEC_HOOKS += \
        install-target-wants-hook \
        install-directories-hook \
        install-aliases-hook \
-       install-touch-usr-hook
+       install-touch-usr-hook \
+       install-busnames-target-wants-hook
 
+if ENABLE_ENVIRONMENT_D
 INSTALL_EXEC_HOOKS += \
-       install-busnames-target-wants-hook
+       install-environment-conf-hook
+endif
 
 # ------------------------------------------------------------------------------
 AM_V_M4 = $(AM_V_M4_$(V))
@@ -425,6 +438,17 @@ systemgenerator_PROGRAMS = \
        systemd-system-update-generator \
        systemd-debug-generator
 
+if ENABLE_ENVIRONMENT_D
+userenvgenerator_PROGRAMS = \
+       30-systemd-environment-d-generator
+endif
+
+rootlibexec_SCRIPTS = \
+       src/sulogin-shell/systemd-sulogin-shell
+
+EXTRA_DIST += \
+       src/sulogin-shell/systemd-sulogin-shell.in
+
 dist_bashcompletion_data = \
        shell-completion/bash/busctl \
        shell-completion/bash/journalctl \
@@ -633,7 +657,7 @@ EXTRA_DIST += \
        units/initrd-switch-root.service.in \
        units/systemd-nspawn@.service.in \
        units/systemd-update-done.service.in \
-    units/tmp.mount.m4
+       units/tmp.mount.m4
 
 if HAVE_SYSV_COMPAT
 nodist_systemunit_DATA += \
@@ -660,8 +684,6 @@ dist_doc_DATA = \
        LICENSE.LGPL2.1 \
        LICENSE.GPL2 \
        DISTRO_PORTING \
-       src/libsystemd/sd-bus/PORTING-DBUS1 \
-       src/libsystemd/sd-bus/DIFFERENCES \
        src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
 
 EXTRA_DIST += \
@@ -764,7 +786,9 @@ EXTRA_DIST += \
        tools/make-man-rules.py \
        tools/make-directive-index.py \
        tools/xml_helper.py \
-       man/glib-event-glue.c
+       man/glib-event-glue.c \
+       man/50-xdg-data-dirs.sh \
+       man/90-rearrange-path.py
 
 # ------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -876,6 +900,8 @@ libbasic_la_SOURCES = \
        src/basic/bus-label.h \
        src/basic/ratelimit.h \
        src/basic/ratelimit.c \
+       src/basic/exec-util.c \
+       src/basic/exec-util.h \
        src/basic/exit-status.c \
        src/basic/exit-status.h \
        src/basic/virt.c \
@@ -984,8 +1010,7 @@ libbasic_la_CFLAGS = \
 libbasic_la_LIBADD = \
        $(SELINUX_LIBS) \
        $(CAP_LIBS) \
-       -lrt \
-       -lm
+       -lrt
 
 # -----------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -997,6 +1022,7 @@ libshared_la_SOURCES = \
        src/shared/gpt.h \
        src/shared/udev-util.h \
        src/shared/linux/auto_dev-ioctl.h \
+       src/shared/linux-3.13/dm-ioctl.h \
        src/shared/initreq.h \
        src/shared/dns-domain.c \
        src/shared/dns-domain.h \
@@ -1016,6 +1042,8 @@ libshared_la_SOURCES = \
        src/shared/apparmor-util.h \
        src/shared/ima-util.c \
        src/shared/ima-util.h \
+       src/shared/journal-util.c \
+       src/shared/journal-util.h \
        src/shared/ptyfwd.c \
        src/shared/ptyfwd.h \
        src/shared/base-filesystem.c \
@@ -1475,8 +1503,10 @@ polkitpolicy_in_in_files += \
 pkgconfigdata_DATA += \
        src/core/systemd.pc
 
+if ENABLE_RPM_MACROS
 nodist_rpmmacros_DATA = \
        src/core/macros.systemd
+endif
 
 BUILT_SOURCES += \
        src/core/triggers.systemd
@@ -1533,6 +1563,7 @@ tests += \
        test-ellipsize \
        test-util \
        test-mount-util \
+       test-exec-util \
        test-cpu-set-util \
        test-hexdecoct \
        test-escape \
@@ -1737,6 +1768,8 @@ TEST_DATA_FILES += \
        test/test-execute/exec-restrict-namespaces-mnt.service \
        test/test-execute/exec-restrict-namespaces-mnt-blacklist.service \
        test/test-execute/exec-read-only-path-succeed.service \
+       test/test-execute/exec-privatedevices-yes-capability-sys-rawio.service \
+       test/test-execute/exec-privatedevices-no-capability-sys-rawio.service \
        test/bus-policy/hello.conf \
        test/bus-policy/methods.conf \
        test/bus-policy/ownerships.conf \
@@ -1919,6 +1952,12 @@ test_mount_util_SOURCES = \
 test_mount_util_LDADD = \
        libsystemd-shared.la
 
+test_exec_util_SOURCES = \
+       src/test/test-exec-util.c
+
+test_exec_util_LDADD = \
+       libsystemd-shared.la
+
 test_hexdecoct_SOURCES = \
        src/test/test-hexdecoct.c
 
@@ -2143,9 +2182,6 @@ test_selinux_LDADD = \
 test_sizeof_SOURCES = \
        src/test/test-sizeof.c
 
-test_sizeof_LDADD = \
-       libsystemd-shared.la
-
 BUILT_SOURCES += \
        src/test/test-hashmap-ordered.c
 
@@ -2470,7 +2506,7 @@ test_journal_importer_SOURCES = \
 test_journal_importer_LDADD = \
        libsystemd-shared.la
 
-EXTRA_DIST += \
+TEST_DATA_FILES += \
        test/journal-data/journal-1.txt \
        test/journal-data/journal-2.txt
 
@@ -2780,9 +2816,6 @@ systemd_detect_virt_SOURCES = \
 systemd_detect_virt_LDADD = \
        libsystemd-shared.la
 
-INSTALL_EXEC_HOOKS += \
-       systemd-detect-virt-install-hook
-
 # ------------------------------------------------------------------------------
 systemd_delta_SOURCES = \
        src/delta/delta.c
@@ -2819,6 +2852,13 @@ systemd_system_update_generator_SOURCES = \
 systemd_system_update_generator_LDADD = \
        libsystemd-shared.la
 
+# ------------------------------------------------------------------------------
+30_systemd_environment_d_generator_SOURCES = \
+       src/environment-d-generator/environment-d-generator.c
+
+30_systemd_environment_d_generator_LDADD = \
+       libsystemd-shared.la
+
 # ------------------------------------------------------------------------------
 if ENABLE_HIBERNATE
 systemgenerator_PROGRAMS += \
@@ -2939,28 +2979,35 @@ if ARCH_AARCH64
 efi_ldflags += --defsym=EFI_SUBSYSTEM=0xa
 EFI_FORMAT = -O binary
 else
+if ARCH_ARM
+efi_ldflags += --defsym=EFI_SUBSYSTEM=0xa
+EFI_FORMAT = -O binary
+else
 EFI_FORMAT = --target=efi-app-$(EFI_ARCH)
 endif
 endif
 endif
+endif
 
 # ------------------------------------------------------------------------------
-systemd_boot_headers = \
-       src/boot/efi/util.h \
+efi_headers = \
        src/boot/efi/console.h \
+       src/boot/efi/disk.h \
        src/boot/efi/graphics.h \
-       src/boot/efi/pefile.h \
+       src/boot/efi/linux.h \
        src/boot/efi/measure.h \
-       src/boot/efi/disk.h
+       src/boot/efi/pefile.h \
+       src/boot/efi/splash.h \
+       src/boot/efi/util.h
 
 systemd_boot_sources = \
-       src/boot/efi/util.c \
+       src/boot/efi/boot.c \
        src/boot/efi/console.c \
-       src/boot/efi/graphics.c \
-       src/boot/efi/pefile.c \
        src/boot/efi/disk.c \
+       src/boot/efi/graphics.c \
        src/boot/efi/measure.c \
-       src/boot/efi/boot.c
+       src/boot/efi/pefile.c \
+       src/boot/efi/util.c
 
 EXTRA_DIST += $(systemd_boot_sources) $(systemd_boot_headers)
 
@@ -2972,7 +3019,7 @@ if ENABLE_EFI
 if HAVE_GNUEFI
 bootlib_DATA = $(systemd_boot)
 
-$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(systemd_boot_headers))
+$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(efi_headers))
        @$(MKDIR_P) $(top_builddir)/src/boot/efi/
        $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
 
@@ -2990,24 +3037,15 @@ endif
 CLEANFILES += $(systemd_boot_objects) $(systemd_boot_solib) $(systemd_boot)
 
 # ------------------------------------------------------------------------------
-stub_headers = \
-       src/boot/efi/util.h \
-       src/boot/efi/pefile.h \
-       src/boot/efi/disk.h \
-       src/boot/efi/graphics.h \
-       src/boot/efi/splash.h \
-       src/boot/efi/measure.h \
-       src/boot/efi/linux.h
-
 stub_sources = \
-       src/boot/efi/util.c \
-       src/boot/efi/pefile.c \
        src/boot/efi/disk.c \
        src/boot/efi/graphics.c \
-       src/boot/efi/splash.c \
        src/boot/efi/linux.c \
        src/boot/efi/measure.c \
-       src/boot/efi/stub.c
+       src/boot/efi/pefile.c \
+       src/boot/efi/splash.c \
+       src/boot/efi/stub.c \
+       src/boot/efi/util.c
 
 EXTRA_DIST += \
        $(stub_sources) \
@@ -3022,10 +3060,6 @@ if ENABLE_EFI
 if HAVE_GNUEFI
 bootlib_DATA += $(stub)
 
-$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(stub_headers))
-       @$(MKDIR_P) $(top_builddir)/src/boot/efi/
-       $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
-
 $(stub_solib): $(stub_objects)
        $(AM_V_CCLD)$(LD) $(efi_ldflags) $(stub_objects) \
                -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
@@ -3043,8 +3077,8 @@ CLEANFILES += $(stub_objects) $(stub_solib) $(stub)
 # ------------------------------------------------------------------------------
 CLEANFILES += test-efi-disk.img
 
-test-efi-disk.img: $(systemd_boot) $(stub) test/test-efi-create-disk.sh
-       $(AM_V_GEN)test/test-efi-create-disk.sh
+test-efi-disk.img: $(systemd_boot) $(stub) test/splash.bmp test/test-efi-create-disk.sh
+       $(AM_V_GEN)test/test-efi-create-disk.sh $@ $(systemd_boot) $(stub) test/splash.bmp
 
 test-efi: test-efi-disk.img
        $(QEMU) -machine accel=kvm -m 1024 -bios $(QEMU_BIOS) -snapshot test-efi-disk.img
@@ -3371,7 +3405,6 @@ noinst_LTLIBRARIES += \
 
 EXTRA_DIST += \
        src/libsystemd/libsystemd.pc.in \
-       src/libsystemd/sd-bus/DIFFERENCES \
        src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
 
 libsystemd_la_SOURCES =
@@ -3568,9 +3601,9 @@ test_resolve_LDADD = \
        libsystemd-shared.la
 
 busctl_SOURCES = \
-       src/libsystemd/sd-bus/busctl.c \
-       src/libsystemd/sd-bus/busctl-introspect.c \
-       src/libsystemd/sd-bus/busctl-introspect.h
+       src/busctl/busctl.c \
+       src/busctl/busctl-introspect.c \
+       src/busctl/busctl-introspect.h
 
 busctl_LDADD = \
        libsystemd-shared.la
@@ -3780,7 +3813,6 @@ dist_network_DATA = \
        network/80-container-vz.network
 
 dist_udevrules_DATA += \
-       rules/50-udev-default.rules \
        rules/60-block.rules \
        rules/60-drm.rules \
        rules/60-evdev.rules \
@@ -3798,6 +3830,7 @@ dist_udevrules_DATA += \
        rules/80-net-setup-link.rules
 
 nodist_udevrules_DATA += \
+       rules/50-udev-default.rules \
        rules/99-systemd.rules
 
 udevconfdir = $(sysconfdir)/udev
@@ -3808,6 +3841,7 @@ pkgconfigdata_DATA += \
        src/udev/udev.pc
 
 EXTRA_DIST += \
+       rules/50-udev-default.rules.in \
        rules/99-systemd.rules.in \
        src/udev/udev.pc.in
 
@@ -3838,7 +3872,7 @@ src/udev/keyboard-keys-list.txt:
        $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9K]/ { if ($$2 != "KEY_MAX") { print $$2 } }' > $@
 
 src/udev/keyboard-keys-from-name.gperf: src/udev/keyboard-keys-list.txt
-       $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
+       $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key_name { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
 
 src/udev/keyboard-keys-from-name.h: src/udev/keyboard-keys-from-name.gperf
        $(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@
@@ -4522,10 +4556,8 @@ libsystemd_journal_internal_la_SOURCES += \
 libsystemd_journal_internal_la_LIBADD += \
        $(GCRYPT_LIBS)
 
-# fsprg.c is a drop-in file using void pointer arithmetic
 libsystemd_journal_internal_la_CFLAGS += \
-       $(GCRYPT_CFLAGS) \
-       -Wno-pointer-arith
+       $(GCRYPT_CFLAGS)
 endif
 
 noinst_LTLIBRARIES += \
@@ -4981,10 +5013,6 @@ systemd_localed_LDADD = \
        libsystemd-shared.la \
        -ldl
 
-systemd_localed_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(XKBCOMMON_CFLAGS)
-
 nodist_systemunit_DATA += \
        units/systemd-localed.service
 
@@ -5041,8 +5069,6 @@ dist_zshcompletion_data += \
        shell-completion/zsh/_localectl
 endif
 
-.PHONY: update-kbd-model-map
-
 polkitpolicy_in_files += \
        src/locale/org.freedesktop.locale1.policy.in
 
@@ -5563,14 +5589,12 @@ dist_dbuspolicy_DATA += \
 dist_dbussystemservice_DATA += \
        src/resolve/org.freedesktop.resolve1.service
 
-SYSTEM_UNIT_ALIASES += \
-       systemd-resolved.service dbus-org.freedesktop.resolve1.service
-
 BUSNAMES_TARGET_WANTS += \
        org.freedesktop.resolve1.busname
 
 GENERAL_ALIASES += \
-       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service
+       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-resolved.service \
+       $(systemunitdir)/systemd-resolved.service $(pkgsysconfdir)/system/dbus-org.freedesktop.resolve1.service
 
 nodist_pkgsysconf_DATA += \
        src/resolve/resolved.conf
@@ -5750,6 +5774,8 @@ libnetworkd_core_la_SOURCES = \
        src/network/netdev/veth.c \
        src/network/netdev/vxlan.h \
        src/network/netdev/vxlan.c \
+       src/network/netdev/geneve.h \
+       src/network/netdev/geneve.c \
        src/network/netdev/vlan.h \
        src/network/netdev/vlan.c \
        src/network/netdev/macvlan.h \
@@ -5786,6 +5812,8 @@ libnetworkd_core_la_SOURCES = \
        src/network/networkd-network-bus.c \
        src/network/networkd-address.h \
        src/network/networkd-address.c \
+       src/network/networkd-address-label.h \
+       src/network/networkd-address-label.c \
        src/network/networkd-route.h \
        src/network/networkd-route.c \
        src/network/networkd-fdb.h \
@@ -5896,10 +5924,8 @@ dist_dbuspolicy_DATA += \
 GENERAL_ALIASES += \
        $(systemunitdir)/systemd-networkd.socket $(pkgsysconfdir)/system/sockets.target.wants/systemd-networkd.socket \
        $(systemunitdir)/systemd-networkd.service $(pkgsysconfdir)/system/multi-user.target.wants/systemd-networkd.service \
-       $(systemunitdir)/systemd-networkd-wait-online.service $(pkgsysconfdir)/system/network-online.target.wants/systemd-networkd-wait-online.service
-
-SYSTEM_UNIT_ALIASES += \
-       systemd-networkd.service dbus-org.freedesktop.network1.service
+       $(systemunitdir)/systemd-networkd-wait-online.service $(pkgsysconfdir)/system/network-online.target.wants/systemd-networkd-wait-online.service \
+       $(systemunitdir)/systemd-networkd.service $(pkgsysconfdir)/system/dbus-org.freedesktop.network1.service
 
 BUSNAMES_TARGET_WANTS += \
        org.freedesktop.network1.busname
@@ -5922,7 +5948,8 @@ EXTRA_DIST += \
        src/network/systemd-networkd.pkla \
        units/systemd-networkd.service.m4.in \
        units/systemd-networkd-wait-online.service.in \
-       test/networkd-test.py
+       test/networkd-test.py \
+       test/test-exec-deserialization.py
 
 # ------------------------------------------------------------------------------
 if ENABLE_LOGIND
@@ -6222,6 +6249,8 @@ substitutions = \
        '|sysctldir=$(sysctldir)|' \
        '|systemgeneratordir=$(systemgeneratordir)|' \
        '|usergeneratordir=$(usergeneratordir)|' \
+       '|systemenvgeneratordir=$(systemenvgeneratordir)|' \
+       '|userenvgeneratordir=$(userenvgeneratordir)|' \
        '|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
        '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
        '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
@@ -6232,7 +6261,6 @@ substitutions = \
        '|exec_prefix=$(exec_prefix)|' \
        '|libdir=$(libdir)|' \
        '|includedir=$(includedir)|' \
-       '|VERSION=$(VERSION)|' \
        '|rootprefix=$(rootprefix)|' \
        '|udevlibexecdir=$(udevlibexecdir)|' \
        '|SUSHELL=$(SUSHELL)|' \
@@ -6256,6 +6284,7 @@ substitutions = \
        '|KILL_USER_PROCESSES=$(KILL_USER_PROCESSES)|' \
        '|systemuidmax=$(SYSTEM_UID_MAX)|' \
        '|systemgidmax=$(SYSTEM_GID_MAX)|' \
+       '|DEV_KVM_MODE=$(DEV_KVM_MODE)|' \
        '|TTY_GID=$(TTY_GID)|' \
        '|systemsleepdir=$(systemsleepdir)|' \
        '|systemshutdowndir=$(systemshutdowndir)|' \
@@ -6289,6 +6318,10 @@ src/core/%.systemd: src/core/%.systemd.in
 src/%.policy.in: src/%.policy.in.in
        $(SED_PROCESS)
 
+src/sulogin-shell/%: src/sulogin-shell/%.in
+       $(SED_PROCESS)
+       $(AM_V_GEN)chmod +x $@
+
 shell-completion/%: shell-completion/%.in
        $(SED_PROCESS)
 
@@ -6332,8 +6365,10 @@ nodist_polkitpolicy_DATA = \
        $(polkitpolicy_files) \
        $(polkitpolicy_in_in_files:.policy.in.in=.policy)
 polkitrules_DATA = $(polkitrules_files)
+if ENABLE_POLKIT_PKLA
 polkitpkla_DATA = $(polkitpkla_files)
 endif
+endif
 
 EXTRA_DIST += \
        $(polkitpolicy_in_files) \
@@ -6356,7 +6391,7 @@ XSLTPROC_FLAGS = \
        --stringparam funcsynopsis.style ansi \
        --stringparam man.authors.section.enabled 0 \
        --stringparam man.copyright.section.enabled 0 \
-       --stringparam systemd.version $(VERSION) \
+       --stringparam systemd.version $(PACKAGE_VERSION) \
        --path '$(builddir)/man:$(srcdir)/man'
 
 XSLT = $(if $(XSLTPROC), $(XSLTPROC), xsltproc)
@@ -6485,6 +6520,7 @@ INSTALL_DIRS += \
 endif
 
 INSTALL_DIRS += \
+       $(environmentdir) \
        $(prefix)/lib/modules-load.d \
        $(sysconfdir)/modules-load.d \
        $(prefix)/lib/systemd/network \
@@ -6527,6 +6563,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-zshcompletiondir=$$dc_install_base/$(zshcompletiondir) \
        --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
        --with-pamconfdir=$$dc_install_base/$(pamconfdir) \
+       --with-rpmmacrosdir=$$dc_install_base/$(rpmmacrosdir) \
        --with-rootprefix=$$dc_install_base \
        --enable-compat-libs
 
@@ -6570,34 +6607,27 @@ dist-check-includes: $(public_headers)
        done; exit $$res
 
 .PHONY: hwdb-update
-hwdb-update:
-       ( cd $(top_srcdir)/hwdb && \
-       wget -O usb.ids 'http://www.linux-usb.org/usb.ids' && \
-       wget -O pci.ids 'http://pci-ids.ucw.cz/v2.2/pci.ids' && \
-       wget -O ma-large.txt 'http://standards.ieee.org/develop/regauth/oui/oui.txt' && \
-       wget -O ma-medium.txt 'http://standards.ieee.org/develop/regauth/oui28/mam.txt' && \
-       wget -O ma-small.txt 'http://standards.ieee.org/develop/regauth/oui36/oui36.txt' && \
-       wget -O pnp_id_registry.html 'http://www.uefi.org/uefi-pnp-export' && \
-       wget -O acpi_id_registry.html 'http://www.uefi.org/uefi-acpi-export' && \
-       ./ids-update.pl && \
-       ./acpi-update.py > 20-acpi-vendor.hwdb.base && \
-       patch -p0 -o- 20-acpi-vendor.hwdb.base < 20-acpi-vendor.hwdb.patch > 20-acpi-vendor.hwdb )
+hwdb-update: tools/meson-hwdb-update.sh
+       $< $(top_srcdir)/hwdb
 
 .PHONY: built-sources
 built-sources: $(BUILT_SOURCES)
 
 .PHONY: git-tag
 git-tag:
-       git tag -s "v$(VERSION)" -m "systemd $(VERSION)"
+       git tag -s "v$(PACKAGE_VERSION)" -m "systemd $(PACKAGE_VERSION)"
 
 .PHONY: git-tar
 git-tar:
-       git archive --format=tar --prefix=systemd-$(VERSION)/ HEAD | gzip > systemd-$(VERSION).tar.gz
+       git archive -o systemd-$(PACKAGE_VERSION).tar.gz --prefix=systemd-$(PACKAGE_VERSION)/ HEAD
+
+%.asc: %
+       gpg2 --detach-sign -a -o $@ $<
 
 www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd
 
 .PHONY: doc-sync
-doc-sync: all
+doc-sync: man
        rsync -rlv --delete-excluded --include="*.html" --exclude="*" --omit-dir-times man/ $(www_target)/man/
 
 .PHONY: install-tree
@@ -6734,14 +6764,17 @@ cppcheck:
 print-%:
        @echo $($*)
 
+.PHONY: git-contrib
 git-contrib:
        @git shortlog -s `git describe --abbrev=0`.. | cut -c8- | sed 's/ / /g' | awk '{ print $$0 "," }' | sort -u
 
 EXTRA_DIST += \
         tools/gdb-sd_dump_hashmaps.py
 
+.PHONY: list-keys
 list-keys:
        gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --list-keys
 
+.PHONY: add-key
 add-key:
        gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --import -