X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=54e389de306fd0ddea4d81f17e6dcec2548f9f3f;hp=3d6951acdc8f9e7274f6da07aaa02b65455f6dbe;hb=c375a7f750d0ac3ab130b8d84ebbcbbf32b96c72;hpb=47a2669062882d1b4ed6ae3c7b8926e09f2a978e diff --git a/Makefile.am b/Makefile.am index 3d6951acd..54e389de3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,6 +17,16 @@ ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = po + +LIBSYSTEMD_LOGIN_CURRENT=0 +LIBSYSTEMD_LOGIN_REVISION=1 +LIBSYSTEMD_LOGIN_AGE=0 + +LIBSYSTEMD_DAEMON_CURRENT=0 +LIBSYSTEMD_DAEMON_REVISION=0 +LIBSYSTEMD_DAEMON_AGE=0 + # Dirs of external packages dbuspolicydir=@dbuspolicydir@ dbussessionservicedir=@dbussessionservicedir@ @@ -25,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 @@ -33,6 +44,7 @@ pkgsysconfdir=$(sysconfdir)/systemd userunitdir=$(prefix)/lib/systemd/user tmpfilesdir=$(prefix)/lib/tmpfiles.d usergeneratordir=$(pkglibexecdir)/user-generators +pkgincludedir=$(includedir)/systemd # And these are the special ones for / rootdir=@rootdir@ @@ -116,6 +128,7 @@ endif rootbin_PROGRAMS = \ systemd \ systemctl \ + systemd-loginctl \ systemd-notify \ systemd-ask-password \ systemd-tty-ask-password-agent \ @@ -180,6 +193,14 @@ systemgenerator_PROGRAMS += \ systemd-cryptsetup-generator endif +lib_LTLIBRARIES = \ + libsystemd-daemon.la \ + libsystemd-login.la + +pkginclude_HEADERS = \ + src/sd-daemon.h \ + src/sd-login.h + noinst_PROGRAMS = \ test-engine \ test-job-type \ @@ -189,7 +210,9 @@ noinst_PROGRAMS = \ test-daemon \ test-cgroup \ test-env-replace \ - test-strv + test-strv \ + test-login \ + test-install if HAVE_PAM pamlib_LTLIBRARIES = \ @@ -197,7 +220,9 @@ pamlib_LTLIBRARIES = \ endif dist_pkgsysconf_DATA = \ - src/system.conf + src/system.conf \ + src/user.conf \ + src/systemd-logind.conf dist_dbuspolicy_DATA = \ src/org.freedesktop.systemd1.conf \ @@ -215,9 +240,11 @@ dist_dbussystemservice_DATA = \ dist_udevrules_DATA = \ src/70-uaccess.rules \ - src/71-seat.rules \ + src/71-seat.rules + +nodist_udevrules_DATA = \ src/73-seat-late.rules \ - src/99-systemd.rules + src/99-systemd.rules dbusinterface_DATA = \ org.freedesktop.systemd1.Manager.xml \ @@ -349,7 +376,8 @@ nodist_systemunit_DATA = \ units/fsck@.service \ units/fsck-root.service \ units/quotacheck.service \ - units/rescue.service + units/rescue.service \ + units/user@.service if ENABLE_BINFMT nodist_systemunit_DATA += \ @@ -400,9 +428,15 @@ EXTRA_DIST = \ units/fsck@.service.in \ units/fsck-root.service.in \ units/quotacheck.service.in \ + units/user@.service.in \ systemd.pc.in \ + libsystemd-daemon.pc.in \ + libsystemd-login.pc.in \ + src/libsystemd-daemon.sym \ + src/libsystemd-login.sym \ introspect.awk \ - src/org.freedesktop.systemd1.policy.in + src/73-seat-late.rules.in \ + src/99-systemd.rules.in if ENABLE_BINFMT EXTRA_DIST += \ @@ -428,6 +462,12 @@ dist_systemunit_DATA += \ units/frugalware/display-manager.service endif +if TARGET_SUSE +dist_systemunit_DATA += \ + units/suse/rc-local.service \ + units/suse/halt-local.service +endif + if HAVE_PLYMOUTH dist_systemunit_DATA += \ units/plymouth-start.service \ @@ -459,19 +499,34 @@ dist_doc_DATA = \ pkgconfigdata_DATA = \ 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 + +# First passed through sed, followed by intltool +polkitpolicy_in_in_files = \ + src/org.freedesktop.systemd1.policy.in.in + nodist_polkitpolicy_DATA = \ - src/org.freedesktop.systemd1.policy + $(polkitpolicy_in_files:.policy.in=.policy) \ + $(polkitpolicy_in_in_files:.policy.in.in=.policy) + +EXTRA_DIST += \ + $(polkitpolicy_in_files) \ + $(polkitpolicy_in_in_files) -dist_polkitpolicy_DATA = \ - src/org.freedesktop.hostname1.policy \ - src/org.freedesktop.locale1.policy \ - src/org.freedesktop.timedate1.policy \ - src/org.freedesktop.login1.policy +@INTLTOOL_POLICY_RULE@ noinst_LTLIBRARIES = \ libsystemd-basic.la \ - libsystemd-core.la \ - libsystemd-daemon.la + libsystemd-core.la libsystemd_basic_la_SOURCES = \ src/util.c \ @@ -490,7 +545,8 @@ libsystemd_basic_la_CFLAGS = \ $(SELINUX_CFLAGS) libsystemd_basic_la_LIBADD = \ - $(SELINUX_LIBS) + $(SELINUX_LIBS) \ + $(CAP_LIBS) libsystemd_core_la_SOURCES = \ src/unit.c \ @@ -541,7 +597,16 @@ libsystemd_core_la_SOURCES = \ src/tcpwrap.c \ src/cgroup-util.c \ src/condition.c \ - src/dbus-common.c + src/dbus-common.c \ + src/sd-daemon.c \ + src/install.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) \ @@ -557,10 +622,8 @@ libsystemd_core_la_LIBADD = \ $(UDEV_LIBS) \ $(LIBWRAP_LIBS) \ $(PAM_LIBS) \ - $(AUDIT_LIBS) - -libsystemd_daemon_la_SOURCES = \ - src/sd-daemon.c + $(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 @@ -588,7 +651,18 @@ EXTRA_DIST += \ src/shutdownd.h \ src/umount.h \ src/readahead-common.h \ - src/ask-password-api.h + src/ask-password-api.h \ + src/pager.h \ + src/sysfs-show.h \ + src/polkit.h \ + src/logind.h \ + src/logind-device.h \ + src/logind-seat.h \ + src/logind-session.h \ + src/logind-user.h \ + src/logind-acl.h \ + src/dbus-loop.h \ + src/spawn-agent.h MANPAGES = \ man/systemd.1 \ @@ -624,6 +698,7 @@ MANPAGES = \ man/shutdown.8 \ man/pam_systemd.8 \ man/systemd.conf.5 \ + man/systemd-logind.conf.5 \ man/tmpfiles.d.5 \ man/hostname.5 \ man/machine-id.5 \ @@ -633,7 +708,8 @@ MANPAGES = \ man/machine-info.5 \ man/modules-load.d.5 \ man/sysctl.d.5 \ - man/systemd-ask-password.1 + man/systemd-ask-password.1 \ + man/systemd-loginctl.1 if ENABLE_BINFMT MANPAGES += \ @@ -761,6 +837,29 @@ test_strv_CFLAGS = \ test_strv_LDADD = \ libsystemd-basic.la +test_login_SOURCES = \ + src/test-login.c + +test_login_CFLAGS = \ + $(AM_CFLAGS) + +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 @@ -870,12 +969,17 @@ systemd_logind_SOURCES = \ src/logind-session-dbus.c \ src/logind-user.c \ src/logind-user-dbus.c \ - src/logind-acl.c \ src/dbus-common.c \ src/dbus-loop.c \ 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) \ @@ -890,8 +994,15 @@ systemd_logind_LDADD = \ $(ACL_LIBS) systemd_uaccess_SOURCES = \ - src/uaccess.c \ - src/logind-acl.c + src/uaccess.c + +if HAVE_ACL +systemd_logind_SOURCES += \ + src/logind-acl.c + +systemd_uaccess_SOURCES += \ + src/logind-acl.c +endif systemd_uaccess_CFLAGS = \ $(AM_CFLAGS) \ @@ -900,6 +1011,8 @@ systemd_uaccess_CFLAGS = \ systemd_uaccess_LDADD = \ libsystemd-basic.la \ + libsystemd-daemon.la \ + libsystemd-login.la \ $(UDEV_LIBS) \ $(ACL_LIBS) @@ -1109,7 +1222,10 @@ systemctl_SOURCES = \ src/cgroup-show.c \ src/cgroup-util.c \ src/exit-status.c \ - src/unit-name.c + src/unit-name.c \ + src/pager.c \ + src/install.c \ + src/spawn-agent.c systemctl_CFLAGS = \ $(AM_CFLAGS) \ @@ -1120,6 +1236,24 @@ systemctl_LDADD = \ libsystemd-daemon.la \ $(DBUS_LIBS) +systemd_loginctl_SOURCES = \ + src/loginctl.c \ + src/dbus-common.c \ + src/cgroup-show.c \ + src/cgroup-util.c \ + src/pager.c \ + src/sysfs-show.c + +systemd_loginctl_CFLAGS = \ + $(AM_CFLAGS) \ + $(DBUS_CFLAGS) \ + $(UDEV_CFLAGS) + +systemd_loginctl_LDADD = \ + libsystemd-basic.la \ + $(DBUS_LIBS) \ + $(UDEV_LIBS) + systemd_notify_SOURCES = \ src/notify.c \ src/sd-readahead.c @@ -1168,7 +1302,8 @@ systemd_readahead_replay_LDADD = \ systemd_cgls_SOURCES = \ src/cgls.c \ src/cgroup-show.c \ - src/cgroup-util.c + src/cgroup-util.c \ + src/pager.c systemd_cgls_CFLAGS = \ $(AM_CFLAGS) @@ -1273,6 +1408,61 @@ pam_systemd_la_LIBADD = \ $(PAM_LIBS) \ $(DBUS_LIBS) +libsystemd_daemon_la_SOURCES = \ + src/sd-daemon.c + +libsystemd_daemon_la_CFLAGS = \ + $(AM_CFLAGS) \ + -fvisibility=hidden \ + -DSD_EXPORT_SYMBOLS + +libsystemd_daemon_la_LDFLAGS = \ + -shared \ + -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 + +libsystemd_login_la_CFLAGS = \ + $(AM_CFLAGS) \ + -fvisibility=hidden + +libsystemd_login_la_LDFLAGS = \ + -shared \ + -version-info $(LIBSYSTEMD_LOGIN_CURRENT):$(LIBSYSTEMD_LOGIN_REVISION):$(LIBSYSTEMD_LOGIN_AGE) \ + -Wl,--version-script=$(top_srcdir)/src/libsystemd-login.sym + +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' \ @@ -1289,6 +1479,9 @@ SED_PROCESS = \ -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \ -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \ -e 's,@prefix\@,$(prefix),g' \ + -e 's,@exec_prefix\@,$(exec_prefix),g' \ + -e 's,@libdir\@,$(libdir),g' \ + -e 's,@includedir\@,$(includedir),g' \ < $< > $@ || rm $@ units/%: units/%.in Makefile @@ -1300,16 +1493,31 @@ man/%: man/%.in Makefile %.pc: %.pc.in Makefile $(SED_PROCESS) -src/%.policy: src/%.policy.in Makefile +src/%.policy.in: src/%.policy.in.in Makefile + $(SED_PROCESS) + +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) @@ -1323,7 +1531,14 @@ CLEANFILES = \ $(nodist_man_MANS) \ ${XML_IN_FILES:.xml.in=.html} \ $(pkgconfigdata_DATA) \ - src/org.freedesktop.systemd1.policy + $(pkgconfiglib_DATA) \ + $(nodist_polkitpolicy_DATA) \ + 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 += \ @@ -1399,22 +1614,22 @@ endif DBUS_PREPROCESS = $(CPP) -P $(DBUS_CFLAGS) -imacros dbus/dbus-protocol.h org.freedesktop.systemd1.%.xml: systemd - $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \ + $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.$* $< $@.tmp && \ $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \ $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp org.freedesktop.hostname1.xml: systemd-hostnamed - $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \ + $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.hostname1 $< $@.tmp && \ $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \ $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp org.freedesktop.locale1.xml: systemd-localed - $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \ + $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.locale1 $< $@.tmp && \ $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \ $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp org.freedesktop.timedate1.xml: systemd-timedated - $(AM_V_GEN)$(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \ + $(AM_V_GEN)$(LIBTOOL) --mode=execute $(OBJCOPY) -O binary -j introspect.timedate1 $< $@.tmp && \ $(STRINGS) $@.tmp | $(AWK) -f $(srcdir)/introspect.awk | \ $(DBUS_PREPROCESS) -o $@ - && rm $@.tmp @@ -1659,12 +1874,29 @@ if TARGET_DEBIAN_OR_UBUNTU $(LN_S) multi-user.target runlevel5.target ) endif +if TARGET_SUSE + $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants + ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \ + rm -f rc-local.service && \ + $(LN_S) $(systemunitdir)/rc-local.service rc-local.service ) + ( cd $(DESTDIR)$(systemunitdir) && \ + rm -f local.service && \ + $(LN_S) rc-local.service local.service ) + ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \ + rm -f halt-local.service && \ + $(LN_S) $(systemunitdir)/halt-local.service halt-local.service ) +endif + if HAVE_SYSV_COMPAT ( cd $(DESTDIR)$(systemunitdir)/local-fs.target.wants && \ rm -f var-lock.mount && \ $(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) \