chiark / gitweb /
tmpfiles: add 'a' type to set ACLs
[elogind.git] / Makefile.am
index 15e4484..440ba88 100644 (file)
@@ -74,7 +74,6 @@ dbussessionservicedir=@dbussessionservicedir@
 dbussystemservicedir=@dbussystemservicedir@
 pamlibdir=@pamlibdir@
 pamconfdir=@pamconfdir@
-pkgconfigdatadir=$(datadir)/pkgconfig
 pkgconfiglibdir=$(libdir)/pkgconfig
 polkitpolicydir=$(datadir)/polkit-1/actions
 bashcompletiondir=@bashcompletiondir@
@@ -85,6 +84,7 @@ sysvrcnddir=$(SYSTEM_SYSVRCND_PATH)
 varlogdir=$(localstatedir)/log
 systemdstatedir=$(localstatedir)/lib/systemd
 catalogstatedir=$(systemdstatedir)/catalog
+xinitrcdir=$(sysconfdir)/X11/xinit/xinitrc.d
 
 # Our own, non-special dirs
 pkgsysconfdir=$(sysconfdir)/systemd
@@ -148,6 +148,8 @@ check_PROGRAMS =
 check_DATA =
 tests=
 manual_tests =
+TEST_EXTENSIONS = .py
+PY_LOG_COMPILER = $(PYTHON)
 if ENABLE_TESTS
 noinst_PROGRAMS = $(manual_tests) $(tests)
 TESTS = $(tests)
@@ -368,6 +370,7 @@ bin_PROGRAMS = \
        systemd-delta \
        systemd-analyze \
        systemd-run \
+       systemd-stdio-bridge \
        systemd-path
 
 dist_bin_SCRIPTS = \
@@ -506,7 +509,8 @@ dist_systemunit_DATA = \
        units/systemd-udevd-control.socket \
        units/systemd-udevd-kernel.socket \
        units/system-update.target \
-       units/initrd-switch-root.target
+       units/initrd-switch-root.target \
+       units/machines.target
 
 if ENABLE_KDBUS
 dist_systemunit_DATA += \
@@ -542,7 +546,7 @@ nodist_systemunit_DATA = \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
        units/systemd-udev-settle.service \
-       units/systemd-udev-hwdb-update.service \
+       units/systemd-hwdb-update.service \
        units/debug-shell.service \
        units/initrd-parse-etc.service \
        units/initrd-cleanup.service \
@@ -768,6 +772,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/architecture.h \
        src/shared/efivars.c \
        src/shared/efivars.h \
+       src/shared/fstab-util.c \
+       src/shared/fstab-util.h \
        src/shared/path-util.c \
        src/shared/path-util.h \
        src/shared/time-util.c \
@@ -868,6 +874,8 @@ libsystemd_shared_la_SOURCES = \
        src/shared/audit.h \
        src/shared/xml.c \
        src/shared/xml.h \
+       src/shared/json.c \
+       src/shared/json.h \
        src/shared/bus-label.c \
        src/shared/bus-label.h \
        src/shared/gpt.h \
@@ -883,15 +891,20 @@ libsystemd_shared_la_SOURCES = \
        src/shared/pty.h \
        src/shared/async.c \
        src/shared/async.h \
-       src/shared/copy.c \
-       src/shared/copy.h \
        src/shared/base-filesystem.c \
        src/shared/base-filesystem.h \
        src/shared/memfd-util.c \
        src/shared/memfd-util.h \
        src/shared/uid-range.c \
        src/shared/uid-range.h \
-       src/shared/nss-util.h
+       src/shared/nss-util.h \
+       src/shared/verbs.c \
+       src/shared/verbs.h \
+       src/shared/sigbus.c \
+       src/shared/sigbus.h \
+       src/shared/build.h \
+       src/shared/import-util.c \
+       src/shared/import-util.h
 
 if HAVE_UTMP
 libsystemd_shared_la_SOURCES += \
@@ -915,7 +928,8 @@ libsystemd_shared_la_CFLAGS = \
        -pthread
 
 libsystemd_shared_la_LIBADD = \
-       $(CAP_LIBS)
+       $(CAP_LIBS) \
+       -lm
 
 # ------------------------------------------------------------------------------
 noinst_LTLIBRARIES += \
@@ -955,7 +969,14 @@ libsystemd_label_la_SOURCES = \
        src/shared/condition.c \
        src/shared/condition.h \
        src/shared/generator.h \
-       src/shared/generator.c
+       src/shared/generator.c \
+       src/shared/btrfs-util.c \
+       src/shared/btrfs-util.h \
+       src/shared/btrfs-ctree.h \
+       src/shared/machine-image.c \
+       src/shared/machine-image.h \
+       src/shared/copy.c \
+       src/shared/copy.h
 
 libsystemd_label_la_CFLAGS = \
        $(AM_CFLAGS) \
