X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=51c6d33af04ca93453ab6bdf93038b6aae892782;hp=4f536ee4147e29a5903939e489d01f24f3e4a0f9;hb=484122c3458ae5ff5236dd4a6e6ddffcffa08336;hpb=8af3cf74df03f7528f9e2605ec7896a5daf0f711 diff --git a/Makefile.am b/Makefile.am index 4f536ee41..51c6d33af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -46,9 +46,9 @@ LIBGUDEV_CURRENT=2 LIBGUDEV_REVISION=0 LIBGUDEV_AGE=2 -LIBSYSTEMD_CURRENT=5 -LIBSYSTEMD_REVISION=1 -LIBSYSTEMD_AGE=5 +LIBSYSTEMD_CURRENT=6 +LIBSYSTEMD_REVISION=0 +LIBSYSTEMD_AGE=6 # The following four libraries only exist for compatibility reasons, # their version info should not be bumped anymore @@ -111,6 +111,7 @@ catalogdir=$(prefix)/lib/systemd/catalog kernelinstalldir = $(prefix)/lib/kernel/install.d factory_etcdir = $(prefix)/share/factory/etc factory_pamdir = $(prefix)/share/factory/etc/pam.d +sd_bootlibdir = $(prefix)/lib/systemd/sd-boot # And these are the special ones for / rootprefix=@rootprefix@ @@ -190,6 +191,7 @@ AM_CPPFLAGS = \ -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \ -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \ -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \ + -DSYSTEMD_LANGUAGE_FALLBACK_MAP=\"$(pkgdatadir)/language-fallback-map\" \ -DX_SERVER=\"$(bindir)/X\" \ -DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \ -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \ @@ -902,7 +904,9 @@ libsystemd_shared_la_SOURCES = \ src/shared/verbs.h \ src/shared/sigbus.c \ src/shared/sigbus.h \ - src/shared/build.h + src/shared/build.h \ + src/shared/import-util.c \ + src/shared/import-util.h if HAVE_UTMP libsystemd_shared_la_SOURCES += \ @@ -1431,7 +1435,7 @@ EXTRA_DIST += \ test/c.service \ test/daughter.service \ test/d.service \ - test/end.service \ + test/end.service.in \ test/e.service \ test/f.service \ test/grandchild.service \ @@ -2191,6 +2195,11 @@ systemd_tmpfiles_LDADD = \ libsystemd-internal.la \ libsystemd-shared.la +if HAVE_ACL +systemd_tmpfiles_LDADD += \ + libsystemd-acl.la +endif + rootbin_PROGRAMS += \ systemd-tmpfiles @@ -2470,15 +2479,21 @@ systemd_efi_boot_generator_LDADD = \ # ------------------------------------------------------------------------------ bootctl_SOURCES = \ - src/boot/boot.h \ - src/boot/boot-loader.h \ - src/boot/bootctl.c \ - src/boot/boot-loader.c \ - src/boot/boot-efi.c + src/boot/bootctl.c + +bootctl_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -DEFI_MACHINE_TYPE_NAME=\"$(EFI_MACHINE_TYPE_NAME)\" \ + -DSD_BOOTLIBDIR=\"$(sd_bootlibdir)\" + +bootctl_CFLAGS = \ + $(AM_CFLAGS) \ + $(BLKID_CFLAGS) bootctl_LDADD = \ libsystemd-shared.la \ - libsystemd-internal.la + libsystemd-internal.la \ + $(BLKID_LIBS) bin_PROGRAMS += \ bootctl @@ -2489,6 +2504,128 @@ dist_bashcompletion_DATA += \ dist_zshcompletion_DATA += \ shell-completion/zsh/_bootctl +# ------------------------------------------------------------------------------ +if HAVE_GNUEFI +efi_cppflags = \ + $(EFI_CPPFLAGS) \ + -I$(top_builddir) -include config.h \ + -I$(EFI_INC_DIR)/efi \ + -I$(EFI_INC_DIR)/efi/$(EFI_ARCH) \ + -DEFI_MACHINE_TYPE_NAME=\"$(EFI_MACHINE_TYPE_NAME)\" + +efi_cflags = \ + $(EFI_CFLAGS) \ + -Wall \ + -Wextra \ + -nostdinc \ + -ggdb -O0 \ + -fpic \ + -fshort-wchar \ + -nostdinc \ + -ffreestanding \ + -fno-strict-aliasing \ + -fno-stack-protector \ + -Wsign-compare \ + -mno-sse \ + -mno-mmx + +if ARCH_X86_64 +efi_cflags += \ + -mno-red-zone \ + -DEFI_FUNCTION_WRAPPER \ + -DGNU_EFI_USE_MS_ABI +endif + +efi_ldflags = \ + $(EFI_LDFLAGS) \ + -T $(EFI_LDS_DIR)/elf_$(EFI_ARCH)_efi.lds \ + -shared \ + -Bsymbolic \ + -nostdlib \ + -znocombreloc \ + -L $(EFI_LIB_DIR) \ + $(EFI_LDS_DIR)/crt0-efi-$(EFI_ARCH).o + +# ------------------------------------------------------------------------------ +sd_boot_headers = \ + src/sd-boot/util.h \ + src/sd-boot/console.h \ + src/sd-boot/graphics.h \ + src/sd-boot/pefile.h + +sd_boot_sources = \ + src/sd-boot/util.c \ + src/sd-boot/console.c \ + src/sd-boot/graphics.c \ + src/sd-boot/pefile.c \ + src/sd-boot/sd-boot.c + +sd_boot_objects = $(addprefix $(top_builddir)/,$(sd_boot_sources:.c=.o)) +sd_boot_solib = $(top_builddir)/src/sd-boot/sd_boot.so +sd_boot = sd-boot$(EFI_MACHINE_TYPE_NAME).efi + +sd_bootlib_DATA = $(sd_boot) +CLEANFILES += $(sd_boot_objects) $(sd_boot_solib) $(sd_boot) +EXTRA_DIST += $(sd_boot_sources) $(sd_boot_headers) + +$(top_builddir)/src/sd-boot/%.o: $(top_srcdir)/src/sd-boot/%.c $(addprefix $(top_srcdir)/,$(sd_boot_headers)) + @$(MKDIR_P) $(top_builddir)/src/sd-boot/ + $(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@ + +$(sd_boot_solib): $(sd_boot_objects) + $(AM_V_CCLD)$(LD) $(efi_ldflags) $(sd_boot_objects) \ + -o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \ + nm -D -u $@ | grep ' U ' && exit 1 || : + +$(sd_boot): $(sd_boot_solib) + $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \ + -j .dynsym -j .rel -j .rela -j .reloc \ + --target=efi-app-$(EFI_ARCH) $< $@ + +# ------------------------------------------------------------------------------ +stub_headers = \ + src/sd-boot/util.h \ + src/sd-boot/pefile.h \ + src/sd-boot/linux.h + +stub_sources = \ + src/sd-boot/util.c \ + src/sd-boot/pefile.c \ + src/sd-boot/linux.c \ + src/sd-boot/stub.c + +stub_objects = $(addprefix $(top_builddir)/,$(stub_sources:.c=.o)) +stub_solib = $(top_builddir)/src/sd-boot/stub.so +stub = linux$(EFI_MACHINE_TYPE_NAME).efi.stub + +sd_bootlib_DATA += $(stub) +CLEANFILES += $(stub_objects) $(stub_solib) $(stub) +EXTRA_DIST += $(stub_sources) $(stub_headers) + +$(top_builddir)/src/sd-boot/%.o: $(top_srcdir)/src/sd-boot/%.c $(addprefix $(top_srcdir)/,$(stub_headers)) + @$(MKDIR_P) $(top_builddir)/src/sd-boot/ + $(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); \ + nm -D -u $@ | grep ' U ' && exit 1 || : + +$(stub): $(stub_solib) + $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \ + -j .dynsym -j .rel -j .rela -j .reloc \ + --target=efi-app-$(EFI_ARCH) $< $@ + +# ------------------------------------------------------------------------------ +CLEANFILES += test-efi-disk.img +EXTRA_DIST += test/test-efi-create-disk.sh + +test-efi-disk.img: $(sd_boot) $(stub) test/test-efi-create-disk.sh + $(AM_V_GEN)test/test-efi-create-disk.sh + +test-efi: test-efi-disk.img + $(QEMU) -machine accel=kvm -m 1024 -bios $(QEMU_BIOS) -snapshot test-efi-disk.img +endif endif # ------------------------------------------------------------------------------ @@ -3187,6 +3324,8 @@ libsystemd_network_la_SOURCES = \ src/libsystemd-network/dhcp6-option.c \ src/libsystemd-network/dhcp6-lease-internal.h \ 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 \ @@ -3259,7 +3398,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 \ @@ -3269,7 +3410,9 @@ 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 \ @@ -3313,7 +3456,7 @@ noinst_PROGRAMS += \ systemd-subterm dist_pkgdata_DATA += \ - src/libsystemd-terminal/unifont-glyph-array.bin + src/libsystemd-terminal/unifont-glyph-array.bin nodist_userunit_DATA += \ units/user/systemd-consoled.service @@ -3441,12 +3584,8 @@ test_unifont_LDADD = \ libsystemd-internal.la \ libsystemd-shared.la -.PHONY: update-unifont -update-unifont: tools/compile-unifont.py - $(AM_V_GEN)$(PYTHON) $< \ - <$(top_srcdir)/src/libsystemd-terminal/unifont.hex \ - >$(top_srcdir)/src/libsystemd-terminal/unifont-glyph-array.bin - @echo "unifont-glyph-array.bin has been regenerated" +src/libsystemd-terminal/unifont-glyph-array.bin: tools/compile-unifont.py $(UNIFONT) + $(AM_V_GEN)$(PYTHON) $< <$(UNIFONT) >$@ # ------------------------------------------------------------------------------ if ENABLE_GTK_DOC @@ -3544,13 +3683,14 @@ dist_udevrules_DATA += \ rules/50-udev-default.rules \ rules/60-drm.rules \ rules/60-keyboard.rules \ - rules/70-mouse.rules \ rules/60-persistent-storage-tape.rules \ rules/60-persistent-serial.rules \ rules/60-persistent-input.rules \ rules/60-persistent-alsa.rules \ rules/60-persistent-storage.rules \ rules/64-btrfs.rules \ + rules/70-mouse.rules \ + rules/70-touchpad.rules \ rules/75-net-description.rules \ rules/75-tty-description.rules \ rules/78-sound-card.rules \ @@ -3742,7 +3882,8 @@ dist_udevhwdb_DATA = \ hwdb/20-OUI.hwdb \ hwdb/20-net-ifname.hwdb \ hwdb/60-keyboard.hwdb \ - hwdb/70-mouse.hwdb + hwdb/70-mouse.hwdb \ + hwdb/70-touchpad.hwdb EXTRA_DIST += \ units/systemd-hwdb-update.service.in @@ -4979,10 +5120,8 @@ BUSNAMES_TARGET_WANTS += \ org.freedesktop.locale1.busname dist_pkgdata_DATA += \ - src/locale/kbd-model-map - -dist_noinst_SCRIPT = \ - src/locale/generate-kbd-model-map + src/locale/kbd-model-map \ + src/locale/language-fallback-map localectl_SOURCES = \ src/locale/localectl.c @@ -5247,17 +5386,35 @@ 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 -bin_PROGRAMS += \ - systemd-import +rootlibexec_PROGRAMS += \ + systemd-importd \ + systemd-pull + +systemd_importd_SOURCES = \ + src/import/importd.c -systemd_import_SOURCES = \ - src/import/import.c \ +systemd_importd_CFLAGS = \ + $(AM_CFLAGS) \ + -D SYSTEMD_PULL_PATH=\"$(rootlibexecdir)/systemd-pull\" + +systemd_importd_LDADD = \ + libsystemd-internal.la \ + libsystemd-label.la \ + libsystemd-shared.la + +systemd_pull_SOURCES = \ + src/import/pull.c \ src/import/import-raw.c \ src/import/import-raw.h \ src/import/import-tar.c \ @@ -5266,8 +5423,8 @@ systemd_import_SOURCES = \ src/import/import-dkr.h \ src/import/import-job.c \ src/import/import-job.h \ - src/import/import-util.c \ - src/import/import-util.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 \ @@ -5275,7 +5432,7 @@ systemd_import_SOURCES = \ src/import/qcow2-util.c \ src/import/qcow2-util.h -systemd_import_CFLAGS = \ +systemd_pull_CFLAGS = \ $(AM_CFLAGS) \ $(LIBCURL_CFLAGS) \ $(XZ_CFLAGS) \ @@ -5284,7 +5441,7 @@ systemd_import_CFLAGS = \ -D VENDOR_KEYRING_PATH=\"$(rootlibexecdir)/import-pubring.gpg\" \ -D USER_KEYRING_PATH=\"$(pkgsysconfdir)/import-pubring.gpg\" -systemd_import_LDADD = \ +systemd_pull_LDADD = \ libsystemd-internal.la \ libsystemd-label.la \ libsystemd-shared.la \ @@ -5294,6 +5451,36 @@ systemd_import_LDADD = \ -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 @@ -5312,8 +5499,6 @@ test_qcow2_LDADD = \ libsystemd-shared.la \ $(ZLIB_LIBS) -dist_rootlibexec_DATA = \ - src/import/import-pubring.gpg endif endif endif @@ -5528,13 +5713,16 @@ libsystemd_networkd_core_la_SOURCES = \ src/network/networkd-netdev-bond.c \ src/network/networkd-netdev-bridge.c \ src/network/networkd-link.c \ + src/network/networkd-link-bus.c \ src/network/networkd-ipv4ll.c \ src/network/networkd-dhcp4.c \ src/network/networkd-dhcp6.c \ src/network/networkd-network.c \ + src/network/networkd-network-bus.c \ src/network/networkd-address.c \ src/network/networkd-route.c \ src/network/networkd-manager.c \ + src/network/networkd-manager-bus.c \ src/network/networkd-fdb.c \ src/network/networkd-address-pool.c @@ -5609,14 +5797,33 @@ tests += \ test-network \ test-network-tables +dist_systemunit_DATA += \ + units/systemd-networkd.socket + nodist_systemunit_DATA += \ units/systemd-networkd.service \ units/systemd-networkd-wait-online.service +dist_systemunit_DATA_busnames += \ + units/org.freedesktop.network1.busname + +dist_dbussystemservice_DATA += \ + src/network/org.freedesktop.network1.service + +dist_dbuspolicy_DATA += \ + src/network/org.freedesktop.network1.conf + 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 + +BUSNAMES_TARGET_WANTS += \ + org.freedesktop.network1.busname + EXTRA_DIST += \ src/network/networkd-network-gperf.gperf \ src/network/networkd-netdev-gperf.gperf \ @@ -6161,6 +6368,7 @@ substitutions = \ '|rootprefix=$(rootprefix)|' \ '|udevlibexecdir=$(udevlibexecdir)|' \ '|SUSHELL=$(SUSHELL)|' \ + '|SULOGIN=$(SULOGIN)|' \ '|DEBUGTTY=$(DEBUGTTY)|' \ '|KILL=$(KILL)|' \ '|KMOD=$(KMOD)|' \ @@ -6500,7 +6708,7 @@ endif # # Require python when making dist # -.PHONY: dist-check-python +.PHONY: dist-check-python dist-check-compat-libs dist-check-help dist-check-python: if !HAVE_PYTHON @echo "*** python and python-lxml module must be installed and enabled in order to make dist" @@ -6513,6 +6721,14 @@ if !ENABLE_COMPAT_LIBS @false endif +dist-check-help: $(rootbin_PROGRAMS) $(bin_PROGRAMS) + for i in $(abspath $^); do \ + if $$i --help | grep -v 'default:' | grep -E -q '.{80}.' ; then \ + echo "$(basename $$i) --help output is too wide:"; \ + $$i --help | awk 'length > 80' | grep -E --color=yes '.{80}'; \ + exit 1; \ + fi; done + dist: dist-check-python dist-check-compat-libs # check "broken" platforms limited toolchains for link breakage before we release