X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=2305caff6e39d6e3d336b5f4b37126303da96793;hp=bbc6330797bcbad2974957a226a7e459fbb4ef68;hb=c6edc23d5f8a483e93a891bf7eb76b5f4caf2fb4;hpb=1e7a69a2c5e5883557d6575f8f878db7137452e9 diff --git a/Makefile.am b/Makefile.am index bbc633079..2305caff6 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=15 LIBELOGIND_REVISION=0 -LIBELOGIND_AGE=11 +LIBELOGIND_AGE=15 # 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 / @@ -85,6 +90,7 @@ polkitpolicy_files = dist_udevrules_DATA = nodist_udevrules_DATA = dist_pkgsysconf_DATA = +nodist_pkgsysconf_DATA = dist_dbuspolicy_DATA = dist_dbussystemservice_DATA = check_PROGRAMS = @@ -99,6 +105,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 +128,14 @@ CLEANFILES = $(BUILT_SOURCES) \ AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ -DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \ - -DROOTPREFIX=\"$(rootprefix)\" \ + -DSYSTEMD_CGROUP_CONTROLLER=\"$(CGROUP_CONTROLLER)\" \ + -DSYSTEMD_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,16 +144,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/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) @@ -182,8 +198,7 @@ AM_V_RM_0 = @echo " RM " $@; # ------------------------------------------------------------------------------ rootbin_PROGRAMS = -bin_PROGRAMS = -rootlibexec_PROGRAMS = +pkglibexec_PROGRAMS = dist_doc_DATA = \ README \ @@ -217,70 +232,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 + $(INDEX_XML_FILE) \ + $(DIRECTIVE_FILE) EXTRA_DIST += \ - tools/make-man-rules.py - -endif - -endif - -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 += \ @@ -288,26 +298,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 \ @@ -326,6 +377,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 \ @@ -338,8 +391,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 \ @@ -358,7 +411,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 \ @@ -370,11 +427,13 @@ libbasic_la_CFLAGS = \ $(CAP_CFLAGS) \ -pthread +libbasic_la_LDFLAGS = \ + $(CAP_LDFLAGS) + libbasic_la_LIBADD = \ $(SELINUX_LIBS) \ $(CAP_LIBS) \ -ldl \ - -lrt \ -lm # ----------------------------------------------------------------------------- @@ -382,8 +441,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 \ @@ -392,9 +449,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 @@ -460,13 +514,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 \ @@ -511,7 +574,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 @@ -592,6 +654,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 \ @@ -600,8 +664,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 @@ -614,7 +681,7 @@ endif noinst_LTLIBRARIES += \ libelogind-core.la -rootlibexec_PROGRAMS += \ +pkglibexec_PROGRAMS += \ elogind loginctl_SOURCES = \ @@ -628,16 +695,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 @@ -707,6 +770,8 @@ pamlib_LTLIBRARIES = \ dist_pamconf_DATA = \ src/login/elogind-user +EXTRA_DIST += \ + src/login/elogind-user.m4 endif dist_dbussystemservice_DATA += \ @@ -715,8 +780,8 @@ dist_dbussystemservice_DATA += \ dist_dbuspolicy_DATA += \ src/login/org.freedesktop.login1.conf -dist_pkgsysconf_DATA += \ - src/login/elogind.conf +nodist_pkgsysconf_DATA += \ + src/login/logind.conf polkitpolicy_files += \ src/login/org.freedesktop.login1.policy @@ -737,7 +802,8 @@ gperf_gperf_sources = \ EXTRA_DIST += \ src/login/71-seat.rules.in \ - src/login/73-seat-late.rules.in + src/login/73-seat-late.rules.in \ + src/login/logind.conf.in # ------------------------------------------------------------------------------ substitutions = \ @@ -759,6 +825,7 @@ substitutions = \ '|udevlibexecdir=$(udevlibexecdir)|' \ '|KILL=$(KILL)|' \ '|MKDIR_P=$(MKDIR_P)|' \ + '|KILL_USER_PROCESSES=$(KILL_USER_PROCESSES)|' \ '|systemuidmax=$(SYSTEM_UID_MAX)|' \ '|systemgidmax=$(SYSTEM_GID_MAX)|' \ '|TTY_GID=$(TTY_GID)|' @@ -777,9 +844,6 @@ sysctl.d/%: sysctl.d/%.in %.pc: %.pc.in $(SED_PROCESS) -%.conf: %.conf.in - $(SED_PROCESS) - shell-completion/%: shell-completion/%.in $(SED_PROCESS) @@ -912,8 +976,7 @@ DISTCHECK_CONFIGURE_FLAGS += \ 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:"; \ @@ -921,12 +984,55 @@ dist-check-help: $(rootbin_PROGRAMS) $(bin_PROGRAMS) exit 1; \ fi; done +include_compilers = "$(CC)" "$(CC) -ansi" "$(CC) -std=iso9899:1990" +public_headers = $(filter-out src/systemd/_sd-common.h, $(pkginclude_HEADERS) $(include_HEADERS)) +.PHONY: dist-check-includes +dist-check-includes: $(public_headers) + @res=0; \ + for i in $(abspath $^); do \ + for cc in $(include_compilers); do \ + echo "$$cc -o/dev/null -c -x c -include "$$i" - 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