@@ -966,6 +987,24 @@ libsystemd_label_la_LIBADD = \
 
 # -----------------------------------------------------------------------------
 
+if HAVE_LIBIPTC
+noinst_LTLIBRARIES += \
+       libsystemd-fw.la
+
+libsystemd_fw_la_SOURCES = \
+       src/shared/fw-util.h \
+       src/shared/fw-util.c
+
+libsystemd_fw_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(LIBIPTC_CFLAGS)
+
+libsystemd_fw_la_LIBADD = \
+       $(LIBIPTC_LIBS)
+endif
+
+# -----------------------------------------------------------------------------
+
 if ENABLE_LDCONFIG
 dist_systemunit_DATA += \
        units/ldconfig.service
@@ -1040,10 +1079,10 @@ libsystemd_core_la_SOURCES = \
        src/core/socket.h \
        src/core/busname.c \
        src/core/busname.h \
-       src/core/bus-common.c \
-       src/core/bus-common.h \
        src/core/bus-endpoint.c \
        src/core/bus-endpoint.h \
+       src/core/bus-policy.c \
+       src/core/bus-policy.h \
        src/core/target.c \
        src/core/target.h \
        src/core/snapshot.c \
@@ -1134,8 +1173,6 @@ libsystemd_core_la_SOURCES = \
        src/core/loopback-setup.c \
        src/core/namespace.c \
        src/core/namespace.h \
-       src/core/build.h \
-       src/core/sysfs-show.h \
        src/core/killall.h \
        src/core/killall.c \
        src/core/audit-fd.c \
@@ -1250,7 +1287,7 @@ src/shared/cap-list.txt:
        $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/capability.h -include missing.h - </dev/null | $(AWK) '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $$2; }' | grep -v CAP_LAST_CAP >$@
 
 src/shared/cap-to-name.h: src/shared/cap-list.txt
-       $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
+       $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@
 
 src/shared/cap-from-name.gperf: src/shared/cap-list.txt
        $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct capability_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
@@ -1294,7 +1331,7 @@ dist_dbussystemservice_DATA += \
 polkitpolicy_in_in_files += \
        src/core/org.freedesktop.systemd1.policy.in.in
 
-pkgconfigdata_DATA = \
+pkgconfiglib_DATA += \
        src/core/systemd.pc
 
 nodist_rpmmacros_DATA = \
@@ -1319,7 +1356,13 @@ manual_tests += \
        test-install \
        test-watchdog \
        test-log \
-       test-ipcrm
+       test-ipcrm \
+       test-btrfs
+
+if HAVE_LIBIPTC
+manual_tests += \
+       test-fw-util
+endif
 
 if HAVE_KMOD
 manual_tests += \
@@ -1341,6 +1384,7 @@ tests += \
        test-utf8 \
        test-ellipsize \
        test-util \
+       test-path-lookup \
        test-ring \
        test-barrier \
        test-pty \
@@ -1353,6 +1397,7 @@ tests += \
        test-calendarspec \
        test-strip-tab-ansi \
        test-cgroup-util \
+       test-fstab-util \
        test-prioq \
        test-fileio \
        test-time \
@@ -1363,6 +1408,7 @@ tests += \
        test-tables \
        test-device-nodes \
        test-xml \
+       test-json \
        test-architecture \
        test-socket-util \
        test-fdset \
@@ -1376,7 +1422,9 @@ tests += \
        test-locale-util \
        test-execute \
        test-copy \
-       test-cap-list
+       test-cap-list \
+       test-sigbus \
+       test-verbs
 
 EXTRA_DIST += \
        test/a.service \
@@ -1568,6 +1616,13 @@ test_copy_SOURCES = \
        src/test/test-copy.c
 
 test_copy_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+
+test_sigbus_SOURCES = \
+       src/test/test-sigbus.c
+
+test_sigbus_LDADD = \
        libsystemd-shared.la
 
 test_condition_SOURCES = \
@@ -1585,6 +1640,12 @@ test_fdset_LDADD = \
        libsystemd-shared.la \
        libsystemd-internal.la
 
+test_fstab_util_SOURCES = \
+       src/test/test-fstab-util.c
+
+test_fstab_util_LDADD = \
+       libsystemd-shared.la
+
 test_ratelimit_SOURCES = \
        src/test/test-ratelimit.c
 
@@ -1595,7 +1656,14 @@ test_util_SOURCES = \
        src/test/test-util.c
 
 test_util_LDADD = \
+       libsystemd-shared.la
+
+test_path_lookup_SOURCES = \
+       src/test/test-path-lookup.c
+
+test_path_lookup_LDADD = \
        -lm \
+       libsystemd-units.la \
        libsystemd-shared.la
 
 test_uid_range_SOURCES = \
@@ -1643,6 +1711,12 @@ test_tmpfiles_LDADD = \
 test_namespace_SOURCES = \
        src/test/test-namespace.c
 
+test_verbs_SOURCES = \
+       src/test/test-verbs.c
+
+test_verbs_LDADD = \
+       libsystemd-shared.la
+
 test_namespace_LDADD = \
        libsystemd-core.la
 
@@ -1683,6 +1757,12 @@ test_xml_SOURCES = \
 test_xml_LDADD = \
        libsystemd-shared.la
 
+test_json_SOURCES = \
+       src/test/test-json.c
+
+test_json_LDADD = \
+       libsystemd-shared.la
+
 test_list_SOURCES = \
        src/test/test-list.c
 
@@ -1698,8 +1778,8 @@ test_unaligned_SOURCES = \
 test_tables_SOURCES = \
        src/test/test-tables.c \
        src/shared/test-tables.h \
-       src/bus-proxyd/bus-policy.c \
-       src/bus-proxyd/bus-policy.h \
+       src/bus-proxyd/bus-xml-policy.c \
+       src/bus-proxyd/bus-xml-policy.h \
        src/journal/journald-server.c \
        src/journal/journald-server.h
 
@@ -1756,6 +1836,27 @@ test_ipcrm_LDADD = \
        libsystemd-shared.la \
        -lrt
 
+test_btrfs_SOURCES = \
+       src/test/test-btrfs.c
+
+test_btrfs_LDADD = \
+       libsystemd-label.la \
+       libsystemd-shared.la
+
+if HAVE_LIBIPTC
+test_fw_util_SOURCES = \
+       src/test/test-fw-util.c
+
+test_fw_util_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(LIBIPTC_CFLAGS)
+
+test_fw_util_LDADD = \
+       libsystemd-fw.la \
+       libsystemd-shared.la \
+       $(LIBIPTC_LIBS)
+endif
+
 test_rtnl_manual_SOURCES = \
        src/test/test-rtnl-manual.c
 
@@ -1927,11 +2028,10 @@ test_conf_files_LDADD = \
        libsystemd-shared.la
 
 test_bus_policy_SOURCES = \
-       src/bus-proxyd/test-bus-policy.c \
-       src/bus-proxyd/bus-policy.c \
-       src/bus-proxyd/bus-policy.h
+       src/bus-proxyd/test-bus-xml-policy.c
 
 test_bus_policy_LDADD = \
+       libsystemd-proxy.la \
        libsystemd-internal.la \
        libsystemd-shared.la
 
@@ -2093,6 +2193,11 @@ systemd_tmpfiles_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la
 
+if HAVE_ACL
+systemd_tmpfiles_LDADD += \
+       libsystemd-acl.la
+endif
+
 rootbin_PROGRAMS += \
        systemd-tmpfiles
 
@@ -2435,6 +2540,9 @@ dbus1-generator-install-hook:
 dbus1-generator-uninstall-hook:
        rm -f $(DESTDIR)$(usergeneratordir)/systemd-dbus1-generator
 
+dist_xinitrc_SCRIPTS = \
+       xorg/50-systemd-user.sh
+
 INSTALL_EXEC_HOOKS += dbus1-generator-install-hook
 UNINSTALL_EXEC_HOOKS += dbus1-generator-uninstall-hook
 endif
@@ -2565,6 +2673,11 @@ systemd_nspawn_LDADD += \
        $(SECCOMP_LIBS)
 endif
 
+if HAVE_LIBIPTC
+systemd_nspawn_LDADD += \
+       libsystemd-fw.la
+endif
+
 # ------------------------------------------------------------------------------
 systemd_run_SOURCES = \
        src/run/run.c
@@ -2575,46 +2688,67 @@ systemd_run_LDADD = \
        libsystemd-shared.la
 
 # ------------------------------------------------------------------------------
+noinst_LTLIBRARIES += \
+       libsystemd-proxy.la
+
+libsystemd_proxy_la_SOURCES = \
+       src/bus-proxyd/bus-xml-policy.c \
+       src/bus-proxyd/bus-xml-policy.h \
+       src/bus-proxyd/driver.c \
+       src/bus-proxyd/driver.h \
+       src/bus-proxyd/proxy.c \
+       src/bus-proxyd/proxy.h \
+       src/bus-proxyd/synthesize.c \
+       src/bus-proxyd/synthesize.h
+
+libsystemd_proxy_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -pthread
+
+libsystemd_proxy_la_LIBADD = \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
 systemd_bus_proxyd_SOURCES = \
-       src/bus-proxyd/bus-proxyd.c \
-       src/bus-proxyd/bus-policy.c \
-       src/bus-proxyd/bus-policy.h
+       src/bus-proxyd/bus-proxyd.c
+
+systemd_bus_proxyd_CFLAGS = \
+       $(AM_CFLAGS) \
+       -pthread
 
 systemd_bus_proxyd_LDADD = \
