X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=7c0f793db681fc1bf0c0168071aa65c69046f169;hp=1b2e140f8beba3a6b9ceac005408a4dd186fe50c;hb=d2d12cd1bfd90f3a13273d82331a7cbd36a93231;hpb=a00e4879277b909a9c184e06f5a124c7892b02d6 diff --git a/Makefile.am b/Makefile.am index 1b2e140f8..7c0f793db 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,13 +17,23 @@ ACLOCAL_AMFLAGS = -I m4 -dbuspolicydir=$(sysconfdir)/dbus-1/system.d +# Dirs of external packages +dbuspolicydir=@dbuspolicydir@ +dbussessionservicedir=@dbussessionservicedir@ +dbussystemservicedir=@dbussystemservicedir@ +dbusinterfacedir=@dbusinterfacedir@ udevrulesdir=@udevrulesdir@ +# Our own, non-special dirs pkgsysconfdir=$(sysconfdir)/systemd -systemunitdir=$(pkgdatadir)/system sessionunitdir=$(pkgdatadir)/session +# And these are the special ones for / +rootdir=@rootdir@ +rootbindir=$(rootdir)/bin +rootlibexecdir=$(rootdir)/lib/systemd +systemunitdir=$(rootdir)/lib/systemd/system + AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \ @@ -32,22 +42,20 @@ AM_CPPFLAGS = \ -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \ -DSESSION_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/session\" \ -DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \ - -DCGROUP_AGENT_PATH=\"$(pkglibexecdir)/systemd-cgroups-agent\" \ - -DSYSTEMD_BINARY_PATH=\"$(sbindir)/systemd\" \ + -DCGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \ + -DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \ -I $(top_srcdir)/src -sbin_PROGRAMS = \ - systemd - -bin_PROGRAMS = \ +rootbin_PROGRAMS = \ + systemd \ systemctl if HAVE_GTK -bin_PROGRAMS += \ +bin_PROGRAMS = \ systemadm endif -pkglibexec_PROGRAMS = \ +rootlibexec_PROGRAMS = \ systemd-logger \ systemd-cgroups-agent \ systemd-initctl @@ -61,16 +69,36 @@ noinst_PROGRAMS = \ dist_dbuspolicy_DATA = \ src/org.freedesktop.systemd1.conf +dist_dbussystemservice_DATA = \ + src/org.freedesktop.systemd1.service + dist_udevrules_DATA = \ src/99-systemd.rules +dbusinterface_DATA = \ + org.freedesktop.systemd1.Manager.xml \ + org.freedesktop.systemd1.Job.xml \ + org.freedesktop.systemd1.Unit.xml \ + org.freedesktop.systemd1.Service.xml \ + org.freedesktop.systemd1.Socket.xml \ + org.freedesktop.systemd1.Timer.xml \ + org.freedesktop.systemd1.Target.xml \ + org.freedesktop.systemd1.Device.xml \ + org.freedesktop.systemd1.Mount.xml \ + org.freedesktop.systemd1.Automount.xml \ + org.freedesktop.systemd1.Snapshot.xml \ + org.freedesktop.systemd1.Swap.xml \ + org.freedesktop.systemd1.Path.xml + dist_systemunit_DATA = \ units/emergency.service \ + units/basic.target \ units/getty.target \ units/halt.target \ units/local-fs.target \ units/network.target \ units/nss-lookup.target \ + units/mail-transfer-agent.target \ units/poweroff.target \ units/reboot.target \ units/remote-fs.target \ @@ -82,10 +110,22 @@ dist_systemunit_DATA = \ units/sockets.target \ units/swap.target \ units/systemd-initctl.socket \ - units/systemd-logger.socket + units/systemd-logger.socket \ + units/dev-hugepages.automount \ + units/dev-hugepages.mount \ + units/dev-mqueue.automount \ + units/dev-mqueue.mount \ + units/proc-sys-fs-binfmt_misc.automount \ + units/proc-sys-fs-binfmt_misc.mount \ + units/sys-kernel-debug.automount \ + units/sys-kernel-debug.mount \ + units/sys-kernel-security.automount \ + units/sys-kernel-security.mount \ + units/var-lock.mount \ + units/var-run.mount systemunit_DATA = \ - units/basic.target \ + units/sysinit.target \ units/getty@.service \ units/graphical.target \ units/multi-user.target \ @@ -93,11 +133,15 @@ systemunit_DATA = \ units/systemd-logger.service \ units/syslog.target +dist_sessionunit_DATA = \ + units/session/default.target + sessionunit_DATA = \ - units/session/remote-fs.target + units/session/remote-fs.target \ + units/session/exit.service EXTRA_DIST = \ - units/basic.target.m4 \ + units/sysinit.target.m4 \ units/getty@.service.m4 \ units/graphical.target.m4 \ units/multi-user.target.m4 \ @@ -105,6 +149,7 @@ EXTRA_DIST = \ units/systemd-initctl.service.in \ units/systemd-logger.service.in \ units/syslog.target.in \ + units/session/exit.service.in \ LICENSE \ README \ DISTRO_PORTING @@ -120,6 +165,22 @@ dist_systemunit_DATA += \ units/fedora/sysinit.service endif +if TARGET_SUSE +dist_systemunit_DATA += \ + units/suse/halt.service \ + units/suse/poweroff.service \ + units/suse/reboot.service +endif + +if TARGET_GENTOO +dist_systemunit_DATA += \ + units/gentoo/halt.service \ + units/gentoo/killall.service \ + units/gentoo/poweroff.service \ + units/gentoo/reboot.service \ + units/gentoo/xdm.service +endif + # This is needed because automake is buggy in how it generates the # rules for C programs, but not Vala programs. We therefore can't # list the .h files as dependencies if we want make dist to work. @@ -148,6 +209,7 @@ COMMON_SOURCES = \ src/snapshot.c \ src/socket.c \ src/timer.c \ + src/path.c \ src/load-dropin.c \ src/execute.c \ src/dbus.c \ @@ -156,6 +218,7 @@ COMMON_SOURCES = \ src/dbus-job.c \ src/dbus-service.c \ src/dbus-socket.c \ + src/dbus-timer.c \ src/dbus-target.c \ src/dbus-mount.c \ src/dbus-automount.c \ @@ -163,10 +226,12 @@ COMMON_SOURCES = \ src/dbus-snapshot.c \ src/dbus-device.c \ src/dbus-execute.c \ + src/dbus-path.c \ src/cgroup.c \ src/mount-setup.c \ src/hostname-setup.c \ src/loopback-setup.c \ + src/kmod-setup.c \ src/utmp-wtmp.c \ src/specifier.c \ src/unit-name.c \ @@ -229,7 +294,7 @@ test_engine_LDADD = $(systemd_LDADD) test_job_type_SOURCES = \ $(COMMON_SOURCES) \ - src/test-engine.c + src/test-job-type.c test_job_type_CPPFLAGS = $(systemd_CPPFLAGS) test_job_type_LDADD = $(systemd_LDADD) @@ -309,18 +374,16 @@ systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS) SED_PROCESS = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ - $(SED) -e 's,@libexecdir\@,$(libexecdir),g' \ - -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \ + $(SED) -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \ -e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \ + -e 's,@SPECIAL_DBUS_SERVICE\@,$(SPECIAL_DBUS_SERVICE),g' \ + -e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \ < $< > $@ units/%: units/%.in Makefile $(SED_PROCESS) -man/%.html: man/%.html.in Makefile - $(SED_PROCESS) - -man/%.7: man/%.7.in Makefile +man/%: man/%.in Makefile $(SED_PROCESS) M4_PROCESS_SYSTEM = \ @@ -338,22 +401,27 @@ units/session/%: units/%.m4 Makefile $(M4_PROCESS_SESSION) CLEANFILES = \ - src/systemd-interfaces.c \ - src/systemctl.c \ - src/systemadm.c \ units/systemd-initctl.service \ units/systemd-logger.service \ units/syslog.target \ - units/basic.target \ + units/sysinit.target \ units/getty@.service \ units/graphical.target \ units/multi-user.target \ units/remote-fs.target \ units/session/remote-fs.target \ + units/session/exit.service \ man/systemd.special.7 \ man/systemd.special.html -#if HAVE_XSLTPROC +if HAVE_VALAC +CLEANFILES += \ + src/systemd-interfaces.c \ + src/systemctl.c \ + src/systemadm.c +endif + +if HAVE_XSLTPROC XSLTPROC_PROCESS_MAN = \ $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< @@ -396,20 +464,27 @@ CLEANFILES += \ man/systemd.unit.html \ man/systemd.service.html \ man/systemd.special.html.in -#endif +endif + +org.freedesktop.systemd1.%.xml: systemd + $(AM_V_GEN)./systemd --introspect=${@:.xml=} > $@ + +CLEANFILES += $(dbusinterface_DATA) install-data-hook: $(MKDIR_P) -m 0755 \ $(DESTDIR)$(systemunitdir) \ $(DESTDIR)$(sessionunitdir) \ $(DESTDIR)$(systemunitdir)/sockets.target.wants \ + $(DESTDIR)$(systemunitdir)/sysinit.target.wants \ $(DESTDIR)$(pkgsysconfdir)/system \ $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \ $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \ $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \ $(DESTDIR)$(pkgsysconfdir)/session \ - $(DESTDIR)$(sysconfdir)/xdg/systemd \ - $(DESTDIR)/cgroup/debug + $(DESTDIR)$(sysconfdir)/xdg/systemd + $(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/systemd || \ + echo "Don't forget to create /cgroup/systemd! Couldn't create it for you, continuing anyway." ( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \ rm -f session && \ $(LN_S) $(pkgsysconfdir)/session session ) @@ -419,10 +494,10 @@ install-data-hook: $(LN_S) ../systemd-initctl.socket systemd-initctl.socket ) ( cd $(DESTDIR)$(sessionunitdir) && \ rm -f shutdown.target sockets.target local-fs.target swap.target && \ - $(LN_S) ../system/shutdown.target shutdown.target && \ - $(LN_S) ../system/sockets.target sockets.target && \ - $(LN_S) ../system/local-fs.target local-fs.target && \ - $(LN_S) ../system/swap.target swap.target ) + $(LN_S) $(systemunitdir)/shutdown.target shutdown.target && \ + $(LN_S) $(systemunitdir)/sockets.target sockets.target && \ + $(LN_S) $(systemunitdir)/local-fs.target local-fs.target && \ + $(LN_S) $(systemunitdir)/swap.target swap.target ) ( cd $(DESTDIR)$(systemunitdir) && \ rm -f runlevel0.target runlevel1.target runlevel6.target && \ $(LN_S) poweroff.target runlevel0.target && \ @@ -447,19 +522,52 @@ install-data-hook: $(LN_S) $(systemunitdir)/getty@.service getty@tty5.service && \ $(LN_S) $(systemunitdir)/getty@.service getty@tty6.service ) ( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \ - rm -f getty.target && \ - $(LN_S) $(systemunitdir)/getty.target getty.target ) + rm -f getty.target remote-fs.target && \ + $(LN_S) $(systemunitdir)/getty.target getty.target && \ + $(LN_S) $(systemunitdir)/remote-fs.target remote-fs.target ) + ( cd $(DESTDIR)$(systemunitdir)/sysinit.target.wants && \ + rm -f dev-hugepages.automount \ + dev-mqueue.automount \ + proc-sys-fs-binfmt_misc.automount \ + sys-kernel-debug.automount \ + sys-kernel-security.automount && \ + $(LN_S) ../dev-hugepages.automount dev-hugepages.automount && \ + $(LN_S) ../dev-mqueue.automount dev-mqueue.automount && \ + $(LN_S) ../proc-sys-fs-binfmt_misc.automount proc-sys-fs-binfmt_misc.automount && \ + $(LN_S) ../sys-kernel-debug.automount sys-kernel-debug.automount && \ + $(LN_S) ../sys-kernel-security.automount sys-kernel-security.automount ) + ( cd $(DESTDIR)$(dbussessionservicedir) && \ + rm -f org.freedesktop.systemd1.service && \ + $(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service ) if TARGET_FEDORA + ( cd $(DESTDIR)$(pkgsysconfdir)/system && \ + rm -f display-manager.service && \ + $(LN_S) $(systemunitdir)/prefdm.service display-manager.service ) ( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \ - rm -f prefdm.service && \ - $(LN_S) $(systemunitdir)/prefdm.service prefdm.service ) + rm -f display-manager.service && \ + $(LN_S) ../display-manager.service display-manager.service ) ( cd $(DESTDIR)$(pkgsysconfdir)/system/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)/etc/init.d && \ + $(LN_S) halt reboot > /dev/null 2>&1 || true ) +endif +if TARGET_GENTOO + ( cd $(DESTDIR)$(pkgsysconfdir)/system && \ + rm -f display-manager.service && \ + $(LN_S) $(systemunitdir)/xdm.service display-manager.service ) + ( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \ + rm -f display-manager.service && \ + $(LN_S) ../display-manager.service display-manager.service ) endif DISTCHECK_CONFIGURE_FLAGS = \ - --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) + --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \ + --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \ + --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \ + --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \ + --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) \ + --with-rootdir=$$dc_install_base/$(rootdir)