.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@
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
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
factory_etcdir = $(datadir)/factory/etc
factory_pamdir = $(datadir)/factory/etc/pam.d
bootlibdir = $(prefix)/lib/systemd/boot/efi
+testsdir = $(prefix)/lib/systemd/tests
# And these are the special ones for /
rootprefix=@rootprefix@
dist_rootlibexec_DATA =
tests=
manual_tests =
+TEST_DATA_FILES =
TEST_EXTENSIONS = .py
PY_LOG_COMPILER = $(PYTHON)
DISABLE_HARD_ERRORS = yes
endif
AM_TESTS_ENVIRONMENT = \
export SYSTEMD_KBD_MODEL_MAP=$(abs_top_srcdir)/src/locale/kbd-model-map; \
- export SYSTEMD_LANGUAGE_FALLBACK_MAP=$(abs_top_srcdir)/src/locale/language-fallback-map;
+ export SYSTEMD_LANGUAGE_FALLBACK_MAP=$(abs_top_srcdir)/src/locale/language-fallback-map; \
+ export PATH=$(abs_top_builddir):$$PATH;
if ENABLE_BASH_COMPLETION
dist_bashcompletion_DATA = $(dist_bashcompletion_data)
-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\" \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
- -DTEST_DIR=\"$(abs_top_srcdir)/test\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/basic \
-I $(top_srcdir)/src/basic \
-I $(top_srcdir)/src/libsystemd/sd-device \
-I $(top_srcdir)/src/libsystemd/sd-id128 \
-I $(top_srcdir)/src/libsystemd-network \
+ -DABS_SRC_DIR=\"$(abs_top_srcdir)\" \
+ -DABS_BUILD_DIR=\"$(abs_top_builddir)\" \
$(OUR_CPPFLAGS)
AM_CFLAGS = $(OUR_CFLAGS)
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)
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))
systemd-initctl \
systemd-shutdown \
systemd-remount-fs \
+ systemd-volatile-root \
systemd-reply-password \
systemd-fsck \
systemd-ac-power \
systemd-system-update-generator \
systemd-debug-generator
+if ENABLE_ENVIRONMENT_D
+userenvgenerator_PROGRAMS = \
+ 30-systemd-environment-d-generator
+endif
+
dist_bashcompletion_data = \
shell-completion/bash/busctl \
shell-completion/bash/journalctl \
units/system-update-cleanup.service \
units/systemd-initctl.service \
units/systemd-remount-fs.service \
+ units/systemd-volatile-root.service \
units/systemd-ask-password-wall.service \
units/systemd-ask-password-console.service \
units/systemd-sysctl.service \
units/system-update-cleanup.service.in \
units/systemd-initctl.service.in \
units/systemd-remount-fs.service.in \
+ units/systemd-volatile-root.service.in \
units/systemd-update-utmp.service.in \
units/systemd-update-utmp-runlevel.service.in \
units/systemd-ask-password-wall.service.in \
@INTLTOOL_POLICY_RULE@
+systemd-mount-install-hook:
+ -$(LN_S) systemd-mount $(DESTDIR)$(bindir)/systemd-umount
+
+systemd-mount-uninstall-hook:
+ -rm $(DESTDIR)$(bindir)/systemd-umount
+
+INSTALL_EXEC_HOOKS += systemd-mount-install-hook
+UNINSTALL_EXEC_HOOKS += systemd-mount-uninstall-hook
+
# ------------------------------------------------------------------------------
MANPAGES =
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 += \
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 \
src/basic/alloc-util.h \
src/basic/alloc-util.c \
src/basic/format-util.h \
- src/basic/nss-util.h
+ src/basic/nss-util.h \
+ src/basic/khash.h \
+ src/basic/khash.c \
+ src/basic/journal-importer.h \
+ src/basic/journal-importer.c
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
src/shared/nsflags.h \
src/shared/nsflags.c \
src/shared/dissect-image.c \
- src/shared/dissect-image.h
+ src/shared/dissect-image.h \
+ src/shared/volatile-util.c \
+ src/shared/volatile-util.h
if HAVE_UTMP
libshared_la_SOURCES += \
$(ACL_CFLAGS) \
$(LIBIDN_CFLAGS) \
$(SECCOMP_CFLAGS) \
- $(BLKID_CFLAGS)
+ $(BLKID_CFLAGS) \
+ $(LIBCRYPTSETUP_CFLAGS)
libshared_la_LIBADD = \
libsystemd-internal.la \
$(ACL_LIBS) \
$(LIBIDN_LIBS) \
$(SECCOMP_LIBS) \
- $(BLKID_LIBS)
+ $(BLKID_LIBS) \
+ $(LIBCRYPTSETUP_LIBS)
rootlibexec_LTLIBRARIES += \
libsystemd-shared.la
$(LIBIDN_CFLAGS) \
$(SECCOMP_CFLAGS) \
$(BLKID_CFLAGS) \
+ $(LIBCRYPTSETUP_CFLAGS) \
-fvisibility=default
# We can't use libshared_la_LIBADD here because it would
$(ACL_LIBS) \
$(LIBIDN_LIBS) \
$(SECCOMP_LIBS) \
- $(BLKID_LIBS)
+ $(BLKID_LIBS) \
+ $(LIBCRYPTSETUP_LIBS)
libsystemd_shared_la_LDFLAGS = \
$(AM_LDFLAGS) \
test-utf8 \
test-ellipsize \
test-util \
+ test-mount-util \
+ test-exec-util \
test-cpu-set-util \
test-hexdecoct \
test-escape \
test-rlimit-util \
test-signal-util \
test-selinux \
- test-sizeof
+ test-sizeof \
+ test-journal-importer
if HAVE_ACL
tests += \
test-seccomp
endif
-EXTRA_DIST += \
+TEST_DATA_FILES += \
test/a.service \
test/basic.target \
test/b.service \
test/test-execute/exec-restrict-namespaces-yes.service \
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 \
test/bus-policy/signals.conf \
test/bus-policy/check-own-rules.conf \
test/bus-policy/many-rules.conf \
- test/bus-policy/test.conf
+ test/bus-policy/test.conf \
+ test/hwdb/10-bad.hwdb
EXTRA_DIST += \
test_util_LDADD = \
libsystemd-shared.la
+test_mount_util_SOURCES = \
+ src/test/test-mount-util.c
+
+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
test_arphrd_list_LDADD = \
libsystemd-shared.la
+test_journal_importer_SOURCES = \
+ src/test/test-journal-importer.c
+
+test_journal_importer_LDADD = \
+ libsystemd-shared.la
+
+TEST_DATA_FILES += \
+ test/journal-data/journal-1.txt \
+ test/journal-data/journal-2.txt
+
# ------------------------------------------------------------------------------
## .PHONY so it always rebuilds it
.PHONY: coverage lcov-run lcov-report coverage-sync
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 += \
systemd_remount_fs_LDADD = \
libsystemd-shared.la
+# ------------------------------------------------------------------------------
+systemd_volatile_root_SOURCES = \
+ src/volatile-root/volatile-root.c
+
+systemd_volatile_root_LDADD = \
+ libsystemd-shared.la
+
# ------------------------------------------------------------------------------
systemd_cgroups_agent_SOURCES = \
src/cgroups-agent/cgroups-agent.c
rules/60-persistent-input.rules \
rules/60-persistent-alsa.rules \
rules/60-persistent-storage.rules \
+ rules/60-sensor.rules \
rules/60-serial.rules \
rules/64-btrfs.rules \
rules/70-mouse.rules \
hwdb/20-net-ifname.hwdb \
hwdb/60-evdev.hwdb \
hwdb/60-keyboard.hwdb \
+ hwdb/60-sensor.hwdb \
hwdb/70-mouse.hwdb \
hwdb/70-pointingstick.hwdb \
hwdb/70-touchpad.hwdb
test/sys
endif
-# packed sysfs test tree
-test/sys: test/sys.tar.xz
- -rm -rf test/sys
+# sysfs test tree
+test/sys: test/sys-script.py
+ -rm -rf $@
$(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
- -touch test/sys
+ $(AM_V_GEN)$(top_srcdir)/test/sys-script.py $(dir $@)
+ -touch $@
test-sys-distclean:
-rm -rf test/sys
DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
EXTRA_DIST += \
- test/sys.tar.xz \
+ test/sys-script.py \
test/udev-test.pl \
test/hwdb-test.sh \
test/rule-syntax-check.py \
tests += \
test-id128
+# ------------------------------------------------------------------------------
+test_hash_SOURCES = \
+ src/test/test-hash.c
+
+test_hash_LDADD = \
+ libsystemd-shared.la
+
+tests += \
+ test-hash
+
# ------------------------------------------------------------------------------
bin_PROGRAMS += \
# ------------------------------------------------------------------------------
if HAVE_LIBCRYPTSETUP
rootlibexec_PROGRAMS += \
- systemd-cryptsetup
+ systemd-cryptsetup \
+ systemd-veritysetup
systemgenerator_PROGRAMS += \
- systemd-cryptsetup-generator
+ systemd-cryptsetup-generator \
+ systemd-veritysetup-generator
dist_systemunit_DATA += \
units/cryptsetup.target \
systemd_cryptsetup_generator_LDADD = \
libsystemd-shared.la
+systemd_veritysetup_SOURCES = \
+ src/veritysetup/veritysetup.c
+
+systemd_veritysetup_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(LIBCRYPTSETUP_CFLAGS)
+
+systemd_veritysetup_LDADD = \
+ libsystemd-shared.la \
+ $(LIBCRYPTSETUP_LIBS)
+
+systemd_veritysetup_generator_SOURCES = \
+ src/veritysetup/veritysetup-generator.c
+
+systemd_veritysetup_generator_LDADD = \
+ libsystemd-shared.la
+
SYSINIT_TARGET_WANTS += \
cryptsetup.target
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
test_dns_packet_CPPFLAGS = \
$(AM_CPPFLAGS) \
- -DRESOLVE_TEST_DIR=\"$(abs_top_srcdir)/src/resolve/test-data\"
+ -I $(top_srcdir)/src/test
test_dns_packet_CFLAGS = \
$(AM_CFLAGS) \
$(GCRYPT_LIBS) \
-lm
-EXTRA_DIST += \
- src/resolve/test-data/_openpgpkey.fedoraproject.org.pkts \
- src/resolve/test-data/fedoraproject.org.pkts \
- src/resolve/test-data/gandi.net.pkts \
- src/resolve/test-data/google.com.pkts \
- src/resolve/test-data/root.pkts \
- src/resolve/test-data/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
- src/resolve/test-data/teamits.com.pkts \
- src/resolve/test-data/zbyszek@fedoraproject.org.pkts \
- src/resolve/test-data/_443._tcp.fedoraproject.org.pkts \
- src/resolve/test-data/kyhwana.org.pkts \
- src/resolve/test-data/fake-caa.pkts
+TEST_DATA_FILES += \
+ test/test-resolve/_openpgpkey.fedoraproject.org.pkts \
+ test/test-resolve/fedoraproject.org.pkts \
+ test/test-resolve/gandi.net.pkts \
+ test/test-resolve/google.com.pkts \
+ test/test-resolve/root.pkts \
+ test/test-resolve/sw1a1aa-sw1a2aa-sw1a2ab-sw1a2ac.find.me.uk.pkts \
+ test/test-resolve/teamits.com.pkts \
+ test/test-resolve/zbyszek@fedoraproject.org.pkts \
+ test/test-resolve/_443._tcp.fedoraproject.org.pkts \
+ test/test-resolve/kyhwana.org.pkts \
+ test/test-resolve/fake-caa.pkts
+
+EXTRA_DIST += $(TEST_DATA_FILES)
test_dnssec_SOURCES = \
src/resolve/test-dnssec.c \
src/network/networkd-link.c \
src/network/networkd-link-bus.c \
src/network/networkd-ipv4ll.c \
+ src/network/networkd-ipv6-proxy-ndp.h \
+ src/network/networkd-ipv6-proxy-ndp.c \
src/network/networkd-dhcp4.c \
src/network/networkd-dhcp6.c \
src/network/networkd-ndisc.h \
test/TEST-13-NSPAWN-SMOKE/Makefile \
test/TEST-13-NSPAWN-SMOKE/create-busybox-container \
test/TEST-13-NSPAWN-SMOKE/test.sh \
+ test/TEST-14-MACHINE-ID/Makefile \
+ test/TEST-14-MACHINE-ID/test.sh \
test/test-functions
EXTRA_DIST += \
'|sysctldir=$(sysctldir)|' \
'|systemgeneratordir=$(systemgeneratordir)|' \
'|usergeneratordir=$(usergeneratordir)|' \
+ '|systemenvgeneratordir=$(systemenvgeneratordir)|' \
+ '|userenvgeneratordir=$(userenvgeneratordir)|' \
'|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
'|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
'|PACKAGE_NAME=$(PACKAGE_NAME)|' \
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SED) $(subst '|,-e 's|@,$(subst =,\@|,$(subst |',|g',$(substitutions)))) \
+ -e '/^\#\# /d' \
< $< > $@
units/%: units/%.in
endif
INSTALL_DIRS += \
+ $(environmentdir) \
$(prefix)/lib/modules-load.d \
$(sysconfdir)/modules-load.d \
$(prefix)/lib/systemd/network \
if $(LIBTOOL) --mode=execute file $$f | grep -q shell; then \
echo -e "$${x}Skipping non-binary $$f"; else \
echo -e "$${x}Running $$f"; \
- $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
+ $(AM_TESTS_ENVIRONMENT) $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \
x="\n\n"; \
done
test-libsystemd-sym \
test-libudev-sym
+.PHONY: install-tests
+install-tests: $(tests) $(TEST_DATA_FILES)
+ for f in $(tests); do \
+ if [ -x $(top_builddir)/.libs/$$f ]; then \
+ install -D -m 755 $(top_builddir)/.libs/$$f $(DESTDIR)/$(testsdir)/$$f; \
+ else \
+ install -D -m 755 $(top_builddir)/$$f $(DESTDIR)/$(testsdir)/$$f; \
+ fi; \
+ done
+ for f in $(TEST_DATA_FILES); do \
+ install -D -m 644 $(top_srcdir)/$$f $(DESTDIR)/$(testsdir)/testdata/$${f#test/}; \
+ done
+
+
.PHONY: cppcheck
cppcheck:
cppcheck --enable=all -q $(top_srcdir)