+       libsystemd-proxy.la \
        libsystemd-internal.la \
        libsystemd-shared.la
 
-bus-proxyd-install-hook:
-       $(AM_V_at)$(MKDIR_P) $(DESTDIR)$(bindir)
-       $(AM_V_RM)rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge
-       $(AM_V_LN)$(LN_S) --relative -f $(DESTDIR)$(rootlibexecdir)/systemd-bus-proxyd $(DESTDIR)$(bindir)/systemd-stdio-bridge
-
-bus-proxyd-uninstall-hook:
-       rm -f $(DESTDIR)$(bindir)/systemd-stdio-bridge
+systemd_stdio_bridge_SOURCES = \
+       src/bus-proxyd/stdio-bridge.c
 
-INSTALL_EXEC_HOOKS += bus-proxyd-install-hook
-UNINSTALL_EXEC_HOOKS += bus-proxyd-uninstall-hook
+systemd_stdio_bridge_LDADD = \
+       libsystemd-proxy.la \
+       libsystemd-internal.la \
+       libsystemd-shared.la
 
 if ENABLE_KDBUS
 nodist_systemunit_DATA += \
-       units/systemd-bus-proxyd@.service
+       units/systemd-bus-proxyd.service
 
 dist_systemunit_DATA += \
        units/systemd-bus-proxyd.socket
 
 nodist_userunit_DATA += \
-       units/user/systemd-bus-proxyd@.service
+       units/user/systemd-bus-proxyd.service
 
 dist_userunit_DATA += \
        units/user/systemd-bus-proxyd.socket
 endif
 
 EXTRA_DIST += \
-       units/systemd-bus-proxyd@.service.m4.in \
-       units/user/systemd-bus-proxyd@.service.in
+       units/systemd-bus-proxyd.service.m4.in \
+       units/user/systemd-bus-proxyd.service.in
 
 CLEANFILES += \
-       units/systemd-bus-proxyd@.service.m4
+       units/systemd-bus-proxyd.service.m4
 
 if HAVE_SMACK
 bus-proxyd-set-cap-hook:
@@ -2709,7 +2843,7 @@ libsystemd_internal_la_SOURCES = \
        src/libsystemd/sd-network/network-util.c \
        src/libsystemd/sd-hwdb/sd-hwdb.c \
        src/libsystemd/sd-hwdb/hwdb-util.h \
-       src/libsystemd/sd-hwdb/hwdb-intenal.h
+       src/libsystemd/sd-hwdb/hwdb-internal.h
 
 nodist_libsystemd_internal_la_SOURCES = \
        src/libsystemd/libsystemd.sym
@@ -3034,6 +3168,7 @@ libsystemd_network_la_SOURCES = \
        src/systemd/sd-dhcp6-client.h \
        src/systemd/sd-dhcp6-lease.h \
        src/systemd/sd-pppoe.h \
+       src/systemd/sd-lldp.h \
        src/libsystemd-network/sd-dhcp-client.c \
        src/libsystemd-network/sd-dhcp-server.c \
        src/libsystemd-network/dhcp-network.c \
@@ -3058,7 +3193,20 @@ libsystemd_network_la_SOURCES = \
        src/libsystemd-network/dhcp6-network.c \
        src/libsystemd-network/dhcp6-option.c \
        src/libsystemd-network/dhcp6-lease-internal.h \
-       src/libsystemd-network/sd-dhcp6-lease.c
+       src/libsystemd-network/sd-dhcp6-lease.c \
+       src/libsystemd-network/dhcp-identifier.h \
+       src/libsystemd-network/dhcp-identifier.c \
+       src/libsystemd-network/lldp.h \
+       src/libsystemd-network/lldp-tlv.h \
+       src/libsystemd-network/lldp-tlv.c \
+       src/libsystemd-network/lldp-network.h \
+       src/libsystemd-network/lldp-network.c \
+       src/libsystemd-network/lldp-port.h \
+       src/libsystemd-network/lldp-port.c \
+       src/libsystemd-network/lldp-internal.h \
+       src/libsystemd-network/lldp-internal.c \
+       src/libsystemd-network/lldp-util.h \
+       src/libsystemd-network/sd-lldp.c
 
 libsystemd_network_la_LIBADD = \
        libudev-internal.la \
@@ -3120,7 +3268,9 @@ test_icmp6_rs_SOURCES = \
        src/systemd/sd-dhcp6-client.h \
        src/systemd/sd-icmp6-nd.h \
        src/libsystemd-network/dhcp6-internal.h \
-       src/libsystemd-network/test-icmp6-rs.c
+       src/libsystemd-network/test-icmp6-rs.c \
+       src/libsystemd-network/dhcp-identifier.h \
+       src/libsystemd-network/dhcp-identifier.c
 
 test_icmp6_rs_LDADD = \
        libsystemd-network.la \
