# Keep the test-suite.log
.PRECIOUS: $(TEST_SUITE_LOG) Makefile
-LIBELOGIND_CURRENT=11
+LIBELOGIND_CURRENT=14
LIBELOGIND_REVISION=0
-LIBELOGIND_AGE=11
+LIBELOGIND_AGE=14
# Dirs of external packages
dbuspolicydir=@dbuspolicydir@
bashcompletiondir=@bashcompletiondir@
zshcompletiondir=@zshcompletiondir@
+CGROUP_CONTROLLER=@cgroup_controller@
+PKTTYAGENT=$(bindir)/pkttyagent
+
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/elogind
pkgincludedir=$(includedir)/elogind
udevbindir=@udevbindir@
udevlibexecdir=$(udevbindir)
udevhomedir=$(udevlibexecdir)
+systemshutdowndir=$(rootlibexecdir)/system-shutdown
+systemsleepdir=$(rootlibexecdir)/system-sleep
factory_pamdir = $(datadir)/factory/etc/pam.d
# And these are the special ones for /
TESTS =
endif
+if ENABLE_BASH_COMPLETION
+dist_bashcompletion_DATA = $(dist_bashcompletion_data)
+endif
+if ENABLE_ZSH_COMPLETION
+dist_zshcompletion_DATA = $(dist_zshcompletion_data)
+endif
+
in_files = $(filter %.in,$(EXTRA_DIST))
in_in_files = $(filter %.in.in, $(in_files))
m4_files = $(filter %.m4,$(EXTRA_DIST) $(in_files:.m4.in=.m4))
AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
-DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
+ -DSYSTEMD_CGROUP_CONTROLLER=\"$(CGROUP_CONTROLLER)\" \
-DELOGIND_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/elogind-cgroups-agent\" \
- -DROOTPREFIX=\"$(rootprefix)\" \
-DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
- -DPOLKIT_AGENT_BINARY_PATH=\"$(bindir)/pkttyagent\" \
+ -DPOLKIT_AGENT_BINARY_PATH=\"$(PKTTYAGENT)\" \
+ -DSYSTEM_SLEEP_PATH=\"$(systemsleepdir)\" \
+ -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \
+ -DHALT=\"$(HALT)\" \
+ -DREBOOT=\"$(REBOOT)\" \
-DKEXEC=\"$(KEXEC)\" \
-DLIBDIR=\"$(libdir)\" \
-DROOTLIBDIR=\"$(rootlibdir)\" \
-I $(top_srcdir)/src \
-I $(top_builddir)/src/basic \
-I $(top_srcdir)/src/basic \
+ -I $(top_srcdir)/src/core \
-I $(top_srcdir)/src/shared \
-I $(top_builddir)/src/shared \
-I $(top_srcdir)/src/login \
# ------------------------------------------------------------------------------
rootbin_PROGRAMS =
-bin_PROGRAMS =
-rootlibexec_PROGRAMS =
+pkglibexec_PROGRAMS =
dist_doc_DATA = \
README \
noinst_DATA += \
$(HTML_FILES) \
- $(HTML_ALIAS)
+ $(HTML_ALIAS) \
+ docs/html/man
+endif
CLEANFILES += \
$(man_MANS) \
$(HTML_FILES) \
- $(HTML_ALIAS)
+ $(HTML_ALIAS) \
+ docs/html/man
docs/html/man:
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_LN)$(LN_S) -f ../../man $@
-noinst_DATA += \
- docs/html/man
-
-CLEANFILES += \
- docs/html/man
-
-if HAVE_PYTHON
man/index.html: man/elogind.index.html
$(AM_V_LN)$(LN_S) -f elogind.index.html $@
+if HAVE_PYTHON
noinst_DATA += \
man/index.html
+endif
CLEANFILES += \
man/index.html
-XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml)
-NON_INDEX_XML_FILES = $(filter-out man/elogind.index.xml,$(XML_FILES))
-SOURCE_XML_FILES = ${patsubst %,$(top_srcdir)/%,$(filter-out man/elogind.directives.xml,$(NON_INDEX_XML_FILES))}
+XML_GLOB := $(wildcard $(top_srcdir)/man/*.xml)
+DIRECTIVE_FILE := man/elogind.directives.xml
+INDEX_XML_FILE := man/elogind.index.xml
+NON_INDEX_XML_FILES := $(DIRECTIVE_FILE) $(filter-out $(INDEX_XML_FILE) $(DIRECTIVE_FILE),$(XML_FILES))
+ALL_XML_FILES := $(INDEX_XML_FILE) $(DIRECTIVE_FILE) $(filter-out $(INDEX_XML_FILE) $(DIRECTIVE_FILE),$(XML_GLOB))
+SOURCE_XML_FILES := ${patsubst %,$(top_srcdir)/%,$(filter-out $(DIRECTIVE_FILE),$(NON_INDEX_XML_FILES))}
# This target should only be run manually. It recreates Makefile-man.am
# file in the source directory based on all man/*.xml files. Run it after
# adding, removing, or changing the conditional in a man page.
-update-man-list: $(top_srcdir)/tools/make-man-rules.py $(XML_GLOB)
- $(AM_V_GEN)$(PYTHON) $^ > $(top_srcdir)/Makefile-man.tmp
+update-man-list: $(top_srcdir)/tools/make-man-rules.py $(ALL_XML_FILES) man/custom-entities.ent
+ $(AM_V_GEN)$(PYTHON) $< $(ALL_XML_FILES) > $(top_srcdir)/Makefile-man.tmp
$(AM_V_at)mv $(top_srcdir)/Makefile-man.tmp $(top_srcdir)/Makefile-man.am
- @echo "Makefile-man.am has been regenerated"
+ @echo "Makefile-man.am has been regenerated"
-man/elogind.index.xml: $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES)
+$(INDEX_XML_FILE): $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
-man/elogind.directives.xml: $(top_srcdir)/tools/make-directive-index.py man/custom-entities.ent $(SOURCE_XML_FILES)
+$(DIRECTIVE_FILE): $(top_srcdir)/tools/make-directive-index.py man/custom-entities.ent $(SOURCE_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(PYTHON) $< $@ $(SOURCE_XML_FILES)
CLEANFILES += \
- man/elogind.index.xml \
- man/elogind.directives.xml
+ $(INDEX_XML_FILE) \
+ $(DIRECTIVE_FILE)
EXTRA_DIST += \
- tools/make-man-rules.py
-
-endif
-
-endif
-
-EXTRA_DIST += \
- $(filter-out man/elogind.directives.xml,$(XML_FILES)) \
- $(HTML_FILES) \
- $(HTML_ALIAS) \
- $(man_MANS) \
- $(NULL)
+ $(filter-out $(DIRECTIVE_FILE) $(INDEX_XML_FILE),$(XML_FILES)) \
+ tools/make-man-index.py \
+ tools/make-man-rules.py \
+ tools/make-directive-index.py \
+ tools/xml_helper.py \
+ man/glib-event-glue.c
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libbasic_la_SOURCES = \
src/basic/missing.h \
- src/basic/capability.c \
- src/basic/capability.h \
+ src/basic/musl_missing.h \
+ src/basic/musl_missing.c \
+ src/basic/capability-util.c \
+ src/basic/capability-util.h \
src/basic/conf-files.c \
src/basic/conf-files.h \
+ src/basic/stdio-util.h \
src/basic/hostname-util.h \
src/basic/hostname-util.c \
src/basic/unit-name.c \
src/basic/unit-name.h \
+ src/basic/unaligned.h \
src/basic/util.c \
src/basic/util.h \
+ src/basic/io-util.c \
+ src/basic/io-util.h \
+ src/basic/string-util.c \
+ src/basic/string-util.h \
+ src/basic/parse-util.c \
+ src/basic/parse-util.h \
+ src/basic/fd-util.c \
+ src/basic/fd-util.h \
+ src/basic/user-util.c \
+ src/basic/user-util.h \
+ src/basic/dirent-util.c \
+ src/basic/dirent-util.h \
+ src/basic/xattr-util.c \
+ src/basic/xattr-util.h \
+ src/basic/proc-cmdline.c \
+ src/basic/proc-cmdline.h \
+ src/basic/fs-util.c \
+ src/basic/fs-util.h \
+ src/basic/syslog-util.c \
+ src/basic/syslog-util.h \
+ src/basic/stat-util.c \
+ src/basic/stat-util.h \
+ src/basic/mount-util.c \
+ src/basic/mount-util.h \
+ src/basic/hexdecoct.c \
+ src/basic/hexdecoct.h \
+ src/basic/extract-word.c \
+ src/basic/extract-word.h \
+ src/basic/escape.c \
+ src/basic/escape.h \
src/basic/path-util.c \
src/basic/path-util.h \
src/basic/time-util.c \
src/basic/time-util.h \
+ src/basic/locale-util.c \
+ src/basic/locale-util.h \
+ src/basic/umask-util.h \
src/basic/signal-util.c \
src/basic/signal-util.h \
+ src/basic/string-table.c \
+ src/basic/string-table.h \
src/basic/mempool.c \
src/basic/mempool.h \
src/basic/hashmap.c \
src/basic/hashmap.h \
+ src/basic/hash-funcs.c \
+ src/basic/hash-funcs.h \
src/basic/siphash24.c \
src/basic/siphash24.h \
src/basic/prioq.c \
src/basic/utf8.h \
src/basic/gunicode.c \
src/basic/gunicode.h \
+ src/basic/socket-util.c \
+ src/basic/socket-util.h \
src/basic/fileio.c \
src/basic/fileio.h \
src/basic/mkdir.c \
src/basic/terminal-util.h \
src/basic/login-util.h \
src/basic/login-util.c \
- src/basic/audit.c \
- src/basic/audit.h \
+ src/basic/audit-util.c \
+ src/basic/audit-util.h \
src/basic/memfd-util.c \
src/basic/memfd-util.h \
src/basic/process-util.c \
src/basic/rm-rf.c \
src/basic/rm-rf.h \
src/basic/copy.c \
- src/basic/copy.h
+ src/basic/copy.h \
+ src/basic/alloc-util.h \
+ src/basic/alloc-util.c \
+ src/basic/parse-printf-format.c \
+ src/basic/parse-printf-format.h
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
$(CAP_CFLAGS) \
-pthread
+libbasic_la_LDFLAGS = \
+ $(CAP_LDFLAGS)
+
libbasic_la_LIBADD = \
$(SELINUX_LIBS) \
$(CAP_LIBS) \
src/shared/spawn-polkit-agent.h \
src/shared/clean-ipc.c \
src/shared/clean-ipc.h \
- src/shared/cgroup-show.c \
- src/shared/cgroup-show.h \
- src/shared/utmp-wtmp.h \
src/shared/bus-util.c \
src/shared/bus-util.h
endif
# ------------------------------------------------------------------------------
-rootlibexec_PROGRAMS += \
+pkglibexec_PROGRAMS += \
elogind-cgroups-agent
elogind_cgroups_agent_SOURCES = \
src/login/logind-session-dbus.c \
src/login/logind-seat-dbus.c \
src/login/logind-user-dbus.c \
- src/login/logind-utmp.c \
- src/login/logind-acl.h
+ src/login/logind-acl.h \
+ src/core/cgroup.h \
+ src/core/cgroup.c \
+ src/core/mount-setup.h \
+ src/core/mount-setup.c
libelogind_core_la_LIBADD = \
libshared.la
noinst_LTLIBRARIES += \
libelogind-core.la
-rootlibexec_PROGRAMS += \
+pkglibexec_PROGRAMS += \
elogind
loginctl_SOURCES = \
rootbin_PROGRAMS += \
loginctl
-if ENABLE_BASH_COMPLETION
-dist_bashcompletion_DATA = \
+dist_bashcompletion_data = \
shell-completion/bash/loginctl
-endif
-if ENABLE_ZSH_COMPLETION
-dist_zshcompletion_DATA = \
+dist_zshcompletion_data = \
shell-completion/zsh/_loginctl \
shell-completion/zsh/_elogind-inhibit
-endif
elogind_inhibit_SOURCES = \
src/login/inhibit.c
dist_pamconf_DATA = \
src/login/elogind-user
+EXTRA_DIST += \
+ src/login/elogind-user.m4
endif
dist_dbussystemservice_DATA += \
src/login/org.freedesktop.login1.conf
dist_pkgsysconf_DATA += \
- src/login/elogind.conf
+ src/login/logind.conf
polkitpolicy_files += \
src/login/org.freedesktop.login1.policy
%.pc: %.pc.in
$(SED_PROCESS)
-%.conf: %.conf.in
- $(SED_PROCESS)
-
shell-completion/%: shell-completion/%.in
$(SED_PROCESS)
.PHONY: dist-check-help
-dist-check-help: $(rootbin_PROGRAMS) $(bin_PROGRAMS)
+dist-check-help: $(rootbin_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:"; \
git-tag:
git tag -s "v$(VERSION)" -m "elogind $(VERSION)"
+.PHONY: git-tar
+git-tar:
+ $(AM_V_at)git archive --format=tar --prefix=elogind-$(VERSION)-raw/ HEAD | \
+ (cd /var/tmp/ && tar xf -)
+ $(AM_V_GEN)(cd /var/tmp && rm -rf elogind-$(VERSION) && $(MKDIR_P) elogind-$(VERSION) && \
+ for f in `find elogind-$(VERSION)-raw/ -type f | cut -d '/' -f 2-` ; do \
+ $(MKDIR_P) elogind-$(VERSION)/`dirname $$f` ; \
+ $(AWK) 'BEGIN { i=0;e=0 } \
+ /^#if\s+0.*elogind.*$$/ { i=1;next } \
+ /^#else\s*$$/ { \
+ { if ( i==1 ) e=1; else print }{next} \
+ } \
+ /^#endif\s*\/\/\s*0\s*$$/ { \
+ { if ( i==1 ) { i=0;e=0 } else print }{next} \
+ } \
+ /^\s*\/\/\/.*elogind.*$$/{ next } \
+ /^\s*\/\/\s*#include.+$$/{ next } \
+ { if ( (i==0) || (e==1) ) print }' \
+ elogind-$(VERSION)-raw/$$f \
+ > elogind-$(VERSION)/$$f ; \
+ chmod `stat -c '%a' elogind-$(VERSION)-raw/$$f` \
+ elogind-$(VERSION)/$$f ; \
+ done ; \
+ for l in `find elogind-$(VERSION)-raw/ -type l | cut -d '/' -f 2-` ; do \
+ $(MKDIR_P) elogind-$(VERSION)/`dirname $$l` ; \
+ cp -P elogind-$(VERSION)-raw/$$l elogind-$(VERSION)/$$l ; \
+ done ; \
+ tar czf elogind-$(VERSION).tar.gz elogind-$(VERSION) ; \
+ rm -rf elogind-$(VERSION) elogind-$(VERSION)-raw) ; \
+ $(AM_V_at)mv /var/tmp/elogind-$(VERSION).tar.gz ./
+
.PHONY: install-tree
install-tree: all
rm -rf $(abs_srcdir)/install-tree