chiark / gitweb /
logind: add support for /run/nologin and /run/systemd/shutdown/scheduled
[elogind.git] / Makefile.am
index 67f57eb6618ebca77f00cd5bce1ad0e60a7d9bd7..bd2bc927f6a8bc894decdd781daa728e30a4819e 100644 (file)
@@ -54,37 +54,19 @@ bashcompletiondir=@bashcompletiondir@
 zshcompletiondir=@zshcompletiondir@
 varlogdir=$(localstatedir)/log
 elogindstatedir=$(localstatedir)/lib/elogind
-catalogstatedir=$(elogindstatedir)/catalog
-xinitrcdir=$(sysconfdir)/X11/xinit/xinitrc.d
+systemsleepdir=$(pkglibexecdir)/sleep.d
+systemshutdowndir=$(pkglibexecdir)/shutdown.d
+
+udevrulesdir=@udevrulesdir@
+udevbindir=@udevbindir@
+
+PKTTYAGENT=$(bindir)/pkttyagent
 
 # Our own, non-special dirs
 pkgsysconfdir=$(sysconfdir)/elogind
-userunitdir=$(prefix)/lib/elogind/user
-userpresetdir=$(prefix)/lib/elogind/user-preset
-tmpfilesdir=$(prefix)/lib/tmpfiles.d
-sysusersdir=$(prefix)/lib/sysusers.d
-sysctldir=$(prefix)/lib/sysctl.d
-binfmtdir=$(prefix)/lib/binfmt.d
-modulesloaddir=$(prefix)/lib/modules-load.d
-networkdir=$(rootprefix)/lib/elogind/network
 pkgincludedir=$(includedir)/elogind
-systemgeneratordir=$(rootlibexecdir)/system-generators
-usergeneratordir=$(prefix)/lib/elogind/user-generators
-systemshutdowndir=$(rootlibexecdir)/system-shutdown
-systemsleepdir=$(rootlibexecdir)/system-sleep
-systemunitdir=$(rootprefix)/lib/elogind/system
-systempresetdir=$(rootprefix)/lib/elogind/system-preset
-udevrulesdir=$(rootprefix)/lib/udev/rules.d
-catalogdir=$(prefix)/lib/elogind/catalog
-kernelinstalldir = $(prefix)/lib/kernel/install.d
 factory_etcdir = $(prefix)/share/factory/etc
 factory_pamdir = $(prefix)/share/factory/etc/pam.d
-bootlibdir = $(prefix)/lib/elogind/boot/efi
-
-# And these are the special ones for /
-rootprefix=@rootprefix@
-rootbindir=$(rootprefix)/bin
-rootlibexecdir=$(rootprefix)/lib/elogind
 
 EXTRA_DIST =
 BUILT_SOURCES =
@@ -108,8 +90,6 @@ nodist_pkgsysconf_DATA =
 dist_pkgdata_DATA =
 dist_dbuspolicy_DATA =
 dist_dbussystemservice_DATA =
-dist_systemunit_DATA_busnames =
-dist_sysusers_DATA =
 check_PROGRAMS =
 check_DATA =
 tests=
@@ -137,33 +117,22 @@ CLEANFILES = $(BUILT_SOURCES) \
        $(INSTALL_DATA_HOOKS) $(UNINSTALL_DATA_HOOKS) \
        $(DISTCLEAN_LOCAL_HOOKS) $(CLEAN_LOCAL_HOOKS)
 
-# FIXME a different pkttyagent path...
-
 AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
        -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
-       -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
+       -DPOLKIT_AGENT_BINARY_PATH=\"$(PKTTYAGENT)\" \
        -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
        -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
-       -DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
-       -DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
+       -DSYSTEMD_CGROUP_AGENT_PATH=\"$(pkglibexecdir)/logind-cgroups-agent\" \
        -DUSER_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/user\" \
        -DUSER_DATA_UNIT_PATH=\"$(userunitdir)\" \
-       -DCATALOG_DATABASE=\"$(catalogstatedir)/database\" \
        -DROOTPREFIX=\"$(rootprefix)\" \
-       -DRANDOM_SEED_DIR=\"$(localstatedir)/lib/elogind/\" \
-       -DRANDOM_SEED=\"$(localstatedir)/lib/elogind/random-seed\" \
-       -DSYSTEM_GENERATOR_PATH=\"$(systemgeneratordir)\" \
-       -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \
-       -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
        -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