@@ -3130,20 +3280,34 @@ test_icmp6_rs_LDADD = \
 test_dhcp6_client_SOURCES = \
        src/systemd/sd-dhcp6-client.h \
        src/libsystemd-network/dhcp6-internal.h \
-       src/libsystemd-network/test-dhcp6-client.c
+       src/libsystemd-network/test-dhcp6-client.c \
+       src/libsystemd-network/dhcp-identifier.h \
+       src/libsystemd-network/dhcp-identifier.c
 
 test_dhcp6_client_LDADD = \
        libsystemd-network.la \
        libsystemd-internal.la \
        libsystemd-shared.la
 
+test_lldp_SOURCES = \
+       src/libsystemd-network/lldp.h \
+       src/libsystemd-network/lldp-tlv.h \
+       src/libsystemd-network/lldp-tlv.c \
+       src/libsystemd-network/test-lldp.c
+
+test_lldp_LDADD = \
+       libsystemd-network.la \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
 tests += \
        test-dhcp-option \
        test-dhcp-client \
        test-dhcp-server \
        test-ipv4ll \
        test-icmp6-rs \
-       test-dhcp6-client
+       test-dhcp6-client \
+       test-lldp
 
 manual_tests += \
        test-pppoe
@@ -3170,15 +3334,15 @@ nodist_userunit_DATA += \
 USER_DEFAULT_TARGET_WANTS += \
        systemd-consoled.service
 
-EXTRA_DIST += \
-       units/user/systemd-consoled.service.in
-
 tests += \
        test-term-page \
        test-term-parser \
        test-unifont
 endif
 
+EXTRA_DIST += \
+       units/user/systemd-consoled.service.in
+
 libsystemd_terminal_la_CFLAGS = \
        $(AM_CFLAGS) \
        $(TERMINAL_CFLAGS)
@@ -3323,7 +3487,6 @@ libudev_la_SOURCES =\
        src/libudev/libudev-enumerate.c \
        src/libudev/libudev-monitor.c \
        src/libudev/libudev-queue.c \
-       src/libudev/libudev-hwdb-def.h \
        src/libudev/libudev-hwdb.c
 
 libudev_la_CFLAGS = \
@@ -3382,8 +3545,7 @@ libudev_internal_la_CFLAGS = \
 
 # ------------------------------------------------------------------------------
 INSTALL_DIRS += \
-       $(sysconfdir)/udev/rules.d \
-       $(sysconfdir)/udev/hwdb.d
+       $(sysconfdir)/udev/rules.d
 
 dist_network_DATA = \
        network/99-default.link \
@@ -3411,20 +3573,6 @@ dist_udevrules_DATA += \
 nodist_udevrules_DATA += \
        rules/99-systemd.rules
 
-dist_udevhwdb_DATA = \
-       hwdb/20-pci-vendor-model.hwdb \
-       hwdb/20-pci-classes.hwdb \
-       hwdb/20-usb-vendor-model.hwdb \
-       hwdb/20-usb-classes.hwdb \
-       hwdb/20-sdio-vendor-model.hwdb \
-       hwdb/20-sdio-classes.hwdb \
-       hwdb/20-bluetooth-vendor-product.hwdb \
-       hwdb/20-acpi-vendor.hwdb \
-       hwdb/20-OUI.hwdb \
-       hwdb/20-net-ifname.hwdb \
-       hwdb/60-keyboard.hwdb \
-       hwdb/70-mouse.hwdb
-
 udevconfdir = $(sysconfdir)/udev
 dist_udevconf_DATA = \
        src/udev/udev.conf
@@ -3444,14 +3592,12 @@ CLEANFILES += \
 EXTRA_DIST += \
        units/systemd-udevd.service.in \
        units/systemd-udev-trigger.service.in \
-       units/systemd-udev-settle.service.in \
-       units/systemd-udev-hwdb-update.service.in
+       units/systemd-udev-settle.service.in
 
 CLEANFILES += \
        units/systemd-udevd.service \
        units/systemd-udev-trigger.service \
-       units/systemd-udev-settle.service \
-       units/systemd-udev-hwdb-update.service
+       units/systemd-udev-settle.service
 
 SOCKETS_TARGET_WANTS += \
        systemd-udevd-control.socket \
@@ -3459,8 +3605,7 @@ SOCKETS_TARGET_WANTS += \
 
 SYSINIT_TARGET_WANTS += \
        systemd-udevd.service \
-       systemd-udev-trigger.service \
-       systemd-udev-hwdb-update.service
+       systemd-udev-trigger.service
 
 rootbin_PROGRAMS += \
        udevadm
@@ -3581,21 +3726,69 @@ udevadm_SOURCES = \
 udevadm_LDADD = \
        libudev-core.la
 
