# Keep the test-suite.log
.PRECIOUS: $(TEST_SUITE_LOG) Makefile
-LIBELOGIND_CURRENT=10
-LIBELOGIND_REVISION=2
-LIBELOGIND_AGE=10
+LIBELOGIND_CURRENT=12
+LIBELOGIND_REVISION=0
+LIBELOGIND_AGE=12
# 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)
-udevhwdbdir=$(udevlibexecdir)/hwdb.d
+systemshutdowndir=$(rootlibexecdir)/system-shutdown
+systemsleepdir=$(rootlibexecdir)/system-sleep
factory_pamdir = $(datadir)/factory/etc/pam.d
# And these are the special ones for /
AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
-DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
- -DCERTIFICATE_ROOT=\"$(CERTIFICATEROOT)\" \
+ -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 \
-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)
# ------------------------------------------------------------------------------
rootbin_PROGRAMS =
-bin_PROGRAMS =
-rootlibexec_PROGRAMS =
+pkglibexec_PROGRAMS =
dist_doc_DATA = \
README \
NEWS \
LICENSE.LGPL2.1 \
- LICENSE.GPL2 \
- DISTRO_PORTING
+ LICENSE.GPL2
@INTLTOOL_POLICY_RULE@
docs/html/man
if HAVE_PYTHON
-man/index.html: man/systemd.index.html
- $(AM_V_LN)$(LN_S) -f systemd.index.html $@
+man/index.html: man/elogind.index.html
+ $(AM_V_LN)$(LN_S) -f elogind.index.html $@
noinst_DATA += \
- man/index.html
+ man/index.html
CLEANFILES += \
- man/index.html
+ man/index.html
XML_GLOB = $(wildcard $(top_srcdir)/man/*.xml)
-NON_INDEX_XML_FILES = $(filter-out man/systemd.index.xml,$(XML_FILES))
-SOURCE_XML_FILES = ${patsubst %,$(top_srcdir)/%,$(filter-out man/systemd.directives.xml,$(NON_INDEX_XML_FILES))}
+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))}
# 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
update-man-list: $(top_srcdir)/tools/make-man-rules.py $(XML_GLOB)
$(AM_V_GEN)$(PYTHON) $^ > $(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/systemd.index.xml: $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES)
+man/elogind.index.xml: $(top_srcdir)/tools/make-man-index.py $(NON_INDEX_XML_FILES)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(PYTHON) $< $@ $(filter-out $<,$^)
-man/systemd.directives.xml: $(top_srcdir)/tools/make-directive-index.py man/custom-entities.ent $(SOURCE_XML_FILES)
+man/elogind.directives.xml: $(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/systemd.index.xml \
- man/systemd.directives.xml
+ man/elogind.index.xml \
+ man/elogind.directives.xml
EXTRA_DIST += \
- tools/make-man-rules.py
+ tools/make-man-rules.py
endif
endif
EXTRA_DIST += \
- $(filter-out man/systemd.directives.xml,$(XML_FILES)) \
+ $(filter-out man/elogind.directives.xml,$(XML_FILES)) \
$(HTML_FILES) \
$(HTML_ALIAS) \
$(man_MANS) \
libbasic_la_SOURCES = \
src/basic/missing.h \
+ src/basic/musl_missing.h \
+ src/basic/musl_missing.c \
src/basic/capability.c \
src/basic/capability.h \
src/basic/conf-files.c \
src/basic/fileio-label.c \
src/basic/fileio-label.h \
src/basic/rm-rf.c \
- src/basic/rm-rf.h
+ src/basic/rm-rf.h \
+ src/basic/copy.c \
+ src/basic/copy.h \
+ src/basic/parse-printf-format.c \
+ src/basic/parse-printf-format.h
nodist_libbasic_la_SOURCES = \
src/basic/errno-from-name.h \
- src/basic/errno-to-name.h \
- src/basic/cap-from-name.h \
- src/basic/cap-to-name.h
+ src/basic/errno-to-name.h
libbasic_la_CFLAGS = \
$(AM_CFLAGS) \
$(CAP_CFLAGS) \
-pthread
+libbasic_la_LDFLAGS = \
+ $(CAP_LDFLAGS)
+
libbasic_la_LIBADD = \
$(SELINUX_LIBS) \
$(CAP_LIBS) \
-ldl \
- -lrt \
-lm
# -----------------------------------------------------------------------------
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
libshared_la_CFLAGS = \
$(AM_CFLAGS) \
- $(ACL_CFLAGS) \
- $(LIBIDN_CFLAGS) \
- $(SECCOMP_CFLAGS)
+ $(ACL_CFLAGS)
libshared_la_LIBADD = \
libelogind-internal.la \
$(UDEV_LIBS) \
- $(ACL_LIBS) \
- $(LIBIDN_LIBS) \
- $(SECCOMP_LIBS)
+ $(ACL_LIBS)
gperf_txt_sources = \
- src/basic/errno-list.txt \
- src/basic/af-list.txt \
- src/basic/arphrd-list.txt \
- src/basic/cap-list.txt
+ src/basic/errno-list.txt
BUILT_SOURCES += \
$(gperf_gperf_m4_sources:-gperf.gperf.m4=-gperf.c) \
$(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
-src/basic/af-list.txt:
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include sys/socket.h - </dev/null | grep -v AF_UNSPEC | grep -v AF_MAX | $(AWK) '/^#define[ \t]+AF_[^ \t]+[ \t]+PF_[^ \t]/ { print $$2; }' >$@
-
-src/basic/af-to-name.h: src/basic/af-list.txt
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const af_names[] = { "} !/AF_FILE/ && !/AF_ROUTE/ && !/AF_LOCAL/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
-
-
-src/basic/arphrd-list.txt:
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include net/if_arp.h - </dev/null | $(AWK) '/^#define[ \t]+ARPHRD_[^ \t]+[ \t]+[^ \t]/ { print $$2; }' | sed -e 's/ARPHRD_//' >$@
-
-src/basic/arphrd-to-name.h: src/basic/arphrd-list.txt
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const arphrd_names[] = { "} !/CISCO/ { printf "[ARPHRD_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
-
-src/basic/arphrd-from-name.gperf: src/basic/arphrd-list.txt
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct arphrd_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, ARPHRD_%s\n", $$1, $$1 }' <$< >$@
-
-
-src/basic/cap-list.txt:
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/capability.h -include missing.h - </dev/null | $(AWK) '/^#define[ \t]+CAP_[A-Z_]+[ \t]+/ { print $$2; }' | grep -v CAP_LAST_CAP >$@
-
-src/basic/cap-to-name.h: src/basic/cap-list.txt
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@
-
-src/basic/cap-from-name.gperf: src/basic/cap-list.txt
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct capability_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
-
-src/basic/cap-from-name.h: src/basic/cap-from-name.gperf
- $(AM_V_at)$(MKDIR_P) $(dir $@)
- $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_capability -H hash_capability_name -p -C <$< >$@
-
# ------------------------------------------------------------------------------
if HAVE_PAM
endif
# ------------------------------------------------------------------------------
-rootlibexec_PROGRAMS += \
- elogind-cgroups-agent
+pkglibexec_PROGRAMS += \
+ elogind-cgroups-agent
elogind_cgroups_agent_SOURCES = \
- src/cgroups-agent/cgroups-agent.c
+ src/cgroups-agent/cgroups-agent.c
elogind_cgroups_agent_LDADD = \
- libshared.la
+ libshared.la
# ------------------------------------------------------------------------------
libelogind_internal_la_SOURCES = \
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 \
- src/systemd/sd-path.h \
src/libelogind/libelogind.sym \
src/libelogind/sd-bus/sd-bus.c \
src/libelogind/sd-bus/bus-control.c \
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 \
- src/libelogind/sd-path/sd-path.c
+ src/libelogind/sd-login/sd-login.c
libelogind_internal_la_LIBADD = \
libbasic.la \
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
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 = \
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
'|bindir=$(bindir)|' \
'|pkgsysconfdir=$(pkgsysconfdir)|' \
'|pkgdatadir=$(pkgdatadir)|' \
- '|udevhwdbdir=$(udevhwdbdir)|' \
'|udevrulesdir=$(udevrulesdir)|' \
- '|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
'|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
'|PACKAGE_NAME=$(PACKAGE_NAME)|' \
'|PACKAGE_URL=$(PACKAGE_URL)|' \
'|VERSION=$(VERSION)|' \
'|rootprefix=$(rootprefix)|' \
'|udevlibexecdir=$(udevlibexecdir)|' \
- '|SUSHELL=$(SUSHELL)|' \
- '|SULOGIN=$(SULOGIN)|' \
- '|DEBUGTTY=$(DEBUGTTY)|' \
'|KILL=$(KILL)|' \
- '|KMOD=$(KMOD)|' \
'|MKDIR_P=$(MKDIR_P)|' \
- '|QUOTAON=$(QUOTAON)|' \
- '|RC_LOCAL_SCRIPT_PATH_START=$(RC_LOCAL_SCRIPT_PATH_START)|' \
- '|RC_LOCAL_SCRIPT_PATH_STOP=$(RC_LOCAL_SCRIPT_PATH_STOP)|' \
- '|PYTHON=$(PYTHON)|' \
- '|NTP_SERVERS=$(NTP_SERVERS)|' \
- '|DNS_SERVERS=$(DNS_SERVERS)|' \
'|systemuidmax=$(SYSTEM_UID_MAX)|' \
'|systemgidmax=$(SYSTEM_GID_MAX)|' \
'|TTY_GID=$(TTY_GID)|'
%.pc: %.pc.in
$(SED_PROCESS)
-%.conf: %.conf.in
- $(SED_PROCESS)
-
shell-completion/%: shell-completion/%.in
$(SED_PROCESS)
--with-zshcompletiondir=$$dc_install_base/$(zshcompletiondir) \
--with-pamlibdir=$$dc_install_base/$(pamlibdir) \
--with-pamconfdir=$$dc_install_base/$(pamconfdir) \
- --with-rootprefix=$$dc_install_base \
- --enable-compat-libs
-
-DISTCHECK_CONFIGURE_FLAGS += \
- --with-sysvinit-path= \
- --with-sysvrcnd-path=
+ --with-rootprefix=$$dc_install_base
if ENABLE_SPLIT_USR
DISTCHECK_CONFIGURE_FLAGS += \
--disable-split-usr
endif
-#
-# Require python when making dist
-#
-.PHONY: dist-check-python dist-check-compat-libs dist-check-help
-dist-check-python:
+.PHONY: dist-check-help
-dist-check-compat-libs:
-
-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:"; \
exit 1; \
fi; done
-dist: dist-check-python dist-check-compat-libs
+dist:
.PHONY: git-tag
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\s*$$/ { 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
src/systemd/sd-daemon.h \
src/systemd/sd-login.h \
src/systemd/sd-bus.h \
- src/systemd/sd-path.h \
src/systemd/sd-event.h
$(generate-sym-test)