-       -DELOGIND_LANGUAGE_FALLBACK_MAP=\"$(pkgdatadir)/language-fallback-map\" \
-       -DX_SERVER=\"$(bindir)/X\" \
-       -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
+       -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
+       -DHALT=\"$(HALT)\" \
+       -DREBOOT=\"$(REBOOT)\" \
        -DKEXEC=\"$(KEXEC)\" \
        -DLIBDIR=\"$(libdir)\" \
-       -DROOTLIBDIR=\"$(rootlibdir)\" \
-       -DROOTLIBEXECDIR=\"$(rootlibexecdir)\" \
        -DTEST_DIR=\"$(abs_top_srcdir)/test\" \
        -I $(top_srcdir)/src \
        -I $(top_builddir)/src/shared \
@@ -180,18 +149,6 @@ AM_CFLAGS = $(OUR_CFLAGS)
 AM_LDFLAGS = $(OUR_LDFLAGS)
 
 # ------------------------------------------------------------------------------
-define move-to-rootlibdir
-       if test "$(libdir)" != "$(rootlibdir)"; then \
-               $(MKDIR_P) $(DESTDIR)$(rootlibdir) && \
-               so_img_name=$$(readlink $(DESTDIR)$(libdir)/$$libname) && \
-               rm -f $(DESTDIR)$(libdir)/$$libname && \
-               $(LN_S) --relative -f $(DESTDIR)$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/$$libname && \
-               mv $(DESTDIR)$(libdir)/$$libname.* $(DESTDIR)$(rootlibdir); \
-       fi
-endef
-
-INSTALL_DIRS =
-
 SHUTDOWN_TARGET_WANTS =
 LOCAL_FS_TARGET_WANTS =
 MULTI_USER_TARGET_WANTS =
@@ -235,14 +192,7 @@ define add-wants
          for i in $$what; do $(LN_S) ../$$i . || exit $$? ; done )
 endef
 
-install-directories-hook:
-       $(MKDIR_P) $(addprefix $(DESTDIR),$(INSTALL_DIRS))
-
 install-aliases-hook:
-       set -- $(SYSTEM_UNIT_ALIASES) && \
-               dir=$(systemunitdir) && $(install-aliases)
-       set -- $(USER_UNIT_ALIASES) && \
-               dir=$(userunitdir) && $(install-relative-aliases)
        set -- $(GENERAL_ALIASES) && \
                dir= && $(install-relative-aliases)
 
@@ -269,7 +219,6 @@ install-touch-usr-hook:
 
 INSTALL_EXEC_HOOKS += \
        install-target-wants-hook \
-       install-directories-hook \
        install-aliases-hook \
        install-touch-usr-hook
 
@@ -300,10 +249,8 @@ AM_V_RM_ = $(AM_V_RM_$(AM_DEFAULT_VERBOSITY))
 AM_V_RM_0 = @echo "  RM      " $@;
 
 # ------------------------------------------------------------------------------
-rootbin_PROGRAMS =
 bin_PROGRAMS =
-rootlibexec_PROGRAMS =
-systemgenerator_PROGRAMS =
+pkglibexec_PROGRAMS =
 dist_bashcompletion_DATA =
 dist_zshcompletion_DATA =
 
@@ -453,6 +400,7 @@ libelogind_shared_la_SOURCES = \
        src/shared/cgroup-util.h \
        src/shared/cgroup-show.c \
        src/shared/cgroup-show.h \
+       src/shared/logs-show.h \
        src/shared/unit-name.c \
        src/shared/unit-name.h \
        src/shared/watchdog.c \
@@ -556,6 +504,9 @@ libelogind_shared_la_LIBADD = \
        $(CAP_LIBS) \
        -lm
 
+libelogind_shared_la_LDFLAGS = \
+       $(CAP_LDFLAGS)
+
 # ------------------------------------------------------------------------------
 if HAVE_ACL
 noinst_LTLIBRARIES += \
@@ -668,7 +619,6 @@ libelogind_internal_la_SOURCES = \
        src/systemd/sd-login.h \
        src/systemd/sd-id128.h \
        src/systemd/sd-daemon.h \
-       src/systemd/sd-path.h \
        src/systemd/sd-network.h \
        src/systemd/sd-device.h \
        src/libelogind/sd-bus/sd-bus.c \
@@ -728,7 +678,6 @@ libelogind_internal_la_SOURCES = \
        src/libelogind/sd-id128/sd-id128.c \
        src/libelogind/sd-daemon/sd-daemon.c \
        src/libelogind/sd-login/sd-login.c \
