X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=c1a4a5f1b01a088af4e286b69497d2d75766a6ff;hp=fc59b57c0f52796c7d8a976a08ef04e59eab533a;hb=f08fce88206f7315cff24678590cd73cd5e75f95;hpb=1eae4c45c9d04314c927c8ac6323133414020ba3 diff --git a/Makefile.am b/Makefile.am index fc59b57c0..c1a4a5f1b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,7 +20,7 @@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = po LIBSYSTEMD_LOGIN_CURRENT=0 -LIBSYSTEMD_LOGIN_REVISION=0 +LIBSYSTEMD_LOGIN_REVISION=2 LIBSYSTEMD_LOGIN_AGE=0 LIBSYSTEMD_DAEMON_CURRENT=0 @@ -35,6 +35,7 @@ dbusinterfacedir=@dbusinterfacedir@ udevrulesdir=@udevrulesdir@ pamlibdir=@pamlibdir@ pkgconfigdatadir=$(datadir)/pkgconfig +pkgconfiglibdir=$(libdir)/pkgconfig polkitpolicydir=$(datadir)/polkit-1/actions bashcompletiondir=$(sysconfdir)/bash_completion.d @@ -170,9 +171,7 @@ rootlibexec_PROGRAMS = \ systemd-ac-power \ systemd-detect-virt \ systemd-sysctl \ - systemd-hostnamed \ systemd-localed \ - systemd-timedated \ systemd-logind \ systemd-uaccess @@ -181,6 +180,16 @@ rootlibexec_PROGRAMS += \ systemd-binfmt endif +if ENABLE_HOSTNAMED +rootlibexec_PROGRAMS += \ + systemd-hostnamed +endif + +if ENABLE_TIMEDATED +rootlibexec_PROGRAMS += \ + systemd-timedated +endif + systemgenerator_PROGRAMS = \ systemd-getty-generator @@ -194,10 +203,11 @@ endif lib_LTLIBRARIES = \ libsystemd-daemon.la \ - libsystemd-login.la + libsystemd-login.la pkginclude_HEADERS = \ - src/sd-login.h + src/sd-daemon.h \ + src/sd-login.h noinst_PROGRAMS = \ test-engine \ @@ -209,7 +219,8 @@ noinst_PROGRAMS = \ test-cgroup \ test-env-replace \ test-strv \ - test-login + test-login \ + test-install if HAVE_PAM pamlib_LTLIBRARIES = \ @@ -223,25 +234,41 @@ dist_pkgsysconf_DATA = \ dist_dbuspolicy_DATA = \ src/org.freedesktop.systemd1.conf \ - src/org.freedesktop.hostname1.conf \ src/org.freedesktop.locale1.conf \ - src/org.freedesktop.timedate1.conf \ src/org.freedesktop.login1.conf +if ENABLE_HOSTNAMED +dist_dbuspolicy_DATA += \ + src/org.freedesktop.hostname1.conf +endif + +if ENABLE_TIMEDATED +dist_dbuspolicy_DATA += \ + src/org.freedesktop.timedate1.conf +endif + dist_dbussystemservice_DATA = \ src/org.freedesktop.systemd1.service \ - src/org.freedesktop.hostname1.service \ src/org.freedesktop.locale1.service \ - src/org.freedesktop.timedate1.service \ src/org.freedesktop.login1.service +if ENABLE_HOSTNAMED +dist_dbussystemservice_DATA += \ + src/org.freedesktop.hostname1.service +endif + +if ENABLE_TIMEDATED +dist_dbussystemservice_DATA += \ + src/org.freedesktop.timedate1.service +endif + dist_udevrules_DATA = \ src/70-uaccess.rules \ - src/71-seat.rules \ - src/99-systemd.rules + src/71-seat.rules nodist_udevrules_DATA = \ - src/73-seat-late.rules + src/73-seat-late.rules \ + src/99-systemd.rules dbusinterface_DATA = \ org.freedesktop.systemd1.Manager.xml \ @@ -257,15 +284,24 @@ dbusinterface_DATA = \ org.freedesktop.systemd1.Snapshot.xml \ org.freedesktop.systemd1.Swap.xml \ org.freedesktop.systemd1.Path.xml \ - org.freedesktop.hostname1.xml \ - org.freedesktop.locale1.xml \ - org.freedesktop.timedate1.xml + org.freedesktop.locale1.xml + +if ENABLE_HOSTNAMED +dbusinterface_DATA += \ + org.freedesktop.hostname1.xml +endif + +if ENABLE_TIMEDATED +dbusinterface_DATA += \ + org.freedesktop.timedate1.xml +endif dist_bashcompletion_DATA = \ src/systemctl-bash-completion.sh dist_tmpfiles_DATA = \ tmpfiles.d/systemd.conf \ + tmpfiles.d/tmp.conf \ tmpfiles.d/x11.conf if HAVE_SYSV_COMPAT @@ -345,9 +381,7 @@ nodist_systemunit_DATA = \ units/systemd-initctl.service \ units/systemd-logger.service \ units/systemd-shutdownd.service \ - units/systemd-hostnamed.service \ units/systemd-localed.service \ - units/systemd-timedated.service \ units/systemd-logind.service \ units/systemd-kmsg-syslogd.service \ units/systemd-modules-load.service \ @@ -381,6 +415,16 @@ nodist_systemunit_DATA += \ units/systemd-binfmt.service endif +if ENABLE_HOSTNAMED +nodist_systemunit_DATA += \ + units/systemd-hostnamed.service +endif + +if ENABLE_TIMEDATED +nodist_systemunit_DATA += \ + units/systemd-timedated.service +endif + dist_userunit_DATA = \ units/user/default.target \ units/user/exit.target @@ -396,9 +440,7 @@ EXTRA_DIST = \ units/systemd-initctl.service.in \ units/systemd-logger.service.in \ units/systemd-shutdownd.service.in \ - units/systemd-hostnamed.service.in \ units/systemd-localed.service.in \ - units/systemd-timedated.service.in \ units/systemd-logind.service.in \ units/systemd-kmsg-syslogd.service.in \ units/systemd-modules-load.service.in \ @@ -425,18 +467,31 @@ EXTRA_DIST = \ units/fsck@.service.in \ units/fsck-root.service.in \ units/quotacheck.service.in \ - units/user@.service.in \ + units/user@.service.in \ systemd.pc.in \ - libsystemd-daemon.pc.in \ - libsystemd-login.pc.in \ + libsystemd-daemon.pc.in \ + libsystemd-login.pc.in \ + src/libsystemd-daemon.sym \ + src/libsystemd-login.sym \ introspect.awk \ - src/73-seat-late.rules.in + src/73-seat-late.rules.in \ + src/99-systemd.rules.in if ENABLE_BINFMT EXTRA_DIST += \ units/systemd-binfmt.service.in endif +if ENABLE_HOSTNAMED +EXTRA_DIST += \ + units/systemd-hostnamed.service.in +endif + +if ENABLE_TIMEDATED +EXTRA_DIST += \ + units/systemd-timedated.service.in +endif + if TARGET_FEDORA dist_systemunit_DATA += \ units/fedora/prefdm.service \ @@ -491,17 +546,27 @@ dist_doc_DATA = \ src/sd-readahead.c pkgconfigdata_DATA = \ - systemd.pc \ + systemd.pc + +pkgconfiglib_DATA = \ libsystemd-daemon.pc \ libsystemd-login.pc # Passed through intltool only polkitpolicy_in_files = \ - src/org.freedesktop.hostname1.policy.in \ src/org.freedesktop.locale1.policy.in \ - src/org.freedesktop.timedate1.policy.in \ src/org.freedesktop.login1.policy.in +if ENABLE_HOSTNAMED +polkitpolicy_in_files += \ + src/org.freedesktop.hostname1.policy.in +endif + +if ENABLE_TIMEDATED +polkitpolicy_in_files += \ + src/org.freedesktop.timedate1.policy.in +endif + # First passed through sed, followed by intltool polkitpolicy_in_in_files = \ src/org.freedesktop.systemd1.policy.in.in @@ -537,7 +602,8 @@ libsystemd_basic_la_CFLAGS = \ $(SELINUX_CFLAGS) libsystemd_basic_la_LIBADD = \ - $(SELINUX_LIBS) + $(SELINUX_LIBS) \ + $(CAP_LIBS) libsystemd_core_la_SOURCES = \ src/unit.c \ @@ -589,7 +655,16 @@ libsystemd_core_la_SOURCES = \ src/cgroup-util.c \ src/condition.c \ src/dbus-common.c \ - src/sd-daemon.c + src/sd-daemon.c \ + src/install.c \ + src/cgroup-attr.c + +nodist_libsystemd_core_la_SOURCES = \ + src/load-fragment-gperf.c \ + src/load-fragment-gperf-nulstr.c + +EXTRA_DIST += \ + src/load-fragment-gperf.gperf.m4 libsystemd_core_la_CFLAGS = \ $(AM_CFLAGS) \ @@ -605,7 +680,8 @@ libsystemd_core_la_LIBADD = \ $(UDEV_LIBS) \ $(LIBWRAP_LIBS) \ $(PAM_LIBS) \ - $(AUDIT_LIBS) + $(AUDIT_LIBS) \ + $(CAP_LIBS) # This is needed because automake is buggy in how it generates the # rules for C programs, but not Vala programs. We therefore can't @@ -643,7 +719,8 @@ EXTRA_DIST += \ src/logind-session.h \ src/logind-user.h \ src/logind-acl.h \ - src/dbus-loop.h + src/dbus-loop.h \ + src/spawn-agent.h MANPAGES = \ man/systemd.1 \ @@ -828,6 +905,19 @@ test_login_LDADD = \ libsystemd-basic.la \ libsystemd-login.la +test_install_SOURCES = \ + src/test-install.c \ + src/install.c \ + src/path-lookup.c \ + src/unit-name.c + +test_install_CFLAGS = \ + $(AM_CFLAGS) \ + $(DBUS_CFLAGS) + +test_install_LDADD = \ + libsystemd-basic.la + systemd_logger_SOURCES = \ src/logger.c \ src/tcpwrap.c @@ -942,6 +1032,12 @@ systemd_logind_SOURCES = \ src/cgroup-util.c \ src/polkit.c +nodist_systemd_logind_SOURCES = \ + src/logind-gperf.c + +EXTRA_DIST += \ + src/logind-gperf.gperf + systemd_logind_CFLAGS = \ $(AM_CFLAGS) \ $(DBUS_CFLAGS) \ @@ -974,6 +1070,7 @@ systemd_uaccess_CFLAGS = \ systemd_uaccess_LDADD = \ libsystemd-basic.la \ libsystemd-daemon.la \ + libsystemd-login.la \ $(UDEV_LIBS) \ $(ACL_LIBS) @@ -1184,7 +1281,9 @@ systemctl_SOURCES = \ src/cgroup-util.c \ src/exit-status.c \ src/unit-name.c \ - src/pager.c + src/pager.c \ + src/install.c \ + src/spawn-agent.c systemctl_CFLAGS = \ $(AM_CFLAGS) \ @@ -1272,7 +1371,8 @@ systemd_cgls_LDADD = \ systemd_nspawn_SOURCES = \ src/nspawn.c \ - src/cgroup-util.c + src/cgroup-util.c \ + src/loopback-setup.c systemd_nspawn_CFLAGS = \ $(AM_CFLAGS) @@ -1380,6 +1480,19 @@ libsystemd_daemon_la_LDFLAGS = \ -version-info $(LIBSYSTEMD_DAEMON_CURRENT):$(LIBSYSTEMD_DAEMON_REVISION):$(LIBSYSTEMD_DAEMON_AGE) \ -Wl,--version-script=$(top_srcdir)/src/libsystemd-daemon.sym +# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed +libsystemd-daemon-install-hook: + if test "$(libdir)" != "$(rootlibdir)"; then \ + mkdir -p $(DESTDIR)$(rootlibdir) && \ + so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-daemon.so) && \ + so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ + ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-daemon.so && \ + mv $(DESTDIR)$(libdir)/libsystemd-daemon.so.* $(DESTDIR)$(rootlibdir); \ + fi + +libsystemd-daemon-uninstall-hook: + rm -f $(DESTDIR)$(rootlibdir)/libsystemd-daemon.so* + libsystemd_login_la_SOURCES = \ src/sd-login.c \ src/cgroup-util.c @@ -1396,6 +1509,19 @@ libsystemd_login_la_LDFLAGS = \ libsystemd_login_la_LIBADD = \ libsystemd-basic.la +# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed +libsystemd-login-install-hook: + if test "$(libdir)" != "$(rootlibdir)"; then \ + mkdir -p $(DESTDIR)$(rootlibdir) && \ + so_img_name=$$(readlink $(DESTDIR)$(libdir)/libsystemd-login.so) && \ + so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \ + ln -sf $$so_img_rel_target_prefix$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libsystemd-login.so && \ + mv $(DESTDIR)$(libdir)/libsystemd-login.so.* $(DESTDIR)$(rootlibdir); \ + fi + +libsystemd-login-uninstall-hook: + rm -f $(DESTDIR)$(rootlibdir)/libsystemd-login.so* + SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(SED) -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \ @@ -1432,13 +1558,25 @@ src/%.policy.in: src/%.policy.in.in Makefile src/%.rules: src/%.rules.in Makefile $(SED_PROCESS) +src/%.c: src/%.gperf + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(GPERF) < $< > $@ + +src/%: src/%.m4 + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(M4) -P $(M4_DEFINES) < $< > $@ || rm $@ + +src/load-fragment-gperf-nulstr.c: src/load-fragment-gperf.gperf + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@ || rm $@ + M4_PROCESS_SYSTEM = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@ || rm $@ + $(M4) -P $(M4_DEFINES) -DFOR_SYSTEM=1 < $< > $@ || rm $@ M4_PROCESS_USER = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(M4) -P $(M4_DISTRO_FLAG) -DFOR_USER=1 < $< > $@ || rm $@ + $(M4) -P $(M4_DEFINES) -DFOR_USER=1 < $< > $@ || rm $@ units/%: units/%.m4 Makefile $(M4_PROCESS_SYSTEM) @@ -1452,8 +1590,14 @@ CLEANFILES = \ $(nodist_man_MANS) \ ${XML_IN_FILES:.xml.in=.html} \ $(pkgconfigdata_DATA) \ + $(pkgconfiglib_DATA) \ $(nodist_polkitpolicy_DATA) \ - src/73-seat-late.rules + src/73-seat-late.rules \ + src/99-systemd.rules \ + src/load-fragment-gperf.gperf \ + src/load-fragment-gperf.c \ + src/load-fragment-gperf-nulstr.c \ + src/logind-gperf.c if HAVE_VALAC CLEANFILES += \ @@ -1647,12 +1791,10 @@ endif $(LN_S) graphical.target runlevel5.target && \ $(LN_S) reboot.target runlevel6.target ) ( cd $(DESTDIR)$(systemunitdir) && \ - rm -f default.target ctrl-alt-del.target dbus-org.freedesktop.hostname1.service dbus-org.freedesktop.locale1.service dbus-org.freedesktop.timedate1.service dbus-org.freedesktop.login1.service autovt@.service && \ + rm -f default.target ctrl-alt-del.target dbus-org.freedesktop.locale1.service dbus-org.freedesktop.login1.service autovt@.service && \ $(LN_S) graphical.target default.target && \ $(LN_S) reboot.target ctrl-alt-del.target && \ - $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service && \ $(LN_S) systemd-localed.service dbus-org.freedesktop.locale1.service && \ - $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service && \ $(LN_S) systemd-logind.service dbus-org.freedesktop.login1.service && \ $(LN_S) getty@.service autovt@.service ) ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \ @@ -1698,6 +1840,16 @@ if ENABLE_BINFMT proc-sys-fs-binfmt_misc.automount && \ $(LN_S) ../systemd-binfmt.service systemd-binfmt.service && \ $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount ) +endif +if ENABLE_HOSTNAMED + ( cd $(DESTDIR)$(systemunitdir) && \ + rm -f dbus-org.freedesktop.hostname1.service && \ + $(LN_S) systemd-hostnamed.service dbus-org.freedesktop.hostname1.service ) +endif +if ENABLE_TIMEDATED + ( cd $(DESTDIR)$(systemunitdir) && \ + rm -f dbus-org.freedesktop.timedate1.service && \ + $(LN_S) systemd-timedated.service dbus-org.freedesktop.timedate1.service ) endif ( cd $(DESTDIR)$(systemunitdir)/basic.target.wants && \ rm -f systemd-tmpfiles-clean.timer && \ @@ -1808,6 +1960,10 @@ if HAVE_SYSV_COMPAT $(LN_S) ../var-lock.mount var-lock.mount ) endif +install-exec-hook: libsystemd-daemon-install-hook libsystemd-login-install-hook + +uninstall-hook: libsystemd-daemon-uninstall-hook libsystemd-login-uninstall-hook + DISTCHECK_CONFIGURE_FLAGS = \ --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \ --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \