X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=7facc7610600c1c5d8ad875a88b5947ab74fcbb8;hp=8205994ed8736ec6a003a1ec81e80745801e28ed;hb=7b6ffe6395e164016636530c2aedaf3f4f9a7830;hpb=2ce8152bd305e6cb29732222649db8b662e10113 diff --git a/Makefile.am b/Makefile.am index 8205994ed..7facc7610 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,9 +38,9 @@ SUBDIRS = . po # 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@ @@ -53,6 +53,9 @@ polkitpolicydir=$(datadir)/polkit-1/actions bashcompletiondir=@bashcompletiondir@ zshcompletiondir=@zshcompletiondir@ +CGROUP_CONTROLLER=@cgroup_controller@ +PKTTYAGENT=$(bindir)/pkttyagent + # Our own, non-special dirs pkgsysconfdir=$(sysconfdir)/elogind pkgincludedir=$(includedir)/elogind @@ -60,6 +63,8 @@ udevrulesdir=@udevrulesdir@ 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 / @@ -99,6 +104,13 @@ noinst_PROGRAMS = 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)) @@ -115,9 +127,14 @@ CLEANFILES = $(BUILT_SOURCES) \ AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \ - -DROOTPREFIX=\"$(rootprefix)\" \ + -DSYSTEMD_CGROUP_CONTROLLER=\"$(CGROUP_CONTROLLER)\" \ + -DELOGIND_CGROUP_AGENT_PATH=\"$(rootlibexecdir)/elogind-cgroups-agent\" \ -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)\" \ @@ -126,18 +143,14 @@ AM_CPPFLAGS = \ -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 \ -I $(top_srcdir)/src/systemd \ - -I $(top_builddir)/src/core \ - -I $(top_srcdir)/src/libudev \ - -I $(top_srcdir)/src/udev \ - -I $(top_srcdir)/src/core \ -I $(top_srcdir)/src/libelogind/sd-bus \ -I $(top_srcdir)/src/libelogind/sd-event \ -I $(top_srcdir)/src/libelogind/sd-login \ - -I $(top_srcdir)/src/libelogind/sd-netlink \ $(OUR_CPPFLAGS) AM_CFLAGS = $(OUR_CFLAGS) @@ -184,8 +197,7 @@ AM_V_RM_0 = @echo " RM " $@; # ------------------------------------------------------------------------------ rootbin_PROGRAMS = -bin_PROGRAMS = -rootlibexec_PROGRAMS = +pkglibexec_PROGRAMS = dist_doc_DATA = \ README \ @@ -219,70 +231,65 @@ man_MANS = \ 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 - -EXTRA_DIST += \ - tools/make-man-rules.py - -endif - -endif + $(INDEX_XML_FILE) \ + $(DIRECTIVE_FILE) EXTRA_DIST += \ - $(filter-out man/systemd.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 += \ @@ -290,26 +297,67 @@ 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 \ @@ -328,6 +376,8 @@ libbasic_la_SOURCES = \ 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 \ @@ -340,8 +390,8 @@ libbasic_la_SOURCES = \ 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 \ @@ -360,7 +410,11 @@ libbasic_la_SOURCES = \ 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 \ @@ -372,11 +426,13 @@ libbasic_la_CFLAGS = \ $(CAP_CFLAGS) \ -pthread +libbasic_la_LDFLAGS = \ + $(CAP_LDFLAGS) + libbasic_la_LIBADD = \ $(SELINUX_LIBS) \ $(CAP_LIBS) \ -ldl \ - -lrt \ -lm # ----------------------------------------------------------------------------- @@ -384,8 +440,6 @@ noinst_LTLIBRARIES += \ libshared.la libshared_la_SOURCES = \ - src/shared/sleep-config.c \ - src/shared/sleep-config.h \ src/shared/conf-parser.c \ src/shared/conf-parser.h \ src/shared/pager.c \ @@ -394,9 +448,6 @@ libshared_la_SOURCES = \ 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 @@ -408,14 +459,12 @@ endif libshared_la_CFLAGS = \ $(AM_CFLAGS) \ - $(ACL_CFLAGS) \ - $(SECCOMP_CFLAGS) + $(ACL_CFLAGS) libshared_la_LIBADD = \ libelogind-internal.la \ $(UDEV_LIBS) \ - $(ACL_LIBS) \ - $(SECCOMP_LIBS) + $(ACL_LIBS) gperf_txt_sources = \ src/basic/errno-list.txt @@ -464,13 +513,22 @@ dist_factory_pam_DATA = \ factory/etc/pam.d/other endif +# ------------------------------------------------------------------------------ +pkglibexec_PROGRAMS += \ + elogind-cgroups-agent + +elogind_cgroups_agent_SOURCES = \ + src/cgroups-agent/cgroups-agent.c + +elogind_cgroups_agent_LDADD = \ + libshared.la + # ------------------------------------------------------------------------------ libelogind_internal_la_SOURCES = \ src/systemd/sd-bus.h \ src/systemd/sd-bus-protocol.h \ src/systemd/sd-bus-vtable.h \ src/systemd/sd-event.h \ - src/systemd/sd-netlink.h \ src/systemd/sd-login.h \ src/systemd/sd-id128.h \ src/systemd/sd-daemon.h \ @@ -515,7 +573,6 @@ libelogind_internal_la_SOURCES = \ src/libelogind/sd-bus/bus-slot.h \ src/libelogind/sd-bus/bus-protocol.h \ src/libelogind/sd-event/sd-event.c \ - src/libelogind/sd-event/event-util.h \ src/libelogind/sd-id128/sd-id128.c \ src/libelogind/sd-daemon/sd-daemon.c \ src/libelogind/sd-login/sd-login.c @@ -562,13 +619,11 @@ pkgconfiglib_DATA += \ src/libelogind/libelogind.pc pkginclude_HEADERS += \ - src/systemd/sd-bus.h \ - src/systemd/sd-bus-protocol.h \ - src/systemd/sd-bus-vtable.h \ - src/systemd/sd-event.h \ src/systemd/sd-login.h \ + src/systemd/sd-messages.h \ src/systemd/sd-id128.h \ - src/systemd/sd-daemon.h + src/systemd/_sd-common.h + lib_LTLIBRARIES += \ libelogind.la @@ -598,6 +653,8 @@ libelogind_core_la_SOURCES = \ src/login/logind-session.h \ src/login/logind-session-device.c \ src/login/logind-session-device.h \ + src/login/logind-sleep.c \ + src/login/logind-sleep.h \ src/login/logind-user.c \ src/login/logind-user.h \ src/login/logind-inhibit.c \ @@ -606,8 +663,11 @@ libelogind_core_la_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 @@ -620,7 +680,7 @@ endif noinst_LTLIBRARIES += \ libelogind-core.la -rootlibexec_PROGRAMS += \ +pkglibexec_PROGRAMS += \ elogind loginctl_SOURCES = \ @@ -634,16 +694,12 @@ loginctl_LDADD = \ 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 @@ -713,6 +769,8 @@ pamlib_LTLIBRARIES = \ dist_pamconf_DATA = \ src/login/elogind-user +EXTRA_DIST += \ + src/login/elogind-user.m4 endif dist_dbussystemservice_DATA += \ @@ -722,7 +780,7 @@ dist_dbuspolicy_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 @@ -783,9 +841,6 @@ sysctl.d/%: sysctl.d/%.in %.pc: %.pc.in $(SED_PROCESS) -%.conf: %.conf.in - $(SED_PROCESS) - shell-completion/%: shell-completion/%.in $(SED_PROCESS) @@ -919,7 +974,7 @@ endif .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:"; \ @@ -933,6 +988,37 @@ dist: 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