-       src/libelogind/sd-path/sd-path.c \
        src/libelogind/sd-network/sd-network.c \
        src/libelogind/sd-network/network-util.h \
        src/libelogind/sd-network/network-util.c \
@@ -753,24 +702,45 @@ libelogind_internal_la_LIBADD = \
        libelogind-shared.la
 
 libelogind_internal_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -version-info $(LIBELOGIND_CURRENT):$(LIBELOGIND_REVISION):$(LIBELOGIND_AGE) \
-       -Wl,--version-script=$(top_builddir)/src/libelogind/libelogind.sym
+       $(AM_LDFLAGS)
+
+lib_LTLIBRARIES += \
+       libelogind.la
 
-libelogind-install-hook:
-       libname=libelogind.so && $(move-to-rootlibdir)
+libelogind_la_SOURCES =
 
-libelogind-uninstall-hook:
-       rm -f $(DESTDIR)$(rootlibdir)/libelogind.so*
+libelogind_la_CFLAGS = \
+       $(AM_CFLAGS)
 
-INSTALL_EXEC_HOOKS += libelogind-install-hook
-UNINSTALL_EXEC_HOOKS += libelogind-uninstall-hook
+libelogind_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBELOGIND_CURRENT):$(LIBELOGIND_REVISION):$(LIBELOGIND_AGE) \
+       -Wl,--version-script=src/libelogind/libelogind.sym
+
+libelogind_la_LIBADD = \
+       libelogind-internal.la
 
 pkgconfiglib_DATA += \
-       src/libelogind/libsystemd.pc
+       src/libelogind/libelogind.pc
 
 pkginclude_HEADERS += \
-       src/systemd/sd-login.h
+       src/systemd/sd-login.h \
+       src/systemd/sd-messages.h \
+       src/systemd/sd-journal.h \
+       src/systemd/_sd-common.h
+
+EXTRA_DIST += \
+       src/libelogind/libelogind.sym.m4 \
+       src/libelogind/libelogind.pc.in \
+       src/libelogind/sd-bus/DIFFERENCES \
+       src/libelogind/sd-bus/GVARIANT-SERIALIZATION
+
+CLEANFILES += \
+       src/libelogind/libelogind.sym
+
+BUILT_SOURCES += \
+       src/libelogind/libelogind.sym
+
 
 # ------------------------------------------------------------------------------
 elogind_SOURCES = \
@@ -822,8 +792,7 @@ endif
 noinst_LTLIBRARIES += \
        libelogind-core.la
 
-rootlibexec_PROGRAMS += \
-       elogind
+pkglibexec_PROGRAMS += elogind
 
 loginctl_SOURCES = \
        src/login/loginctl.c \
@@ -835,15 +804,24 @@ loginctl_LDADD = \
        libelogind-internal.la \
        libelogind-shared.la
 
-rootbin_PROGRAMS += \
+bin_PROGRAMS += \
        loginctl
 
+logind_cgroups_agent_SOURCES = \
+       src/cgroups-agent/cgroups-agent.c
+
+logind_cgroups_agent_LDADD = \
+       libelogind-internal.la \
+       libelogind-shared.la
+
+pkglibexec_PROGRAMS += \
+       logind-cgroups-agent
+
 dist_bashcompletion_DATA += \
        shell-completion/bash/loginctl
 
 dist_zshcompletion_DATA += \
-       shell-completion/zsh/_loginctl \
-       shell-completion/zsh/_systemd-inhibit
+       shell-completion/zsh/_loginctl
 
 systemd_inhibit_SOURCES = \
        src/login/inhibit.c
@@ -852,7 +830,7 @@ systemd_inhibit_LDADD = \
        libelogind-internal.la \
        libelogind-shared.la
 
-rootbin_PROGRAMS += \
+bin_PROGRAMS += \
        systemd-inhibit
 
 test_login_SOURCES = \
@@ -877,7 +855,8 @@ test_inhibit_LDADD = \
        libelogind-shared.la
 
 test_login_tables_SOURCES = \
-       src/login/test-login-tables.c
+       src/login/test-login-tables.c \
+       src/shared/test-tables.h
 
 test_login_tables_LDADD = \
        libelogind-core.la
@@ -932,9 +911,6 @@ dist_pkgsysconf_DATA += \
 polkitpolicy_files += \
        src/login/org.freedesktop.login1.policy
 