+# ------------------------------------------------------------------------------
+if ENABLE_HWDB
+INSTALL_DIRS += \
+       $(sysconfdir)/udev/hwdb.d
+
+systemd_hwdb_SOURCES = \
+       src/libsystemd/sd-hwdb/hwdb-internal.h \
+       src/hwdb/hwdb.c
+
+systemd_hwdb_LDADD = \
+       libsystemd-shared.la \
+       libsystemd-internal.la \
+       libudev-internal.la
+
+rootbin_PROGRAMS += \
+       systemd-hwdb
+
+dist_udevhwdb_DATA = \
+       hwdb/20-pci-vendor-model.hwdb \
+       hwdb/20-pci-classes.hwdb \
+       hwdb/20-usb-vendor-model.hwdb \
+       hwdb/20-usb-classes.hwdb \
+       hwdb/20-sdio-vendor-model.hwdb \
+       hwdb/20-sdio-classes.hwdb \
+       hwdb/20-bluetooth-vendor-product.hwdb \
+       hwdb/20-acpi-vendor.hwdb \
+       hwdb/20-OUI.hwdb \
+       hwdb/20-net-ifname.hwdb \
+       hwdb/60-keyboard.hwdb \
+       hwdb/70-mouse.hwdb
+
+EXTRA_DIST += \
+       units/systemd-hwdb-update.service.in
+
+CLEANFILES += \
+       units/systemd-hwdb-update.service
+
+SYSINIT_TARGET_WANTS += \
+       systemd-hwdb-update.service
+
 # Update hwdb on installation. Do not bother if installing
 # in DESTDIR, since this is likely for packaging purposes.
 hwdb-update-hook:
-       -test -n "$(DESTDIR)" || $(rootbindir)/udevadm hwdb --update
+       -test -n "$(DESTDIR)" || $(rootbindir)/systemd-hwdb update
 
 INSTALL_DATA_HOOKS += \
        hwdb-update-hook
 
 hwdb-remove-hook:
        -test -n "$(DESTDIR)" || rm -f /etc/udev/hwdb.bin
+endif
 
 # ------------------------------------------------------------------------------
 TESTS += \
        test/udev-test.pl \
-       test/rules-test.sh
+       $(NULL)
+
+if HAVE_PYTHON
+TESTS += \
+       test/rule-syntax-check.py \
+       test/sysv-generator-test.py \
+       $(NULL)
+endif
 
 manual_tests += \
        test-libudev \
@@ -3639,8 +3832,10 @@ DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
 EXTRA_DIST += \
        test/sys.tar.xz \
        test/udev-test.pl \
-       test/rules-test.sh \
-       test/rule-syntax-check.py
+       test/rule-syntax-check.py \
+       test/sysv-generator-test.py \
+       $(NULL)
+
 
 # ------------------------------------------------------------------------------
 ata_id_SOURCES = \
@@ -3700,7 +3895,8 @@ v4l_id_SOURCES = \
        src/udev/v4l_id/v4l_id.c
 
 v4l_id_LDADD = \
-       libudev-internal.la
+       libudev-internal.la \
+       libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
        v4l_id
@@ -3713,7 +3909,7 @@ accelerometer_SOURCES = \
        src/udev/accelerometer/accelerometer.c
 
 accelerometer_LDADD = \
-       libudev-internal.la -lm \
+       libudev-internal.la \
        libsystemd-shared.la
 
 udevlibexec_PROGRAMS += \
@@ -4260,16 +4456,15 @@ libsystemd_journal_internal_la_SOURCES = \
        src/journal/catalog.c \
        src/journal/catalog.h \
        src/journal/mmap-cache.c \
-       src/journal/mmap-cache.h
+       src/journal/mmap-cache.h \
+       src/journal/compress.c
 
 # using _CFLAGS = in the conditional below would suppress AM_CFLAGS
 libsystemd_journal_internal_la_CFLAGS = \
        $(AM_CFLAGS)
 
-libsystemd_journal_internal_la_LIBADD =
-
-libsystemd_journal_internal_la_SOURCES += \
-       src/journal/compress.c
+libsystemd_journal_internal_la_LIBADD = \
+       libsystemd-label.la
 
 if HAVE_XZ
 libsystemd_journal_internal_la_CFLAGS += \
@@ -4329,6 +4524,7 @@ dist_catalog_DATA = \
        catalog/systemd.fr.catalog \
        catalog/systemd.it.catalog \
        catalog/systemd.pl.catalog \
+       catalog/systemd.pt_BR.catalog \
        catalog/systemd.ru.catalog \
        catalog/systemd.catalog
 
@@ -4909,8 +5105,7 @@ systemd_timesyncd_LDADD = \
        libsystemd-network.la \
        libsystemd-label.la \
        libsystemd-internal.la \
-       libsystemd-shared.la \
-       -lm
+       libsystemd-shared.la
 
 rootlibexec_PROGRAMS += \
        systemd-timesyncd
