X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=d8757868e85b7bc90d10d39a6c30a73115bb062d;hp=e6366dd0049ba3876bd420ba7c154ebcdcc18bae;hb=d3782d60cd47f57f48a9229bdd3badbd2f4bae44;hpb=42e39f0b326d27f6392a81a7400f9af7cf0af3ab diff --git a/Makefile.am b/Makefile.am index e6366dd00..d8757868e 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,23 @@ 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 +rootbin_PROGRAMS = \ + systemd \ + systemctl bin_PROGRAMS = \ - systemctl + systemd-install if HAVE_GTK bin_PROGRAMS += \ systemadm endif -pkglibexec_PROGRAMS = \ +rootlibexec_PROGRAMS = \ systemd-logger \ systemd-cgroups-agent \ systemd-initctl @@ -61,16 +72,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 +113,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 +136,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 +152,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 +168,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. @@ -138,6 +202,7 @@ COMMON_SOURCES = \ src/unit.c \ src/job.c \ src/manager.c \ + src/path-lookup.c \ src/load-fragment.c \ src/service.c \ src/automount.c \ @@ -148,6 +213,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 +222,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 +230,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 \ @@ -209,8 +278,8 @@ systemd_SOURCES = \ $(COMMON_SOURCES) \ src/main.c -systemd_CPPFLAGS = \ - $(AM_CPPFLAGS) \ +systemd_CFLAGS = \ + $(AM_CFLAGS) \ $(DBUS_CFLAGS) \ $(UDEV_CFLAGS) \ $(CGROUP_CFLAGS) @@ -224,14 +293,14 @@ test_engine_SOURCES = \ $(COMMON_SOURCES) \ src/test-engine.c -test_engine_CPPFLAGS = $(systemd_CPPFLAGS) +test_engine_CFLAGS = $(systemd_CFLAGS) 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_CFLAGS = $(systemd_CFLAGS) test_job_type_LDADD = $(systemd_LDADD) test_ns_SOURCES = \ @@ -239,7 +308,7 @@ test_ns_SOURCES = \ src/test-ns.c \ src/namespace.c -test_ns_CPPFLAGS = $(systemd_CPPFLAGS) +test_ns_CFLAGS = $(systemd_CFLAGS) test_ns_LDADD = $(systemd_LDADD) test_loopback_SOURCES = \ @@ -247,7 +316,7 @@ test_loopback_SOURCES = \ src/test-loopback.c \ src/loopback-setup.c -test_loopback_CPPFLAGS = $(systemd_CPPFLAGS) +test_loopback_CFLAGS = $(systemd_CFLAGS) test_loopback_LDADD = $(systemd_LDADD) systemd_logger_SOURCES = \ @@ -260,8 +329,8 @@ systemd_initctl_SOURCES = \ src/initctl.c \ src/sd-daemon.c -systemd_initctl_CPPFLAGS = \ - $(AM_CPPFLAGS) \ +systemd_initctl_CFLAGS = \ + $(AM_CFLAGS) \ $(DBUS_CFLAGS) systemd_initctl_LDADD = \ @@ -271,47 +340,55 @@ systemd_cgroups_agent_SOURCES = \ $(BASIC_SOURCES) \ src/cgroups-agent.c -systemd_cgroups_agent_CPPFLAGS = \ - $(AM_CPPFLAGS) \ +systemd_cgroups_agent_CFLAGS = \ + $(AM_CFLAGS) \ $(DBUS_CFLAGS) systemd_cgroups_agent_LDADD = \ $(DBUS_LIBS) -VALAFLAGS = \ - -g \ - --save-temps \ - --pkg=dbus-glib-1 \ - --pkg=posix - -if HAVE_GTK -VALAFLAGS += \ - --pkg=gtk+-2.0 -endif +systemctl_SOURCES = \ + src/systemctl.c \ + $(BASIC_SOURCES) -VALA_CFLAGS = \ - -Wno-unused-variable \ - -Wno-unused-function +systemctl_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) +systemctl_LDADD = $(DBUS_LIBS) -systemctl_SOURCES = \ - src/systemctl.vala \ - src/systemd-interfaces.vala +systemd_install_SOURCES = \ + src/install.c \ + src/path-lookup.c \ + $(BASIC_SOURCES) -systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS) -systemctl_LDADD = $(DBUSGLIB_LIBS) +# We don't really link here against D-Bus, however we indirectly include D-Bus header files +systemd_install_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) systemadm_SOURCES = \ src/systemadm.vala \ src/systemd-interfaces.vala -systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS) +systemadm_CFLAGS = \ + $(AM_CFLAGS) \ + $(DBUSGLIB_CFLAGS) \ + $(GTK_CFLAGS) \ + -Wno-unused-variable \ + -Wno-unused-function \ + -Wno-shadow \ + -Wno-format-nonliteral + +systemadm_VALAFLAGS = \ + --pkg=dbus-glib-1 \ + --pkg=posix \ + --pkg=gtk+-2.0 \ + -g + 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 @@ -338,19 +415,19 @@ CLEANFILES = \ 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_VALAC CLEANFILES += \ src/systemd-interfaces.c \ - src/systemctl.c \ src/systemadm.c endif @@ -399,11 +476,17 @@ CLEANFILES += \ 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 \ @@ -421,10 +504,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 && \ @@ -449,19 +532,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)