-INSTALL_DIRS += \
-       $(elogindstatedir)
-
 SYSTEM_UNIT_ALIASES += \
        elogind.service dbus-org.freedesktop.login1.service
 
@@ -958,47 +934,22 @@ EXTRA_DIST += \
 
 # ------------------------------------------------------------------------------
 substitutions = \
-       '|rootlibexecdir=$(rootlibexecdir)|' \
-       '|rootbindir=$(rootbindir)|' \
        '|bindir=$(bindir)|' \
+       '|udevbindir=$(udevbindir)|' \
        '|pkgsysconfdir=$(pkgsysconfdir)|' \
-       '|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \
-       '|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \
        '|pkgdatadir=$(pkgdatadir)|' \
-       '|systemunitdir=$(systemunitdir)|' \
-       '|userunitdir=$(userunitdir)|' \
-       '|systempresetdir=$(systempresetdir)|' \
-       '|userpresetdir=$(userpresetdir)|' \
-       '|udevrulesdir=$(udevrulesdir)|' \
-       '|catalogdir=$(catalogdir)|' \
-       '|tmpfilesdir=$(tmpfilesdir)|' \
-       '|sysusersdir=$(sysusersdir)|' \
-       '|sysctldir=$(sysctldir)|' \
-       '|systemgeneratordir=$(systemgeneratordir)|' \
-       '|usergeneratordir=$(usergeneratordir)|' \
        '|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
        '|PACKAGE_NAME=$(PACKAGE_NAME)|' \
        '|PACKAGE_URL=$(PACKAGE_URL)|' \
-       '|RANDOM_SEED_DIR=$(localstatedir)/lib/elogind/|' \
-       '|RANDOM_SEED=$(localstatedir)/lib/elogind/random-seed|' \
        '|prefix=$(prefix)|' \
        '|exec_prefix=$(exec_prefix)|' \
        '|libdir=$(libdir)|' \
        '|includedir=$(includedir)|' \
        '|VERSION=$(VERSION)|' \
        '|rootprefix=$(rootprefix)|' \
-       '|udevlibexecdir=$(udevlibexecdir)|' \
        '|MKDIR_P=$(MKDIR_P)|' \
-       '|SYSTEM_SYSVINIT_PATH=$(sysvinitdir)|' \
-       '|VARLOGDIR=$(varlogdir)|' \
-       '|PYTHON=$(PYTHON)|' \
-       '|PYTHON_BINARY=$(PYTHON_BINARY)|' \
        '|systemuidmax=$(SYSTEM_UID_MAX)|' \
-       '|systemgidmax=$(SYSTEM_GID_MAX)|' \
-       '|systemsleepdir=$(systemsleepdir)|' \
-       '|systemshutdowndir=$(systemshutdowndir)|' \
-       '|binfmtdir=$(binfmtdir)|' \
-       '|modulesloaddir=$(modulesloaddir)|'
+       '|systemgidmax=$(SYSTEM_GID_MAX)|'
 
 SED_PROCESS = \
        $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
@@ -1145,30 +1096,10 @@ DISTCHECK_CONFIGURE_FLAGS = \
        --with-zshcompletiondir=$$dc_install_base/$(zshcompletiondir) \
        --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
        --with-pamconfdir=$$dc_install_base/$(pamconfdir) \
-       --with-rootprefix=$$dc_install_base \
-       --disable-split-usr \
-       --enable-kdbus
-
-DISTCHECK_CONFIGURE_FLAGS += \
-       --with-sysvinit-path= \
-       --with-sysvrcnd-path=
+       --enable-kdbus \
+       --with-udevrulesdir=$$dc_install_base/$(udevrulesdir)
 
 if ENABLE_GTK_DOC
 DISTCHECK_CONFIGURE_FLAGS += \
        --enable-gtk-doc
 endif
-
-#
-# Require python when making dist
-#
-.PHONY: dist-check-help
-
-dist-check-help: $(rootbin_PROGRAMS) $(bin_PROGRAMS)
-       for i in $(abspath $^); do                                             \
-            if $$i  --help | grep -v 'default:' | grep -E -q '.{80}.' ; then   \
-               echo "$(basename $$i) --help output is too wide:";             \
-               $$i  --help | awk 'length > 80' | grep -E --color=yes '.{80}'; \
-               exit 1;                                                        \
-            fi; done
-
-dist: dist-check-python