@@ -4970,10 +5165,13 @@ rootlibexec_PROGRAMS += \
        systemd-machined
 
 libsystemd_machine_core_la_SOURCES = \
-       src/machine/machined-dbus.c \
        src/machine/machine.c \
        src/machine/machine.h \
-       src/machine/machine-dbus.c
+       src/machine/machined-dbus.c \
+       src/machine/machine-dbus.c \
+       src/machine/machine-dbus.h \
+       src/machine/image-dbus.c \
+       src/machine/image-dbus.h
 
 libsystemd_machine_core_la_LIBADD = \
        libsystemd-label.la \
@@ -4989,6 +5187,8 @@ machinectl_SOURCES = \
 
 machinectl_LDADD = \
        libsystemd-internal.la \
+       libsystemd-logs.la \
+       libsystemd-journal-internal.la \
        libsystemd-shared.la
 
 rootbin_PROGRAMS += \
@@ -5021,6 +5221,12 @@ dist_dbussystemservice_DATA += \
 dist_dbuspolicy_DATA += \
        src/machine/org.freedesktop.machine1.conf
 
+polkitpolicy_files += \
+       src/machine/org.freedesktop.machine1.policy
+
+polkitpolicy_in_files += \
+       src/machine/org.freedesktop.machine1.policy.in
+
 dist_zshcompletion_DATA += \
        shell-completion/zsh/_machinectl \
        shell-completion/zsh/_sd_machines
@@ -5053,6 +5259,128 @@ libnss_mymachines_la_LIBADD = \
 
 lib_LTLIBRARIES += \
        libnss_mymachines.la
+
+endif
+
+# ------------------------------------------------------------------------------
+if ENABLE_IMPORTD
+
+if HAVE_LIBCURL
+if HAVE_XZ
+if HAVE_ZLIB
+if HAVE_BZIP2
+if HAVE_GCRYPT
+
+rootlibexec_PROGRAMS += \
+       systemd-importd \
+       systemd-import
+
+systemd_importd_SOURCES = \
+       src/import/importd.c \
+       src/import/importd.h
+
+systemd_importd_CFLAGS = \
+       $(AM_CFLAGS) \
+       -D SYSTEMD_IMPORT_PATH=\"$(rootlibexecdir)/systemd-import\" \
+       -D VENDOR_KEYRING_PATH=\"$(rootlibexecdir)/import-pubring.gpg\" \
+       -D USER_KEYRING_PATH=\"$(pkgsysconfdir)/import-pubring.gpg\"
+
+systemd_importd_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-shared.la
+
+systemd_import_SOURCES = \
+       src/import/import.c \
+       src/import/import-raw.c \
+       src/import/import-raw.h \
+       src/import/import-tar.c \
+       src/import/import-tar.h \
+       src/import/import-dkr.c \
+       src/import/import-dkr.h \
+       src/import/import-job.c \
+       src/import/import-job.h \
+       src/import/import-common.c \
+       src/import/import-common.h \
+       src/import/curl-util.c \
+       src/import/curl-util.h \
+       src/import/aufs-util.c \
+       src/import/aufs-util.h \
+       src/import/qcow2-util.c \
+       src/import/qcow2-util.h
+
+systemd_import_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(LIBCURL_CFLAGS) \
+       $(XZ_CFLAGS) \
+       $(ZLIB_CFLAGS) \
+       $(GCRYPT_CFLAGS) \
+       -D VENDOR_KEYRING_PATH=\"$(rootlibexecdir)/import-pubring.gpg\" \
+       -D USER_KEYRING_PATH=\"$(pkgsysconfdir)/import-pubring.gpg\"
+
+systemd_import_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       $(LIBCURL_LIBS) \
+       $(XZ_LIBS) \
+       $(ZLIB_LIBS) \
+       -lbz2 \
+       $(GCRYPT_LIBS)
+
+dist_rootlibexec_DATA = \
+       src/import/import-pubring.gpg
+
+nodist_systemunit_DATA += \
+       units/systemd-importd.service
+
+EXTRA_DIST += \
+       units/systemd-importd.service.in
+
+dist_systemunit_DATA_busnames += \
+       units/org.freedesktop.import1.busname
+
+BUSNAMES_TARGET_WANTS += \
+       org.freedesktop.import1.busname
+
+SYSTEM_UNIT_ALIASES += \
+       systemd-importd.service dbus-org.freedesktop.import1.service
+
+dist_dbussystemservice_DATA += \
+       src/import/org.freedesktop.import1.service
+
+dist_dbuspolicy_DATA += \
+       src/import/org.freedesktop.import1.conf
+
+polkitpolicy_files += \
+       src/import/org.freedesktop.import1.policy
+
+polkitpolicy_in_files += \
+       src/import/org.freedesktop.import1.policy.in
+
+manual_tests += \
+       test-qcow2
+
+test_qcow2_SOURCES = \
+       src/import/test-qcow2.c \
+       src/import/qcow2-util.c \
+       src/import/qcow2-util.h
+
+test_qcow2_CFLAGS = \
+       $(AM_CFLAGS) \
+       $(ZLIB_CFLAGS)
+
+test_qcow2_LDADD = \
+       libsystemd-internal.la \
+       libsystemd-label.la \
+       libsystemd-shared.la \
+       $(ZLIB_LIBS)
+
+endif
+endif
+endif
+endif
+endif
+
 endif
 
 # ------------------------------------------------------------------------------
