X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=03591bed15133627352efb86a18164bd9b5fffac;hp=973c08e4cee4a4a6fa08e7d056c3ac8946a059c4;hb=2ded0c0442f597dc397f7b0e9a15cf453578d11e;hpb=5e6afdd3d359fc42de7ac432243e98673577e81f diff --git a/Makefile.am b/Makefile.am index 973c08e4c..03591bed1 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,16 +133,26 @@ 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/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 \ + units/remote-fs.target.m4 \ units/systemd-initctl.service.in \ units/systemd-logger.service.in \ units/syslog.target.in \ + units/session/exit.service.in \ LICENSE \ - README + README \ + DISTRO_PORTING if TARGET_FEDORA dist_systemunit_DATA += \ @@ -115,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. @@ -143,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 \ @@ -151,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 \ @@ -158,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 \ @@ -181,21 +251,24 @@ EXTRA_DIST += \ dist_man_MANS = \ man/systemd.unit.5 \ - man/systemd.service.5 \ + man/systemd.service.5 + +nodist_man_MANS = \ man/systemd.special.7 -HTMLMANS = \ +dist_noinst_DATA = \ man/systemd.unit.html \ - man/systemd.service.html \ - man/systemd.special.html + man/systemd.service.html -dist_noinst_DATA = \ - $(HTMLMANS) +nodist_noinst_DATA = \ + man/systemd.special.html EXTRA_DIST += \ man/systemd.unit.xml \ man/systemd.service.xml \ - man/systemd.special.xml + man/systemd.special.xml.in \ + man/systemd.special.7.in \ + man/systemd.special.html.in systemd_SOURCES = \ $(COMMON_SOURCES) \ @@ -221,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) @@ -270,6 +343,13 @@ systemd_cgroups_agent_CPPFLAGS = \ systemd_cgroups_agent_LDADD = \ $(DBUS_LIBS) +systemctl_SOURCES = \ + src/systemctl.c \ + $(BASIC_SOURCES) + +systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUS_CFLAGS) +systemctl_LDADD = $(DBUS_LIBS) + VALAFLAGS = \ -g \ --save-temps \ @@ -285,13 +365,6 @@ VALA_CFLAGS = \ -Wno-unused-variable \ -Wno-unused-function -systemctl_SOURCES = \ - src/systemctl.vala \ - src/systemd-interfaces.vala - -systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS) -systemctl_LDADD = $(DBUSGLIB_LIBS) - systemadm_SOURCES = \ src/systemadm.vala \ src/systemd-interfaces.vala @@ -300,81 +373,117 @@ systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLA systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS) SED_PROCESS = \ - $(MKDIR_P) units && \ - $(SED) -e 's,@libexecdir\@,$(libexecdir),g' \ - -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(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/systemd-initctl.service: units/systemd-initctl.service.in Makefile +units/%: units/%.in Makefile $(SED_PROCESS) -units/systemd-logger.service: units/systemd-logger.service.in Makefile +man/%: man/%.in Makefile $(SED_PROCESS) -units/syslog.target: units/syslog.target.in Makefile - $(SED_PROCESS) +M4_PROCESS_SYSTEM = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@ -M4_FLAGS = +M4_PROCESS_SESSION = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(M4) -P $(M4_DISTRO_FLAG) -DFOR_SESSION=1 < $< > $@ -if TARGET_FEDORA -M4_FLAGS += -DTARGET_FEDORA=1 -endif +units/%: units/%.m4 Makefile + $(M4_PROCESS_SYSTEM) -M4_PROCESS = \ - $(MKDIR_P) units && \ - $(M4) -P $(M4_FLAGS) < $< > $@ - -units/basic.target: units/basic.target.m4 Makefile - $(M4_PROCESS) - -units/graphical.target: units/graphical.target.m4 Makefile - $(M4_PROCESS) - -units/multi-user.target: units/multi-user.target.m4 Makefile - $(M4_PROCESS) - -units/getty@.service: units/getty@.service.m4 Makefile - $(M4_PROCESS) +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/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_VALAC +CLEANFILES += \ + src/systemd-interfaces.c \ + src/systemadm.c +endif if HAVE_XSLTPROC -man/%.5 man/%.7: man/%.xml - $(MKDIR_P) man +XSLTPROC_PROCESS_MAN = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< -man/%.html: man/%.xml - $(MKDIR_P) man +XSLTPROC_PROCESS_MAN_IN = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \ + mv ${@:.in=} $@ + +XSLTPROC_PROCESS_HTML = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< +XSLTPROC_PROCESS_HTML_IN = \ + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ + $(XSLTPROC) -o ${@:.in=} -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< && \ + mv ${@:.in=} $@ + +man/%.5: man/%.xml + $(XSLTPROC_PROCESS_MAN) + +man/%.5.in: man/%.xml.in + $(XSLTPROC_PROCESS_MAN) + +man/%.7: man/%.xml + $(XSLTPROC_PROCESS_MAN) + +man/%.7.in: man/%.xml.in + $(XSLTPROC_PROCESS_MAN_IN) + +man/%.html: man/%.xml + $(XSLTPROC_PROCESS_HTML) + +man/%.html.in: man/%.xml.in + $(XSLTPROC_PROCESS_HTML_IN) + CLEANFILES += \ $(dist_man_MANS) \ - $(HTMLMANS) + man/systemd.special.7.in \ + man/systemd.unit.html \ + man/systemd.service.html \ + man/systemd.special.html.in 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 ) @@ -383,9 +492,11 @@ install-data-hook: $(LN_S) ../systemd-logger.socket systemd-logger.socket && \ $(LN_S) ../systemd-initctl.socket systemd-initctl.socket ) ( cd $(DESTDIR)$(sessionunitdir) && \ - rm -f shutdown.target sockets.target && \ - $(LN_S) ../system/shutdown.target shutdown.target && \ - $(LN_S) ../system/sockets.target sockets.target ) + rm -f shutdown.target sockets.target local-fs.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 && \ @@ -410,20 +521,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)