X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=Makefile.am;h=41a0f77528282d8886858d2834017c96fd61b21b;hp=9eb834061e7bdeac916fe5da3a5c7545218ccffc;hb=da22b4dccb157393d36cfce6656ddbd9f224f5e3;hpb=49f1af61c4ed0fd8061a014a47b2c8698c094950 diff --git a/Makefile.am b/Makefile.am index 9eb834061..41a0f7752 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,13 +53,18 @@ 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 +pkgincludedir=$(includedir)/elogind/systemd 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,15 @@ 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 \ + -I $(top_srcdir)/src/update-utmp \ $(OUR_CPPFLAGS) AM_CFLAGS = $(OUR_CFLAGS) @@ -182,8 +199,7 @@ AM_V_RM_0 = @echo " RM " $@; # ------------------------------------------------------------------------------ rootbin_PROGRAMS = -bin_PROGRAMS = -rootlibexec_PROGRAMS = +pkglibexec_PROGRAMS = dist_doc_DATA = \ README \ @@ -217,70 +233,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 += \ @@ -288,26 +299,67 @@ noinst_LTLIBRARIES += \ libbasic_la_SOURCES = \ src/basic/missing.h \ - src/basic/capability.c \ - src/basic/capability.h \ + 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/parse-printf-format.c \ + src/basic/parse-printf-format.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 +378,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 +392,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 +412,9 @@ 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 nodist_libbasic_la_SOURCES = \ src/basic/errno-from-name.h \ @@ -370,11 +426,13 @@ libbasic_la_CFLAGS = \ $(CAP_CFLAGS) \ -pthread +libbasic_la_LDFLAGS = \ + $(CAP_LDFLAGS) + libbasic_la_LIBADD = \ $(SELINUX_LIBS) \ $(CAP_LIBS) \ -ldl \ - -lrt \ -lm # ----------------------------------------------------------------------------- @@ -382,21 +440,24 @@ noinst_LTLIBRARIES += \ libshared.la libshared_la_SOURCES = \ - src/shared/sleep-config.c \ - src/shared/sleep-config.h \ + src/shared/bus-util.c \ + src/shared/bus-util.h \ + src/shared/clean-ipc.c \ + src/shared/clean-ipc.h \ src/shared/conf-parser.c \ src/shared/conf-parser.h \ + src/shared/musl_missing.h \ + src/shared/musl_missing.c \ src/shared/pager.c \ src/shared/pager.h \ src/shared/spawn-polkit-agent.c \ - 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 + src/shared/spawn-polkit-agent.h + +if HAVE_UTMP +libshared_la_SOURCES += \ + src/shared/utmp-wtmp.c \ + src/update-utmp/update-utmp.c +endif if HAVE_ACL libshared_la_SOURCES += \ @@ -460,13 +521,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 +581,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 @@ -558,13 +627,24 @@ 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 + +header-install-hook: + $(MKDIR_P) $(DESTDIR)/$(pkgincludedir) + cd $(DESTDIR)/$(includedir)/elogind && \ + for hdr in $(notdir $(pkginclude_HEADERS)) ; do \ + rm -f $$hdr ; \ + $(LN_S) systemd/$$hdr $$hdr ; \ + done + +header-uninstall-hook: + m -f $(DESTDIR)/$(includedir)/elogind/*.h + +INSTALL_EXEC_HOOKS += header-install-hook +UNINSTALL_EXEC_HOOKS += header-uninstall-hook lib_LTLIBRARIES += \ libelogind.la @@ -594,6 +674,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 \ @@ -603,7 +685,11 @@ libelogind_core_la_SOURCES = \ 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 @@ -616,7 +702,7 @@ endif noinst_LTLIBRARIES += \ libelogind-core.la -rootlibexec_PROGRAMS += \ +pkglibexec_PROGRAMS += \ elogind loginctl_SOURCES = \ @@ -630,16 +716,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 @@ -709,6 +791,8 @@ pamlib_LTLIBRARIES = \ dist_pamconf_DATA = \ src/login/elogind-user +EXTRA_DIST += \ + src/login/elogind-user.m4 endif dist_dbussystemservice_DATA += \ @@ -717,8 +801,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 @@ -739,7 +823,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 = \ @@ -761,6 +846,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)|' @@ -779,9 +865,6 @@ sysctl.d/%: sysctl.d/%.in %.pc: %.pc.in $(SED_PROCESS) -%.conf: %.conf.in - $(SED_PROCESS) - shell-completion/%: shell-completion/%.in $(SED_PROCESS) @@ -914,8 +997,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:"; \ @@ -923,12 +1005,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