@@ -5112,7 +5440,6 @@ systemd_resolved_LDADD = \
        libsystemd-label.la \
        libsystemd-internal.la \
        libsystemd-shared.la \
-       -lm \
        $(LIBIDN_LIBS)
 
 rootlibexec_PROGRAMS += \
@@ -5180,8 +5507,8 @@ libnss_resolve_la_LDFLAGS = \
        -Wl,--version-script=$(top_srcdir)/src/nss-resolve/nss-resolve.sym
 
 libnss_resolve_la_LIBADD = \
-       libsystemd-shared.la \
-       libsystemd-internal.la
+       libsystemd-internal.la \
+       libsystemd-shared.la
 
 lib_LTLIBRARIES += \
        libnss_resolve.la
@@ -5206,7 +5533,6 @@ systemd_resolve_host_SOURCES = \
 systemd_resolve_host_LDADD = \
        libsystemd-internal.la \
        libsystemd-shared.la \
-       -lm \
        $(LIBIDN_LIBS)
 
 rootlibexec_PROGRAMS += \
@@ -5225,6 +5551,11 @@ systemd_networkd_SOURCES = \
 systemd_networkd_LDADD = \
        libsystemd-networkd-core.la
 
+if HAVE_LIBIPTC
+systemd_networkd_LDADD += \
+       libsystemd-fw.la
+endif
+
 noinst_LTLIBRARIES += \
        libsystemd-networkd-core.la
 
@@ -5241,6 +5572,7 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-netdev-vxlan.h \
        src/network/networkd-netdev-vlan.h \
        src/network/networkd-netdev-macvlan.h \
+       src/network/networkd-netdev-ipvlan.h \
        src/network/networkd-netdev-dummy.h \
        src/network/networkd-netdev-tuntap.h \
        src/network/networkd-netdev-bond.h \
@@ -5251,6 +5583,7 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-netdev-vxlan.c \
        src/network/networkd-netdev-vlan.c \
        src/network/networkd-netdev-macvlan.c \
+       src/network/networkd-netdev-ipvlan.c \
        src/network/networkd-netdev-dummy.c \
        src/network/networkd-netdev-tuntap.c \
        src/network/networkd-netdev-bond.c \
@@ -5263,6 +5596,7 @@ libsystemd_networkd_core_la_SOURCES = \
        src/network/networkd-address.c \
        src/network/networkd-route.c \
        src/network/networkd-manager.c \
+       src/network/networkd-fdb.c \
        src/network/networkd-address-pool.c
 
 nodist_libsystemd_networkd_core_la_SOURCES = \
@@ -5314,6 +5648,11 @@ test_network_SOURCES = \
 test_network_LDADD = \
        libsystemd-networkd-core.la
 
+if HAVE_LIBIPTC
+test_network_LDADD += \
+       libsystemd-fw.la
+endif
+
 test_network_tables_SOURCES = \
        src/network/test-network-tables.c \
        src/shared/test-tables.h
@@ -5322,6 +5661,11 @@ test_network_tables_LDADD = \
        libsystemd-networkd-core.la \
        libudev-core.la
 
+if HAVE_LIBIPTC
+test_network_tables_LDADD += \
+       libsystemd-fw.la
+endif
+
 tests += \
        test-network \
        test-network-tables
@@ -5410,10 +5754,13 @@ rootlibexec_PROGRAMS += \
 
 loginctl_SOURCES = \
        src/login/loginctl.c \
+       src/login/sysfs-show.h \
        src/login/sysfs-show.c
 
 loginctl_LDADD = \
        libsystemd-internal.la \
+       libsystemd-logs.la \
+       libsystemd-journal-internal.la \
        libudev-internal.la \
        libsystemd-shared.la
 
@@ -5974,7 +6321,6 @@ EXTRA_DIST += \
 CLEANFILES += \
        $(nodist_systemunit_DATA) \
        $(nodist_userunit_DATA) \
-       $(pkgconfigdata_DATA) \
        $(pkgconfiglib_DATA) \
        $(nodist_polkitpolicy_DATA)
 
@@ -6395,3 +6741,9 @@ git-contrib:
 
 EXTRA_DIST += \
         tools/gdb-sd_dump_hashmaps.py
+
+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
+
+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 -