2013-01-08 04:27:18 +04:00
# -*- Mode: makefile; indent-tabs-mode: t -*-
2012-04-12 15:33:02 +04:00
#
2010-02-03 16:21:48 +03:00
# This file is part of systemd.
#
2012-04-03 23:24:46 +04:00
# Copyright 2010-2012 Lennart Poettering
# Copyright 2010-2012 Kay Sievers
2013-01-23 08:51:51 +04:00
# Copyright 2013 Zbigniew Jędrzejewski-Szmek
2013-10-15 03:41:47 +04:00
# Copyright 2013 David Strauss
2010-02-03 16:21:48 +03:00
#
# systemd is free software; you can redistribute it and/or modify it
2012-04-12 02:20:58 +04:00
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
2010-02-03 16:21:48 +03:00
# (at your option) any later version.
#
# systemd is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2012-04-12 02:20:58 +04:00
# Lesser General Public License for more details.
2010-02-03 16:21:48 +03:00
#
2012-04-12 02:20:58 +04:00
# You should have received a copy of the GNU Lesser General Public License
2010-02-03 16:21:48 +03:00
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
2012-04-03 23:24:46 +04:00
ACLOCAL_AMFLAGS = -I m4 ${ ACLOCAL_FLAGS }
AM_MAKEFLAGS = --no-print-directory
2012-12-01 13:37:52 +04:00
AUTOMAKE_OPTIONS = color-tests parallel-tests
2010-02-03 16:21:48 +03:00
2014-08-15 18:33:03 +04:00
GCC_COLORS ?= 'ooh, shiny!'
export GCC_COLORS
2012-04-03 23:24:46 +04:00
SUBDIRS = . po
2012-07-17 19:58:14 +04:00
# remove targets if the command fails
.DELETE_ON_ERROR :
2013-01-30 06:17:40 +04:00
# keep intermediate files
.SECONDARY :
2013-07-17 18:29:55 +04:00
# Keep the test-suite.log
2013-07-18 11:18:55 +04:00
.PRECIOUS : $( TEST_SUITE_LOG ) Makefile
2013-07-17 18:29:55 +04:00
2014-08-20 00:45:53 +04:00
LIBUDEV_CURRENT = 7
2014-12-11 00:31:27 +03:00
LIBUDEV_REVISION = 2
2014-08-20 00:45:53 +04:00
LIBUDEV_AGE = 6
2012-04-03 23:24:46 +04:00
2014-02-24 22:25:00 +04:00
LIBGUDEV_CURRENT = 2
LIBGUDEV_REVISION = 0
LIBGUDEV_AGE = 2
2011-07-11 20:01:28 +04:00
2015-02-12 22:49:22 +03:00
LIBSYSTEMD_CURRENT = 6
LIBSYSTEMD_REVISION = 0
LIBSYSTEMD_AGE = 6
2014-06-11 17:30:28 +04:00
# The following four libraries only exist for compatibility reasons,
# their version info should not be bumped anymore
2013-09-13 04:11:19 +04:00
LIBSYSTEMD_LOGIN_CURRENT = 9
2014-02-24 22:25:00 +04:00
LIBSYSTEMD_LOGIN_REVISION = 3
2013-09-13 04:11:19 +04:00
LIBSYSTEMD_LOGIN_AGE = 9
2011-07-15 00:50:01 +04:00
2011-07-15 01:06:31 +04:00
LIBSYSTEMD_DAEMON_CURRENT = 0
2014-02-24 22:25:00 +04:00
LIBSYSTEMD_DAEMON_REVISION = 12
2011-07-15 01:06:31 +04:00
LIBSYSTEMD_DAEMON_AGE = 0
2011-12-30 20:50:37 +04:00
LIBSYSTEMD_ID128_CURRENT = 0
2014-02-24 22:25:00 +04:00
LIBSYSTEMD_ID128_REVISION = 28
2011-12-30 20:50:37 +04:00
LIBSYSTEMD_ID128_AGE = 0
2013-07-03 18:37:39 +04:00
LIBSYSTEMD_JOURNAL_CURRENT = 11
2014-02-24 22:25:00 +04:00
LIBSYSTEMD_JOURNAL_REVISION = 5
2013-07-03 18:37:39 +04:00
LIBSYSTEMD_JOURNAL_AGE = 11
2011-12-30 20:50:37 +04:00
2010-06-02 02:35:58 +04:00
# Dirs of external packages
2010-06-07 06:14:39 +04:00
dbuspolicydir = @dbuspolicydir@
dbussessionservicedir = @dbussessionservicedir@
dbussystemservicedir = @dbussystemservicedir@
2010-06-22 01:27:18 +04:00
pamlibdir = @pamlibdir@
Add pam configuration to allow user sessions to work out of the box
systemd-logind will start user@.service. user@.service unit uses
PAM with service name 'systemd-user' to perform account and session
managment tasks. Previously, the name was 'systemd-shared', it is
now changed to 'systemd-user'.
Most PAM installations use one common setup for different callers.
Based on a quick poll, distributions fall into two camps: those that
have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia,
Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE).
Distributions that have system-auth have just one configuration file
that contains auth, password, account, and session blocks, and
distributions that have common-auth also have common-session,
common-password, and common-account. It is thus impossible to use one
configuration file which would work for everybody. systemd-user now
refers to system-auth, because it seems that the approach with one
file is more popular and also easier, so let's follow that.
2013-09-11 22:31:14 +04:00
pamconfdir = @pamconfdir@
2015-04-21 21:35:17 +03:00
pkgconfigdatadir = $( datadir) /pkgconfig
2011-07-26 23:44:37 +04:00
pkgconfiglibdir = $( libdir) /pkgconfig
2010-09-17 03:26:29 +04:00
polkitpolicydir = $( datadir) /polkit-1/actions
2013-03-04 00:32:49 +04:00
bashcompletiondir = @bashcompletiondir@
2013-07-25 09:57:05 +04:00
zshcompletiondir = @zshcompletiondir@
2013-06-27 18:30:12 +04:00
rpmmacrosdir = $( prefix) /lib/rpm/macros.d
2012-10-17 22:03:21 +04:00
sysvinitdir = $( SYSTEM_SYSVINIT_PATH)
2013-01-08 05:37:37 +04:00
sysvrcnddir = $( SYSTEM_SYSVRCND_PATH)
2012-10-17 22:03:21 +04:00
varlogdir = $( localstatedir) /log
2012-11-17 02:08:27 +04:00
systemdstatedir = $( localstatedir) /lib/systemd
catalogstatedir = $( systemdstatedir) /catalog
2015-01-09 23:23:48 +03:00
xinitrcdir = $( sysconfdir) /X11/xinit/xinitrc.d
2010-02-13 03:07:02 +03:00
2010-06-02 02:35:58 +04:00
# Our own, non-special dirs
2010-05-16 01:06:41 +04:00
pkgsysconfdir = $( sysconfdir) /systemd
2011-04-05 04:49:49 +04:00
userunitdir = $( prefix) /lib/systemd/user
2012-09-14 00:17:46 +04:00
userpresetdir = $( prefix) /lib/systemd/user-preset
2011-04-25 23:38:21 +04:00
tmpfilesdir = $( prefix) /lib/tmpfiles.d
sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.
The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.
This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.
The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.
The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.
This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-13 00:54:02 +04:00
sysusersdir = $( prefix) /lib/sysusers.d
2012-01-14 03:37:35 +04:00
sysctldir = $( prefix) /lib/sysctl.d
2014-07-01 01:09:42 +04:00
binfmtdir = $( prefix) /lib/binfmt.d
modulesloaddir = $( prefix) /lib/modules-load.d
2014-02-21 18:14:51 +04:00
networkdir = $( rootprefix) /lib/systemd/network
2011-07-15 00:50:01 +04:00
pkgincludedir = $( includedir) /systemd
2012-04-04 14:48:07 +04:00
systemgeneratordir = $( rootlibexecdir) /system-generators
2013-08-02 06:58:03 +04:00
usergeneratordir = $( prefix) /lib/systemd/user-generators
2012-04-04 14:48:07 +04:00
systemshutdowndir = $( rootlibexecdir) /system-shutdown
2012-05-05 04:06:58 +04:00
systemsleepdir = $( rootlibexecdir) /system-sleep
2012-04-04 14:48:07 +04:00
systemunitdir = $( rootprefix) /lib/systemd/system
2012-09-14 00:17:46 +04:00
systempresetdir = $( rootprefix) /lib/systemd/system-preset
2012-04-03 23:24:46 +04:00
udevlibexecdir = $( rootprefix) /lib/udev
2012-11-16 02:03:31 +04:00
udevhomedir = $( udevlibexecdir)
udevrulesdir = $( udevlibexecdir) /rules.d
udevhwdbdir = $( udevlibexecdir) /hwdb.d
catalogdir = $( prefix) /lib/systemd/catalog
2013-04-30 20:01:47 +04:00
kernelinstalldir = $( prefix) /lib/kernel/install.d
2015-04-07 21:54:02 +03:00
factory_etcdir = $( datadir) /factory/etc
factory_pamdir = $( datadir) /factory/etc/pam.d
2015-02-17 22:12:50 +03:00
bootlibdir = $( prefix) /lib/systemd/boot/efi
2010-06-02 02:35:58 +04:00
# And these are the special ones for /
2012-01-05 03:40:39 +04:00
rootprefix = @rootprefix@
rootbindir = $( rootprefix) /bin
rootlibexecdir = $( rootprefix) /lib/systemd
2010-04-13 07:18:12 +04:00
2011-12-31 09:02:42 +04:00
EXTRA_DIST =
2012-04-03 23:24:46 +04:00
BUILT_SOURCES =
2011-12-31 09:02:42 +04:00
INSTALL_EXEC_HOOKS =
UNINSTALL_EXEC_HOOKS =
INSTALL_DATA_HOOKS =
2012-11-17 02:08:27 +04:00
UNINSTALL_DATA_HOOKS =
2012-04-03 23:24:46 +04:00
DISTCLEAN_LOCAL_HOOKS =
2013-03-08 19:27:44 +04:00
CLEAN_LOCAL_HOOKS =
2011-12-31 12:17:48 +04:00
pkginclude_HEADERS =
2012-04-10 18:41:52 +04:00
noinst_LTLIBRARIES =
2011-12-31 20:06:09 +04:00
lib_LTLIBRARIES =
2012-04-03 23:24:46 +04:00
include_HEADERS =
2013-03-08 20:03:50 +04:00
noinst_DATA =
2015-04-21 21:35:17 +03:00
pkgconfigdata_DATA =
2011-12-31 20:06:09 +04:00
pkgconfiglib_DATA =
2013-02-14 01:56:43 +04:00
polkitpolicy_in_in_files =
2011-12-31 09:02:42 +04:00
polkitpolicy_in_files =
2012-07-28 06:43:38 +04:00
polkitpolicy_files =
2012-01-22 21:20:42 +04:00
dist_udevrules_DATA =
2012-04-03 23:24:46 +04:00
nodist_udevrules_DATA =
2012-04-12 15:34:18 +04:00
dist_pkgsysconf_DATA =
2014-03-31 07:08:02 +04:00
nodist_pkgsysconf_DATA =
2012-07-01 19:37:21 +04:00
dist_pkgdata_DATA =
2012-04-12 15:34:18 +04:00
dist_dbuspolicy_DATA =
dist_dbussystemservice_DATA =
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames =
2015-03-03 08:21:10 +03:00
dist_sysusers_DATA =
2012-04-12 21:00:28 +04:00
check_PROGRAMS =
2012-04-13 17:57:13 +04:00
check_DATA =
2013-04-18 16:40:24 +04:00
tests =
manual_tests =
2015-01-20 23:26:35 +03:00
TEST_EXTENSIONS = .py
PY_LOG_COMPILER = $( PYTHON)
2013-04-18 16:40:24 +04:00
i f E N A B L E _ T E S T S
noinst_PROGRAMS = $( manual_tests) $( tests)
TESTS = $( tests)
e l s e
noinst_PROGRAMS =
TESTS =
e n d i f
2012-04-17 01:32:22 +04:00
udevlibexec_PROGRAMS =
2011-12-31 09:02:42 +04:00
2015-03-03 16:33:15 +03:00
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) )
CLEANFILES = $( BUILT_SOURCES) \
2015-04-21 21:35:17 +03:00
$( pkgconfigdata_DATA) \
2015-03-03 16:33:15 +03:00
$( pkgconfiglib_DATA) \
$( in_files:.in= ) $( in_in_files:.in.in= ) \
$( m4_files:.m4= )
2014-01-26 20:36:04 +04:00
.PHONY : $( INSTALL_EXEC_HOOKS ) $( UNINSTALL_EXEC_HOOKS ) \
$( INSTALL_DATA_HOOKS) $( UNINSTALL_DATA_HOOKS) \
$( DISTCLEAN_LOCAL_HOOKS) $( CLEAN_LOCAL_HOOKS)
2010-02-03 16:21:48 +03:00
AM_CPPFLAGS = \
2010-09-21 23:25:44 +04:00
-include $( top_builddir) /config.h \
2013-05-04 20:31:28 +04:00
-DPKGSYSCONFDIR= \" $( pkgsysconfdir) \" \
2010-02-13 03:07:02 +03:00
-DSYSTEM_CONFIG_UNIT_PATH= \" $( pkgsysconfdir) /system\" \
2010-04-13 07:18:12 +04:00
-DSYSTEM_DATA_UNIT_PATH= \" $( systemunitdir) \" \
2010-04-07 17:35:01 +04:00
-DSYSTEM_SYSVINIT_PATH= \" $( SYSTEM_SYSVINIT_PATH) \" \
2010-04-07 17:39:28 +04:00
-DSYSTEM_SYSVRCND_PATH= \" $( SYSTEM_SYSVRCND_PATH) \" \
2010-11-16 00:12:41 +03:00
-DUSER_CONFIG_UNIT_PATH= \" $( pkgsysconfdir) /user\" \
-DUSER_DATA_UNIT_PATH= \" $( userunitdir) \" \
2014-03-31 07:08:02 +04:00
-DCERTIFICATE_ROOT= \" $( CERTIFICATEROOT) \" \
2013-03-29 04:17:24 +04:00
-DCATALOG_DATABASE= \" $( catalogstatedir) /database\" \
2010-11-11 05:04:45 +03:00
-DSYSTEMD_CGROUP_AGENT_PATH= \" $( rootlibexecdir) /systemd-cgroups-agent\" \
2012-02-10 02:25:57 +04:00
-DSYSTEMD_BINARY_PATH= \" $( rootlibexecdir) /systemd\" \
2010-10-07 15:24:41 +04:00
-DSYSTEMD_SHUTDOWN_BINARY_PATH= \" $( rootlibexecdir) /systemd-shutdown\" \
2012-05-05 04:06:58 +04:00
-DSYSTEMD_SLEEP_BINARY_PATH= \" $( rootlibexecdir) /systemd-sleep\" \
2010-06-18 22:01:01 +04:00
-DSYSTEMCTL_BINARY_PATH= \" $( rootbindir) /systemctl\" \
2010-10-26 07:29:39 +04:00
-DSYSTEMD_TTY_ASK_PASSWORD_AGENT_BINARY_PATH= \" $( rootbindir) /systemd-tty-ask-password-agent\" \
2011-04-04 00:09:25 +04:00
-DSYSTEMD_STDIO_BRIDGE_BINARY_PATH= \" $( bindir) /systemd-stdio-bridge\" \
2012-01-05 03:40:39 +04:00
-DROOTPREFIX= \" $( rootprefix) \" \
2013-11-13 07:05:16 +04:00
-DRANDOM_SEED_DIR= \" $( localstatedir) /lib/systemd/\" \
2013-09-18 02:28:35 +04:00
-DRANDOM_SEED= \" $( localstatedir) /lib/systemd/random-seed\" \
2010-11-08 07:02:45 +03:00
-DSYSTEMD_CRYPTSETUP_PATH= \" $( rootlibexecdir) /systemd-cryptsetup\" \
2010-11-11 23:28:33 +03:00
-DSYSTEM_GENERATOR_PATH= \" $( systemgeneratordir) \" \
2010-11-16 00:12:41 +03:00
-DUSER_GENERATOR_PATH= \" $( usergeneratordir) \" \
2011-02-15 02:30:11 +03:00
-DSYSTEM_SHUTDOWN_PATH= \" $( systemshutdowndir) \" \
2012-06-01 04:07:12 +04:00
-DSYSTEM_SLEEP_PATH= \" $( systemsleepdir) \" \
2011-12-31 06:59:54 +04:00
-DSYSTEMD_KBD_MODEL_MAP= \" $( pkgdatadir) /kbd-model-map\" \
2015-01-31 22:11:23 +03:00
-DSYSTEMD_LANGUAGE_FALLBACK_MAP= \" $( pkgdatadir) /language-fallback-map\" \
2012-06-10 19:23:43 +04:00
-DUDEVLIBEXECDIR= \" $( udevlibexecdir) \" \
2012-04-12 03:51:49 +04:00
-DPOLKIT_AGENT_BINARY_PATH= \" $( bindir) /pkttyagent\" \
2013-05-06 23:15:38 +04:00
-DQUOTACHECK= \" $( QUOTACHECK) \" \
2013-07-16 07:04:52 +04:00
-DKEXEC= \" $( KEXEC) \" \
2015-05-13 16:43:04 +03:00
-DMOUNT_PATH= \" $( MOUNT_PATH) \" \
-DUMOUNT_PATH= \" $( UMOUNT_PATH) \" \
2014-07-02 14:23:36 +04:00
-DLIBDIR= \" $( libdir) \" \
-DROOTLIBDIR= \" $( rootlibdir) \" \
2015-02-24 16:30:10 +03:00
-DROOTLIBEXECDIR= \" $( rootlibexecdir) \" \
2014-01-07 17:41:24 +04:00
-DTEST_DIR= \" $( abs_top_srcdir) /test\" \
2011-12-31 22:35:52 +04:00
-I $( top_srcdir) /src \
2013-11-22 07:01:46 +04:00
-I $( top_builddir) /src/shared \
2012-04-10 15:39:02 +04:00
-I $( top_srcdir) /src/shared \
2013-10-17 05:18:36 +04:00
-I $( top_srcdir) /src/network \
2012-01-04 00:08:28 +04:00
-I $( top_srcdir) /src/login \
2012-04-12 16:40:20 +04:00
-I $( top_srcdir) /src/journal \
2015-03-16 20:14:18 +03:00
-I $( top_builddir) /src/journal \
2014-03-11 01:15:56 +04:00
-I $( top_srcdir) /src/timedate \
2014-04-28 16:45:42 +04:00
-I $( top_srcdir) /src/timesync \
2014-05-22 04:41:32 +04:00
-I $( top_srcdir) /src/resolve \
2014-08-02 03:37:16 +04:00
-I $( top_builddir) /src/resolve \
2012-04-03 23:24:46 +04:00
-I $( top_srcdir) /src/systemd \
2012-07-17 18:03:50 +04:00
-I $( top_builddir) /src/core \
2012-04-11 14:59:52 +04:00
-I $( top_srcdir) /src/core \
2012-04-14 21:31:18 +04:00
-I $( top_srcdir) /src/libudev \
2012-08-08 14:03:34 +04:00
-I $( top_srcdir) /src/udev \
udev: add network link configuration tool
This tool applies hardware specific settings to network devices before they
are announced via libudev.
Settings that will probably eventually be supported are MTU, Speed,
DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware',
'synthetic' or 'random'), Name and NamePolicy (replacing our current
interface naming logic). This patch only introduces support for
Description, as a proof of concept.
Some of these settings may later be overriden by a network management
daemon/script. However, these tools should always listen and wait on libudev
before touching a device (listening on netlink is not enough). This is no
different from how things used to be, as we always supported changing the
network interface name from udev rules, which does not work if someone
has already started using it.
The tool is configured by .link files in /etc/net/links/ (with the usual
overriding logic in /run and /lib). The first (in lexicographical order)
matching .link file is applied to a given device, and all others are ignored.
The .link files contain a [Match] section with (currently) the keys
MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this
matches on the stable device path as exposed as ID_PATH, and not the
unstable DEVPATH). A .link file matches a given device if all of the
specified keys do. Currently the keys are treated as plain strings,
but some limited globbing may later be added to the keys where it
makes sense.
Example:
/etc/net/links/50-wireless.link
[Match]
MACAddress=98:f2:e4:42:c6:92
Path=pci-0000:02:00.0-bcma-0
Type=wlan
[Link]
Description=The wireless link
2013-10-26 02:34:01 +04:00
-I $( top_srcdir) /src/udev/net \
2013-07-10 18:02:24 +04:00
-I $( top_builddir) /src/udev \
2014-01-21 17:10:18 +04:00
-I $( top_srcdir) /src/libsystemd/sd-bus \
-I $( top_srcdir) /src/libsystemd/sd-event \
-I $( top_srcdir) /src/libsystemd/sd-rtnl \
2014-08-12 04:33:37 +04:00
-I $( top_srcdir) /src/libsystemd/sd-network \
2014-12-03 19:02:34 +03:00
-I $( top_srcdir) /src/libsystemd/sd-hwdb \
2015-04-01 14:50:31 +03:00
-I $( top_srcdir) /src/libsystemd/sd-device \
2014-02-27 04:24:05 +04:00
-I $( top_srcdir) /src/libsystemd-network \
2014-06-12 19:51:14 +04:00
-I $( top_srcdir) /src/libsystemd-terminal \
2012-08-08 14:03:34 +04:00
$( OUR_CPPFLAGS)
2010-02-03 16:21:48 +03:00
2012-08-08 14:26:27 +04:00
AM_CFLAGS = $( OUR_CFLAGS)
2012-08-08 14:03:34 +04:00
AM_LDFLAGS = $( OUR_LDFLAGS)
2012-03-19 20:20:42 +04:00
2013-01-06 08:47:47 +04:00
# ------------------------------------------------------------------------------
2013-01-07 00:52:44 +04:00
d e f i n e m o v e - t o - r o o t l i b d i r
2013-01-06 08:47:47 +04:00
if test " $( libdir) " != " $( rootlibdir) " ; then \
$( MKDIR_P) $( DESTDIR) $( rootlibdir) && \
so_img_name = $$ ( readlink $( DESTDIR) $( libdir) /$$ libname) && \
2014-03-04 02:47:40 +04:00
rm -f $( DESTDIR) $( libdir) /$$ libname && \
2014-03-12 02:14:18 +04:00
$( LN_S) --relative -f $( DESTDIR) $( rootlibdir) /$$ so_img_name $( DESTDIR) $( libdir) /$$ libname && \
2013-01-06 08:47:47 +04:00
mv $( DESTDIR) $( libdir) /$$ libname.* $( DESTDIR) $( rootlibdir) ; \
fi
e n d e f
2013-01-23 07:24:54 +04:00
INSTALL_DIRS =
SHUTDOWN_TARGET_WANTS =
LOCAL_FS_TARGET_WANTS =
MULTI_USER_TARGET_WANTS =
2015-02-18 22:17:49 +03:00
GRAPHICAL_TARGET_WANTS =
RESCUE_TARGET_WANTS =
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS =
SOCKETS_TARGET_WANTS =
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS =
2013-03-26 00:20:08 +04:00
TIMERS_TARGET_WANTS =
2014-01-07 16:20:22 +04:00
USER_SOCKETS_TARGET_WANTS =
2014-10-04 15:10:41 +04:00
USER_DEFAULT_TARGET_WANTS =
2014-01-07 16:20:22 +04:00
USER_BUSNAMES_TARGET_WANTS =
2013-01-23 07:24:54 +04:00
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES =
USER_UNIT_ALIASES =
GENERAL_ALIASES =
2013-01-23 07:24:54 +04:00
install-target-wants-hook :
2014-01-07 16:20:22 +04:00
what = " $( SHUTDOWN_TARGET_WANTS) " && wants = shutdown.target && dir = $( systemunitdir) && $( add-wants)
what = " $( LOCAL_FS_TARGET_WANTS) " && wants = local-fs.target && dir = $( systemunitdir) && $( add-wants)
what = " $( MULTI_USER_TARGET_WANTS) " && wants = multi-user.target && dir = $( systemunitdir) && $( add-wants)
2015-02-18 22:17:49 +03:00
what = " $( GRAPHICAL_TARGET_WANTS) " && wants = graphical.target && dir = $( systemunitdir) && $( add-wants)
what = " $( RESCUE_TARGET_WANTS) " && wants = rescue.target && dir = $( systemunitdir) && $( add-wants)
2014-01-07 16:20:22 +04:00
what = " $( SYSINIT_TARGET_WANTS) " && wants = sysinit.target && dir = $( systemunitdir) && $( add-wants)
what = " $( SOCKETS_TARGET_WANTS) " && wants = sockets.target && dir = $( systemunitdir) && $( add-wants)
what = " $( TIMERS_TARGET_WANTS) " && wants = timers.target && dir = $( systemunitdir) && $( add-wants)
what = " $( SLICES_TARGET_WANTS) " && wants = slices.target && dir = $( systemunitdir) && $( add-wants)
what = " $( USER_SOCKETS_TARGET_WANTS) " && wants = sockets.target && dir = $( userunitdir) && $( add-wants)
2014-10-04 15:10:41 +04:00
what = " $( USER_DEFAULT_TARGET_WANTS) " && wants = default.target && dir = $( userunitdir) && $( add-wants)
2014-09-04 01:34:29 +04:00
install-busnames-target-wants-hook :
what = " $( BUSNAMES_TARGET_WANTS) " && wants = busnames.target && dir = $( systemunitdir) && $( add-wants)
2014-01-07 16:20:22 +04:00
what = " $( USER_BUSNAMES_TARGET_WANTS) " && wants = busnames.target && dir = $( userunitdir) && $( add-wants)
2013-01-23 07:24:54 +04:00
d e f i n e a d d - w a n t s
2013-01-24 06:41:30 +04:00
[ -z " $$ what " ] || ( \
2014-01-07 16:20:22 +04:00
dir = $( DESTDIR) $$ dir/$$ wants.wants && \
2013-01-24 06:41:30 +04:00
$( MKDIR_P) -m 0755 $$ dir && \
cd $$ dir && \
2013-01-23 07:24:54 +04:00
rm -f $$ what && \
2013-04-05 15:25:10 +04:00
for i in $$ what; do $( LN_S) ../$$ i . || exit $$ ? ; done )
2013-01-23 07:24:54 +04:00
e n d e f
install-directories-hook :
$( MKDIR_P) $( addprefix $( DESTDIR) ,$( INSTALL_DIRS) )
2013-01-23 08:51:51 +04:00
install-aliases-hook :
set -- $( SYSTEM_UNIT_ALIASES) && \
dir = $( systemunitdir) && $( install-aliases)
set -- $( USER_UNIT_ALIASES) && \
2014-03-03 20:10:16 +04:00
dir = $( userunitdir) && $( install-relative-aliases)
2013-01-23 08:51:51 +04:00
set -- $( GENERAL_ALIASES) && \
2014-03-03 20:10:16 +04:00
dir = && $( install-relative-aliases)
2013-01-23 08:51:51 +04:00
d e f i n e i n s t a l l - a l i a s e s
while [ -n " $$ 1 " ] ; do \
2013-05-07 22:38:51 +04:00
$( MKDIR_P) ` dirname $( DESTDIR) $$ dir/$$ 2` && \
2013-01-23 08:51:51 +04:00
rm -f $( DESTDIR) $$ dir/$$ 2 && \
2013-04-05 15:25:10 +04:00
$( LN_S) $$ 1 $( DESTDIR) $$ dir/$$ 2 && \
2013-01-23 08:51:51 +04:00
shift 2 || exit $$ ?; \
done
e n d e f
2014-03-03 20:10:16 +04:00
d e f i n e i n s t a l l - r e l a t i v e - a l i a s e s
while [ -n " $$ 1 " ] ; do \
$( MKDIR_P) ` dirname $( DESTDIR) $$ dir/$$ 2` && \
rm -f $( DESTDIR) $$ dir/$$ 2 && \
$( LN_S) --relative $( DESTDIR) $$ 1 $( DESTDIR) $$ dir/$$ 2 && \
shift 2 || exit $$ ?; \
done
e n d e f
2014-06-17 05:09:27 +04:00
install-touch-usr-hook :
touch -c $( DESTDIR) /$( prefix)
2013-01-23 07:24:54 +04:00
INSTALL_EXEC_HOOKS += \
install-target-wants-hook \
2013-01-23 08:51:51 +04:00
install-directories-hook \
2014-06-17 05:09:27 +04:00
install-aliases-hook \
install-touch-usr-hook
2013-01-23 07:24:54 +04:00
2014-09-04 01:34:29 +04:00
i f E N A B L E _ K D B U S
INSTALL_EXEC_HOOKS += \
install-busnames-target-wants-hook
e n d i f
2013-01-24 07:20:23 +04:00
# ------------------------------------------------------------------------------
AM_V_M4 = $( AM_V_M4_$( V) )
AM_V_M4_ = $( AM_V_M4_$( AM_DEFAULT_VERBOSITY) )
AM_V_M4_0 = @echo " M4 " $@ ;
2013-01-24 07:26:43 +04:00
AM_V_XSLT = $( AM_V_XSLT_$( V) )
AM_V_XSLT_ = $( AM_V_XSLT_$( AM_DEFAULT_VERBOSITY) )
AM_V_XSLT_0 = @echo " XSLT " $@ ;
2013-01-24 07:30:12 +04:00
AM_V_GPERF = $( AM_V_GPERF_$( V) )
AM_V_GPERF_ = $( AM_V_GPERF_$( AM_DEFAULT_VERBOSITY) )
AM_V_GPERF_0 = @echo " GPERF " $@ ;
2013-03-08 20:03:50 +04:00
AM_V_LN = $( AM_V_LN_$( V) )
AM_V_LN_ = $( AM_V_LN_$( AM_DEFAULT_VERBOSITY) )
AM_V_LN_0 = @echo " LN " $@ ;
2014-03-04 02:47:40 +04:00
AM_V_RM = $( AM_V_RM_$( V) )
AM_V_RM_ = $( AM_V_RM_$( AM_DEFAULT_VERBOSITY) )
AM_V_RM_0 = @echo " RM " $@ ;
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2010-06-02 02:35:58 +04:00
rootbin_PROGRAMS = \
2010-06-18 00:50:06 +04:00
systemctl \
2010-09-17 03:26:29 +04:00
systemd-notify \
2010-10-25 22:35:17 +04:00
systemd-ask-password \
2011-02-13 16:04:57 +03:00
systemd-tty-ask-password-agent \
2014-07-08 23:06:07 +04:00
systemd-machine-id-setup \
systemd-escape
2010-05-11 00:07:25 +04:00
2010-06-02 02:35:58 +04:00
bin_PROGRAMS = \
2011-03-12 03:03:13 +03:00
systemd-cgls \
2012-01-22 21:21:15 +04:00
systemd-cgtop \
2012-04-12 16:58:52 +04:00
systemd-nspawn \
2012-05-16 05:23:28 +04:00
systemd-detect-virt \
2013-02-22 20:02:06 +04:00
systemd-delta \
2013-06-28 06:12:58 +04:00
systemd-analyze \
2014-07-02 14:23:36 +04:00
systemd-run \
2015-01-17 20:01:01 +03:00
systemd-stdio-bridge \
2014-07-22 05:11:54 +04:00
systemd-path
2011-03-14 04:40:36 +03:00
2013-04-30 20:01:47 +04:00
dist_bin_SCRIPTS = \
2013-02-22 20:18:47 +04:00
src/kernel-install/kernel-install
2013-04-30 20:01:47 +04:00
dist_kernelinstall_SCRIPTS = \
src/kernel-install/50-depmod.install \
src/kernel-install/90-loaderentry.install
2013-02-28 06:48:34 +04:00
2010-06-02 02:35:58 +04:00
rootlibexec_PROGRAMS = \
2012-02-08 03:08:10 +04:00
systemd \
2010-04-05 00:53:42 +04:00
systemd-cgroups-agent \
2010-08-11 03:43:23 +04:00
systemd-initctl \
2010-10-07 15:24:41 +04:00
systemd-shutdown \
2012-04-24 18:42:42 +04:00
systemd-remount-fs \
2010-09-23 17:01:41 +04:00
systemd-reply-password \
2010-10-19 23:19:12 +04:00
systemd-fsck \
2014-11-24 11:54:18 +03:00
systemd-machine-id-commit \
2010-11-18 23:52:26 +03:00
systemd-ac-power \
2012-05-05 04:06:58 +04:00
systemd-sysctl \
2013-10-18 04:40:26 +04:00
systemd-sleep \
2014-09-26 03:02:42 +04:00
systemd-bus-proxyd \
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
systemd-socket-proxyd \
2015-02-28 01:26:26 +03:00
systemd-update-done
2010-02-03 16:21:48 +03:00
2014-09-24 19:25:00 +04:00
i f H A V E _ U T M P
rootlibexec_PROGRAMS += \
systemd-update-utmp
e n d i f
2011-03-15 02:44:13 +03:00
systemgenerator_PROGRAMS = \
2012-05-22 21:23:33 +04:00
systemd-getty-generator \
2012-05-22 21:48:51 +04:00
systemd-fstab-generator \
2014-06-19 18:10:55 +04:00
systemd-system-update-generator \
2014-09-02 14:31:49 +04:00
systemd-debug-generator
2011-03-15 02:44:13 +03:00
add bash completion for systemctl --system
I've been playing recently with systemd on Arch, and had much fun. But
soon, alas, my fingers started to ache from repeatedly writing
systemctl restart some-long-service.service. So, I wrote a completion
script. I figured other people may want to use it, so I prepared a
patch against systemd-git (attached).
There are some notes/disclaimers, however:
- It requires bash>=4.0, sed, grep and awk. A bash-completion package
is not strictly needed; sourcing the file is enough.
- It wouldn't work properly with --session, as I had no way to test it.
- It uses the output of systemctl list-units directly when that's
enough, but also runs systemctl show when completing on some verbs
(for example, to check for AllowIsolate=yes). This /may/ be somewhat
slow once there are many units, since it calls a dbus method on each
one. Is there a faster way to have that information?
- The code is perhaps a bit long and messy; honestly, I blame the tool ;)
One way to improve on the situation is to integrate some completion
code in systemctl itself, the way e.g. gdbus, gsettings and django do
it. This will allow for finer grained and faster completions, and it
won't be necessary to keep the verb/option tables in sync with some
other file. But it does mean adding all of this code in C. If this is
acceptable, I'll try to have a go at it.
Finally, a couple of completion tips I run into:
- If you alias systemctl to, say, sctl, you get completions on that
too by running to following command:
complete -F _systemctl sctl
- Add the following line to your .inputrc, to have the completion show
after only a single tab press:
set show-all-if-ambiguous on
It makes the shell quite more pleasant.
Hope it's good enough!
Ran
2010-11-09 02:03:27 +03:00
dist_bashcompletion_DATA = \
2014-02-19 20:45:13 +04:00
shell-completion/bash/busctl \
2013-03-03 01:34:01 +04:00
shell-completion/bash/journalctl \
2013-04-24 18:44:44 +04:00
shell-completion/bash/systemd-analyze \
2014-03-05 02:16:30 +04:00
shell-completion/bash/systemd-cat \
2014-03-02 02:08:38 +04:00
shell-completion/bash/systemd-cgls \
2014-03-03 01:58:18 +04:00
shell-completion/bash/systemd-cgtop \
2014-02-19 01:20:26 +04:00
shell-completion/bash/systemd-delta \
2014-03-04 01:16:04 +04:00
shell-completion/bash/systemd-detect-virt \
2014-03-01 06:27:49 +04:00
shell-completion/bash/systemd-nspawn \
2013-09-13 03:35:59 +04:00
shell-completion/bash/systemd-run \
2013-07-26 04:33:51 +04:00
shell-completion/bash/udevadm \
shell-completion/bash/kernel-install
add bash completion for systemctl --system
I've been playing recently with systemd on Arch, and had much fun. But
soon, alas, my fingers started to ache from repeatedly writing
systemctl restart some-long-service.service. So, I wrote a completion
script. I figured other people may want to use it, so I prepared a
patch against systemd-git (attached).
There are some notes/disclaimers, however:
- It requires bash>=4.0, sed, grep and awk. A bash-completion package
is not strictly needed; sourcing the file is enough.
- It wouldn't work properly with --session, as I had no way to test it.
- It uses the output of systemctl list-units directly when that's
enough, but also runs systemctl show when completing on some verbs
(for example, to check for AllowIsolate=yes). This /may/ be somewhat
slow once there are many units, since it calls a dbus method on each
one. Is there a faster way to have that information?
- The code is perhaps a bit long and messy; honestly, I blame the tool ;)
One way to improve on the situation is to integrate some completion
code in systemctl itself, the way e.g. gdbus, gsettings and django do
it. This will allow for finer grained and faster completions, and it
won't be necessary to keep the verb/option tables in sync with some
other file. But it does mean adding all of this code in C. If this is
acceptable, I'll try to have a go at it.
Finally, a couple of completion tips I run into:
- If you alias systemctl to, say, sctl, you get completions on that
too by running to following command:
complete -F _systemctl sctl
- Add the following line to your .inputrc, to have the completion show
after only a single tab press:
set show-all-if-ambiguous on
It makes the shell quite more pleasant.
Hope it's good enough!
Ran
2010-11-09 02:03:27 +03:00
2014-07-15 03:24:46 +04:00
nodist_bashcompletion_DATA = \
shell-completion/bash/systemctl
2013-07-25 09:57:05 +04:00
dist_zshcompletion_DATA = \
2013-07-29 23:07:21 +04:00
shell-completion/zsh/_journalctl \
2013-07-29 23:10:39 +04:00
shell-completion/zsh/_udevadm \
2013-08-03 06:38:14 +04:00
shell-completion/zsh/_kernel-install \
2013-08-01 02:11:17 +04:00
shell-completion/zsh/_systemd-nspawn \
2013-07-29 23:12:55 +04:00
shell-completion/zsh/_systemd-analyze \
2013-10-31 00:57:44 +04:00
shell-completion/zsh/_systemd-run \
2013-08-12 21:41:18 +04:00
shell-completion/zsh/_sd_hosts_or_user_at_host \
2014-07-22 05:11:56 +04:00
shell-completion/zsh/_sd_outputmodes \
shell-completion/zsh/_sd_unit_files \
2013-08-15 07:09:14 +04:00
shell-completion/zsh/_systemd-delta \
2013-07-25 09:57:05 +04:00
shell-completion/zsh/_systemd
2014-07-15 03:24:46 +04:00
nodist_zshcompletion_DATA = \
shell-completion/zsh/_systemctl
EXTRA_DIST += \
shell-completion/bash/systemctl.in \
shell-completion/zsh/_systemctl.in
CLEANFILES += \
$( nodist_bashcompletion_DATA) \
$( nodist_zshcompletion_DATA)
2013-06-02 12:54:44 +04:00
dist_sysctl_DATA = \
sysctl.d/50-default.conf
2011-04-02 03:08:31 +04:00
2010-05-16 01:06:41 +04:00
dist_systemunit_DATA = \
2011-03-18 06:59:05 +03:00
units/graphical.target \
units/multi-user.target \
2010-07-13 01:49:20 +04:00
units/emergency.target \
2010-10-29 06:09:36 +04:00
units/sysinit.target \
2010-06-04 20:43:40 +04:00
units/basic.target \
2010-05-17 03:34:36 +04:00
units/getty.target \
units/halt.target \
2010-10-14 02:57:52 +04:00
units/kexec.target \
2010-05-16 22:49:41 +04:00
units/local-fs.target \
2011-12-31 06:59:54 +04:00
units/local-fs-pre.target \
2013-03-14 16:12:10 +04:00
units/initrd.target \
2013-03-04 22:01:05 +04:00
units/initrd-fs.target \
2013-03-14 16:12:10 +04:00
units/initrd-root-fs.target \
2011-06-15 00:01:44 +04:00
units/remote-fs.target \
2011-12-31 06:59:54 +04:00
units/remote-fs-pre.target \
2010-05-16 22:49:41 +04:00
units/network.target \
2014-06-11 13:33:02 +04:00
units/network-pre.target \
2013-03-29 00:18:58 +04:00
units/network-online.target \
2010-05-16 22:49:41 +04:00
units/nss-lookup.target \
2012-04-11 02:11:18 +04:00
units/nss-user-lookup.target \
2010-05-17 03:34:36 +04:00
units/poweroff.target \
units/reboot.target \
units/rescue.target \
2010-05-17 00:50:02 +04:00
units/rpcbind.target \
2011-04-06 21:18:11 +04:00
units/time-sync.target \
2010-05-16 22:49:41 +04:00
units/shutdown.target \
2010-10-14 05:07:36 +04:00
units/final.target \
2010-07-10 04:41:06 +04:00
units/umount.target \
2010-05-16 22:49:41 +04:00
units/sigpwr.target \
2012-05-05 04:06:58 +04:00
units/sleep.target \
2010-05-16 22:49:41 +04:00
units/sockets.target \
2013-03-26 00:20:08 +04:00
units/timers.target \
units/paths.target \
2012-05-05 04:06:58 +04:00
units/suspend.target \
2010-05-16 22:49:41 +04:00
units/swap.target \
2013-06-18 02:59:54 +04:00
units/slices.target \
units/system.slice \
2013-06-27 23:34:24 +04:00
units/x-.slice \
2010-04-13 07:18:12 +04:00
units/systemd-initctl.socket \
2010-10-20 19:48:01 +04:00
units/syslog.socket \
2010-05-18 05:10:17 +04:00
units/dev-hugepages.mount \
units/dev-mqueue.mount \
2011-09-13 19:01:56 +04:00
units/sys-kernel-config.mount \
2010-05-18 05:10:17 +04:00
units/sys-kernel-debug.mount \
2011-09-22 05:00:04 +04:00
units/sys-fs-fuse-connections.mount \
2012-03-27 19:13:05 +04:00
units/tmp.mount \
2015-02-24 19:23:53 +03:00
units/var-lib-machines.mount \
2010-07-13 04:16:44 +04:00
units/printer.target \
2011-02-09 23:07:28 +03:00
units/sound.target \
2010-07-16 23:38:56 +04:00
units/bluetooth.target \
2010-09-21 17:07:43 +04:00
units/smartcard.target \
2010-10-26 06:40:32 +04:00
units/systemd-ask-password-wall.path \
2011-03-18 07:01:30 +03:00
units/systemd-ask-password-console.path \
2012-07-02 23:35:14 +04:00
units/systemd-udevd-control.socket \
units/systemd-udevd-kernel.socket \
2013-02-24 20:40:36 +04:00
units/system-update.target \
2014-12-31 19:02:12 +03:00
units/initrd-switch-root.target \
units/machines.target
2010-04-13 07:18:12 +04:00
2014-09-04 01:34:29 +04:00
i f E N A B L E _ K D B U S
dist_systemunit_DATA += \
$( dist_systemunit_DATA_busnames)
e n d i f
dist_systemunit_DATA_busnames += \
units/busnames.target
2010-06-24 06:22:22 +04:00
nodist_systemunit_DATA = \
2010-05-17 03:34:36 +04:00
units/getty@.service \
2010-08-25 05:09:57 +04:00
units/serial-getty@.service \
2011-04-04 00:09:25 +04:00
units/console-shell.service \
2012-04-22 04:15:22 +04:00
units/console-getty.service \
2013-10-31 04:25:44 +04:00
units/container-getty@.service \
2010-05-16 21:09:22 +04:00
units/systemd-initctl.service \
2012-04-24 18:42:42 +04:00
units/systemd-remount-fs.service \
2010-10-25 23:02:01 +04:00
units/systemd-ask-password-wall.service \
2010-11-18 07:22:25 +03:00
units/systemd-ask-password-console.service \
2010-11-18 23:52:26 +03:00
units/systemd-sysctl.service \
2012-04-04 08:22:21 +04:00
units/emergency.service \
2011-06-30 04:18:01 +04:00
units/rescue.service \
2012-04-03 23:24:46 +04:00
units/user@.service \
2012-06-25 16:24:56 +04:00
units/systemd-suspend.service \
units/systemd-halt.service \
units/systemd-poweroff.service \
units/systemd-reboot.service \
units/systemd-kexec.service \
units/systemd-fsck@.service \
units/systemd-fsck-root.service \
2014-11-24 12:12:06 +03:00
units/systemd-machine-id-commit.service \
2012-07-02 23:35:14 +04:00
units/systemd-udevd.service \
2012-04-17 01:32:22 +04:00
units/systemd-udev-trigger.service \
2012-06-07 18:03:33 +04:00
units/systemd-udev-settle.service \
2014-12-16 02:48:24 +03:00
units/systemd-hwdb-update.service \
2013-03-09 12:46:11 +04:00
units/debug-shell.service \
units/initrd-parse-etc.service \
units/initrd-cleanup.service \
units/initrd-udevadm-cleanup-db.service \
2013-04-30 04:11:37 +04:00
units/initrd-switch-root.service \
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
units/systemd-nspawn@.service \
2015-02-28 01:26:26 +03:00
units/systemd-update-done.service
2010-05-16 01:06:41 +04:00
2014-09-24 19:25:00 +04:00
i f H A V E _ U T M P
nodist_systemunit_DATA += \
units/systemd-update-utmp.service \
units/systemd-update-utmp-runlevel.service
e n d i f
2010-11-16 00:12:41 +03:00
dist_userunit_DATA = \
2014-01-06 07:52:17 +04:00
units/user/basic.target \
2010-11-16 00:12:41 +03:00
units/user/default.target \
units/user/exit.target
2010-05-20 04:30:49 +04:00
2010-11-16 00:12:41 +03:00
nodist_userunit_DATA = \
2012-06-25 16:24:56 +04:00
units/user/systemd-exit.service
2010-05-17 04:17:22 +04:00
2014-06-17 03:14:44 +04:00
dist_systempreset_DATA = \
system-preset/90-systemd.preset
2011-12-31 09:02:42 +04:00
EXTRA_DIST += \
2010-05-17 03:34:36 +04:00
units/getty@.service.m4 \
2010-08-25 05:09:57 +04:00
units/serial-getty@.service.m4 \
2012-04-04 08:22:21 +04:00
units/console-shell.service.m4.in \
2012-04-22 04:15:22 +04:00
units/console-getty.service.m4.in \
2013-10-31 04:25:44 +04:00
units/container-getty@.service.m4.in \
2014-08-31 07:59:37 +04:00
units/rescue.service.in \
2010-04-13 07:18:12 +04:00
units/systemd-initctl.service.in \
2012-04-24 18:42:42 +04:00
units/systemd-remount-fs.service.in \
2013-05-16 02:19:03 +04:00
units/systemd-update-utmp.service.in \
2010-08-11 06:38:55 +04:00
units/systemd-update-utmp-runlevel.service.in \
2010-10-25 23:02:01 +04:00
units/systemd-ask-password-wall.service.in \
2010-11-18 07:22:25 +03:00
units/systemd-ask-password-console.service.in \
2010-11-18 23:52:26 +03:00
units/systemd-sysctl.service.in \
2012-04-04 08:22:21 +04:00
units/emergency.service.in \
2012-06-25 16:24:56 +04:00
units/systemd-halt.service.in \
units/systemd-poweroff.service.in \
units/systemd-reboot.service.in \
units/systemd-kexec.service.in \
units/user/systemd-exit.service.in \
2012-06-25 15:47:45 +04:00
units/systemd-fsck@.service.in \
units/systemd-fsck-root.service.in \
2014-11-24 12:12:06 +03:00
units/systemd-machine-id-commit.service.in \
2014-12-09 14:17:24 +03:00
units/user@.service.m4.in \
2012-07-02 16:33:04 +04:00
units/debug-shell.service.in \
2012-06-25 16:24:56 +04:00
units/systemd-suspend.service.in \
2012-09-03 01:28:30 +04:00
units/quotaon.service.in \
2013-03-09 12:46:11 +04:00
units/initrd-parse-etc.service.in \
units/initrd-cleanup.service.in \
units/initrd-udevadm-cleanup-db.service.in \
units/initrd-switch-root.service.in \
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
units/systemd-nspawn@.service.in \
2015-02-28 01:26:26 +03:00
units/systemd-update-done.service.in
2010-04-10 20:51:07 +04:00
2013-01-05 00:48:47 +04:00
i f H A V E _ S Y S V _ C O M P A T
nodist_systemunit_DATA += \
units/rc-local.service \
units/halt-local.service
2011-03-08 21:47:29 +03:00
2011-12-02 13:18:46 +04:00
systemgenerator_PROGRAMS += \
2014-05-23 02:37:39 +04:00
systemd-sysv-generator \
2011-12-02 13:18:46 +04:00
systemd-rc-local-generator
2011-10-28 21:16:33 +04:00
e n d i f
2013-01-11 00:42:31 +04:00
EXTRA_DIST += \
units/rc-local.service.in \
units/halt-local.service.in
2013-06-27 23:34:24 +04:00
# automake is broken and can't handle files with a dash in front
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14728#8
units-install-hook :
mv $( DESTDIR) $( systemunitdir) /x-.slice $( DESTDIR) /$( systemunitdir) /-.slice
units-uninstall-hook :
rm -f $( DESTDIR) /$( systemunitdir) /-.slice
INSTALL_DATA_HOOKS += units-install-hook
UNINSTALL_DATA_HOOKS += units-uninstall-hook
2010-06-18 01:33:21 +04:00
dist_doc_DATA = \
README \
2012-04-03 23:24:46 +04:00
NEWS \
2012-04-12 02:20:58 +04:00
LICENSE.LGPL2.1 \
2012-04-12 03:51:49 +04:00
LICENSE.GPL2 \
2014-03-01 16:44:47 +04:00
DISTRO_PORTING \
src/libsystemd/sd-bus/PORTING-DBUS1 \
src/libsystemd/sd-bus/DIFFERENCES \
src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
2010-06-18 01:33:21 +04:00
2011-07-11 20:01:28 +04:00
@ I N T L T O O L _ P O L I C Y _ R U L E @
2011-04-16 04:02:54 +04:00
2012-04-10 18:02:09 +04:00
# ------------------------------------------------------------------------------
2013-02-03 07:38:33 +04:00
MANPAGES =
MANPAGES_ALIAS =
i n c l u d e M a k e f i l e - m a n . a m
2012-04-10 18:02:09 +04:00
2014-01-26 20:36:04 +04:00
.PHONY : man update -man -list
2013-06-12 21:40:54 +04:00
man : $( MANPAGES ) $( MANPAGES_ALIAS ) $( HTML_FILES ) $( HTML_ALIAS )
2012-04-10 18:02:09 +04:00
XML_FILES = \
${ patsubst %.1,%.xml, ${ patsubst %.3,%.xml, ${ patsubst %.5,%.xml, ${ patsubst %.7,%.xml, ${ patsubst %.8,%.xml, $( MANPAGES) } } } } }
2013-03-08 18:58:29 +04:00
HTML_FILES = \
${ XML_FILES : .xml=.html }
2013-03-08 20:03:50 +04:00
HTML_ALIAS = \
${ patsubst %.1,%.html, ${ patsubst %.3,%.html, ${ patsubst %.5,%.html, ${ patsubst %.7,%.html, ${ patsubst %.8,%.html, $( MANPAGES_ALIAS) } } } } }
2012-04-10 18:02:09 +04:00
i f E N A B L E _ M A N P A G E S
man_MANS = \
$( MANPAGES) \
$( MANPAGES_ALIAS)
2013-03-08 20:03:50 +04:00
noinst_DATA += \
$( HTML_FILES) \
$( HTML_ALIAS)
2012-07-13 23:53:44 +04:00
CLEANFILES += \
2013-03-08 18:58:29 +04:00
$( man_MANS) \
2013-03-08 20:03:50 +04:00
$( HTML_FILES) \
$( HTML_ALIAS)
docs/html/man :
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_LN) $( LN_S) -f ../../man $@
2012-07-16 19:19:39 +04:00
2013-03-08 19:27:44 +04:00
noinst_DATA += \
docs/html/man
2013-03-08 20:03:50 +04:00
CLEANFILES += \
docs/html/man
2013-03-08 19:27:44 +04:00
2012-07-16 19:19:39 +04:00
i f H A V E _ P Y T H O N
2013-03-08 20:03:50 +04:00
man/index.html : man /systemd .index .html
$( AM_V_LN) $( LN_S) -f systemd.index.html $@
2013-02-07 10:10:21 +04:00
noinst_DATA += \
man/index.html
CLEANFILES += \
2013-03-08 19:27:44 +04:00
man/index.html
2013-02-07 10:10:21 +04:00
2013-04-17 07:38:28 +04:00
XML_GLOB = $( wildcard $( top_srcdir) /man/*.xml $( top_builddir) /man/*.xml)
2013-01-26 19:47:16 +04:00
NON_INDEX_XML_FILES = $( filter-out man/systemd.index.xml,$( XML_FILES) )
2013-03-29 22:22:27 +04:00
SOURCE_XML_FILES = $( filter-out man/systemd.directives.xml,$( NON_INDEX_XML_FILES) )
2013-02-03 07:47:47 +04:00
2014-02-10 13:37:10 +04:00
update-man-list : $( top_srcdir ) /tools /make -man -rules .py $( XML_GLOB )
2013-02-03 07:47:47 +04:00
$( 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"
2014-02-10 13:37:10 +04:00
man/systemd.index.xml : $( top_srcdir ) /tools /make -man -index .py $( NON_INDEX_XML_FILES )
2013-01-15 07:17:49 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-03-29 22:22:27 +04:00
$( AM_V_GEN) $( PYTHON) $< $@ $( filter-out $<,$^)
2013-01-15 07:17:49 +04:00
2014-02-10 13:37:10 +04:00
man/systemd.directives.xml : $( top_srcdir ) /tools /make -directive -index .py $( SOURCE_XML_FILES )
2012-08-09 20:08:14 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-03-29 22:22:27 +04:00
$( AM_V_GEN) $( PYTHON) $< $@ $( filter-out $<,$^)
2012-08-09 20:08:14 +04:00
EXTRA_DIST += \
2013-01-15 07:17:49 +04:00
man/systemd.index.xml \
2013-02-07 10:10:21 +04:00
man/index.html \
2014-10-04 06:08:23 +04:00
man/systemd.directives.xml \
man/glib-event-glue.c
2012-08-09 20:08:14 +04:00
2013-03-08 18:58:29 +04:00
CLEANFILES += \
man/systemd.index.xml \
man/systemd.directives.xml
2012-07-16 19:19:39 +04:00
e n d i f
2012-04-10 18:02:09 +04:00
e n d i f
EXTRA_DIST += \
$( XML_FILES) \
2013-03-08 18:58:29 +04:00
$( HTML_FILES) \
2013-03-08 20:03:50 +04:00
$( HTML_ALIAS) \
2013-07-16 07:13:12 +04:00
$( man_MANS) \
2014-02-10 13:37:10 +04:00
tools/make-man-index.py \
tools/make-directive-index.py \
2014-02-20 01:04:30 +04:00
tools/xml_helper.py
2012-04-10 18:02:09 +04:00
# ------------------------------------------------------------------------------
2012-04-10 18:41:52 +04:00
noinst_LTLIBRARIES += \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2010-06-18 02:44:57 +04:00
2012-04-10 23:54:31 +04:00
libsystemd_shared_la_SOURCES = \
2014-11-11 18:13:59 +03:00
src/shared/capability.c \
src/shared/capability.h \
2012-04-12 20:27:35 +04:00
src/shared/linux/auto_dev-ioctl.h \
2013-11-20 00:12:59 +04:00
src/shared/ioprio.h \
2012-04-12 20:27:35 +04:00
src/shared/missing.h \
2013-11-22 17:30:52 +04:00
src/shared/initreq.h \
src/shared/securebits.h \
src/shared/special.h \
2012-04-12 16:40:20 +04:00
src/shared/list.h \
2014-11-01 16:04:17 +03:00
src/shared/unaligned.h \
2012-04-12 16:40:20 +04:00
src/shared/macro.h \
src/shared/def.h \
2013-11-20 00:12:59 +04:00
src/shared/sparse-endian.h \
src/shared/refcnt.h \
src/shared/udev-util.h \
2013-09-18 20:12:04 +04:00
src/shared/device-nodes.c \
src/shared/device-nodes.h \
2012-04-10 15:39:02 +04:00
src/shared/util.c \
src/shared/util.h \
src/shared/virt.c \
src/shared/virt.h \
2014-02-21 05:06:04 +04:00
src/shared/architecture.c \
src/shared/architecture.h \
2013-01-19 07:20:23 +04:00
src/shared/efivars.c \
src/shared/efivars.h \
2015-04-21 20:44:27 +03:00
src/shared/formats-util.h \
2015-01-10 00:58:29 +03:00
src/shared/fstab-util.c \
src/shared/fstab-util.h \
2015-05-04 23:12:46 +03:00
src/shared/lockfile-util.c \
src/shared/lockfile-util.h \
2012-05-07 23:36:12 +04:00
src/shared/path-util.c \
src/shared/path-util.h \
2012-11-24 01:07:24 +04:00
src/shared/time-util.c \
src/shared/time-util.h \
2014-07-07 13:49:48 +04:00
src/shared/locale-util.c \
src/shared/locale-util.h \
2014-08-13 01:35:23 +04:00
src/shared/mempool.c \
src/shared/mempool.h \
2012-04-10 15:39:02 +04:00
src/shared/hashmap.c \
src/shared/hashmap.h \
2013-12-22 22:59:12 +04:00
src/shared/siphash24.c \
src/shared/siphash24.h \
2012-04-10 15:39:02 +04:00
src/shared/set.h \
2015-04-08 18:22:15 +03:00
src/shared/ordered-set.h \
2012-12-23 14:27:20 +04:00
src/shared/fdset.c \
src/shared/fdset.h \
2013-03-21 05:42:28 +04:00
src/shared/prioq.c \
src/shared/prioq.h \
2013-05-04 20:31:28 +04:00
src/shared/sleep-config.c \
src/shared/sleep-config.h \
2012-04-10 15:39:02 +04:00
src/shared/strv.c \
src/shared/strv.h \
2013-02-11 06:46:08 +04:00
src/shared/env-util.c \
src/shared/env-util.h \
2012-10-22 18:27:00 +04:00
src/shared/strbuf.c \
src/shared/strbuf.h \
2013-01-09 22:06:46 +04:00
src/shared/strxcpyx.c \
src/shared/strxcpyx.h \
2012-04-10 15:39:02 +04:00
src/shared/conf-parser.c \
src/shared/conf-parser.h \
src/shared/log.c \
src/shared/log.h \
src/shared/ratelimit.h \
src/shared/ratelimit.c \
src/shared/exit-status.c \
src/shared/exit-status.h \
src/shared/utf8.c \
2012-04-10 20:46:51 +04:00
src/shared/utf8.h \
2013-09-21 05:37:33 +04:00
src/shared/gunicode.c \
src/shared/gunicode.h \
2012-04-10 21:32:48 +04:00
src/shared/pager.c \
2012-04-10 21:42:07 +04:00
src/shared/pager.h \
2012-04-11 14:30:53 +04:00
src/shared/socket-util.c \
src/shared/socket-util.h \
2014-07-10 23:15:26 +04:00
src/shared/in-addr-util.c \
src/shared/in-addr-util.h \
2014-12-02 16:19:15 +03:00
src/shared/ether-addr-util.h \
2012-05-07 20:55:45 +04:00
src/shared/conf-files.c \
src/shared/conf-files.h \
2012-04-11 14:30:53 +04:00
src/shared/cgroup-util.c \
src/shared/cgroup-util.h \
2012-04-12 03:51:49 +04:00
src/shared/cgroup-show.c \
src/shared/cgroup-show.h \
src/shared/unit-name.c \
src/shared/unit-name.h \
src/shared/utmp-wtmp.h \
src/shared/watchdog.c \
src/shared/watchdog.h \
src/shared/spawn-ask-password-agent.c \
src/shared/spawn-ask-password-agent.h \
2012-11-15 01:20:17 +04:00
src/shared/replace-var.c \
src/shared/replace-var.h \
2012-04-12 03:51:49 +04:00
src/shared/spawn-polkit-agent.c \
2012-05-07 23:06:55 +04:00
src/shared/spawn-polkit-agent.h \
2014-05-22 16:21:38 +04:00
src/shared/clock-util.c \
src/shared/clock-util.h \
2012-11-24 00:37:58 +04:00
src/shared/calendarspec.c \
2013-01-14 21:16:50 +04:00
src/shared/calendarspec.h \
2013-02-14 15:26:13 +04:00
src/shared/fileio.c \
src/shared/fileio.h \
2013-04-14 19:49:18 +04:00
src/shared/output-mode.h \
2013-12-23 05:46:39 +04:00
src/shared/MurmurHash2.c \
src/shared/MurmurHash2.h \
2013-09-24 02:23:35 +04:00
src/shared/acpi-fpdt.h \
src/shared/acpi-fpdt.c \
src/shared/boot-timestamps.h \
src/shared/boot-timestamps.c \
2013-10-02 06:52:48 +04:00
src/shared/mkdir.c \
2013-10-09 21:52:15 +04:00
src/shared/mkdir.h \
src/shared/smack-util.c \
2013-10-10 18:35:44 +04:00
src/shared/smack-util.h \
src/shared/apparmor-util.c \
src/shared/apparmor-util.h \
src/shared/ima-util.c \
2013-10-30 21:58:59 +04:00
src/shared/ima-util.h \
src/shared/ptyfwd.c \
2013-11-02 05:13:48 +04:00
src/shared/ptyfwd.h \
2013-11-22 07:01:46 +04:00
src/shared/errno-list.c \
2013-11-22 17:30:52 +04:00
src/shared/errno-list.h \
2014-02-25 23:37:03 +04:00
src/shared/af-list.c \
src/shared/af-list.h \
2014-08-12 03:41:42 +04:00
src/shared/arphrd-list.c \
src/shared/arphrd-list.h \
2014-12-10 05:16:14 +03:00
src/shared/cap-list.c \
src/shared/cap-list.h \
2013-11-28 20:50:02 +04:00
src/shared/audit.c \
2013-12-28 06:03:50 +04:00
src/shared/audit.h \
src/shared/xml.c \
2014-02-20 22:26:54 +04:00
src/shared/xml.h \
2014-12-16 00:26:56 +03:00
src/shared/json.c \
src/shared/json.h \
2014-02-23 03:46:26 +04:00
src/shared/bus-label.c \
2014-03-06 01:26:10 +04:00
src/shared/bus-label.h \
src/shared/gpt.h \
2014-03-14 04:38:19 +04:00
src/shared/clean-ipc.h \
2014-03-17 21:28:30 +04:00
src/shared/clean-ipc.c \
src/shared/login-shared.c \
2014-05-05 23:18:34 +04:00
src/shared/login-shared.h \
2014-05-13 22:08:18 +04:00
src/shared/ring.c \
src/shared/ring.h \
shared: add generic IPC barrier
The "Barrier" object is a simple inter-process barrier implementation. It
allows placing synchronization points and waiting for the other side to
reach it. Additionally, it has an abortion-mechanism as second-layer
synchronization to send abortion-events asynchronously to the other side.
The API is usually used to synchronize processes during fork(). However,
it can be extended to pass state through execve() so you could synchronize
beyond execve().
Usually, it's used like this (error-handling replaced by assert() for
simplicity):
Barrier b;
r = barrier_init(&b);
assert_se(r >= 0);
pid = fork();
assert_se(pid >= 0);
if (pid == 0) {
barrier_set_role(&b, BARRIER_CHILD);
...do child post-setup...
if (CHILD_SETUP_FAILED)
exit(1);
...child setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
/* parent setup failed */
exit(1);
}
barrier_destroy(&b); /* redundant as execve() and exit() imply this */
/* parent & child setup successful */
execve(...);
}
barrier_set_role(&b, BARRIER_PARENT);
...do parent post-setup...
if (PARENT_SETUP_FAILED) {
barrier_abort(&b); /* send abortion event */
barrier_wait_abortion(&b); /* wait for child to abort (exit() implies abortion) */
barrier_destroy(&b);
...bail out...
}
...parent setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
...child setup failed... ;
barrier_destroy(&b);
...bail out...
}
barrier_destroy(&b);
...child setup successfull...
This is the most basic API. Using barrier_place() to place barriers and
barrier_sync() to perform a full synchronization between both processes.
barrier_abort() places an abortion barrier which superceeds any other
barriers, exit() (or barrier_destroy()) places an abortion-barrier that
queues behind existing barriers (thus *not* replacing existing barriers
unlike barrier_abort()).
This example uses hard-synchronization with wait_abortion(), sync() and
friends. These are all optional. Barriers are highly dynamic and can be
used for one-way synchronization or even no synchronization at all
(postponing it for later). The sync() call performs a full two-way
synchronization.
The API is documented and should be fairly self-explanatory. A test-suite
shows some special semantics regarding abortion, wait_next() and exit().
Internally, barriers use two eventfds and a pipe. The pipe is used to
detect exit()s of the remote side as eventfds do not allow that. The
eventfds are used to place barriers, one for each side. Barriers itself
are numbered, but the numbers are reused once both sides reached the same
barrier, thus you cannot address barriers by the index. Moreover, the
numbering is implicit and we only store a counter. This makes the
implementation itself very lightweight, which is probably negligible
considering that we need 3 FDs for a barrier..
Last but not least: This barrier implementation is quite heavy. It's
definitely not meant for fast IPC synchronization. However, it's very easy
to use. And given the *HUGE* overhead of fork(), the barrier-overhead
should be negligible.
2014-07-10 17:25:47 +04:00
src/shared/barrier.c \
src/shared/barrier.h \
2014-07-11 18:29:56 +04:00
src/shared/pty.c \
src/shared/pty.h \
2014-05-05 23:18:34 +04:00
src/shared/async.c \
2014-05-24 17:58:55 +04:00
src/shared/async.h \
2014-06-24 15:30:11 +04:00
src/shared/base-filesystem.c \
2014-07-11 01:33:55 +04:00
src/shared/base-filesystem.h \
2014-10-30 20:32:37 +03:00
src/shared/memfd-util.c \
src/shared/memfd-util.h \
2015-04-10 20:10:00 +03:00
src/shared/process-util.c \
src/shared/process-util.h \
2015-04-10 23:27:10 +03:00
src/shared/random-util.c \
src/shared/random-util.h \
2015-04-11 00:15:59 +03:00
src/shared/terminal-util.c \
src/shared/terminal-util.h \
2014-08-19 21:05:11 +04:00
src/shared/uid-range.c \
src/shared/uid-range.h \
2014-12-12 05:15:58 +03:00
src/shared/nss-util.h \
2014-12-19 03:48:05 +03:00
src/shared/verbs.c \
2014-12-23 21:19:11 +03:00
src/shared/verbs.h \
2014-12-30 22:57:53 +03:00
src/shared/sigbus.c \
src/shared/sigbus.h \
2015-01-22 05:57:15 +03:00
src/shared/build.h \
src/shared/import-util.c \
2015-03-11 12:37:45 +03:00
src/shared/import-util.h \
src/shared/sysctl-util.c \
2015-05-18 18:10:07 +03:00
src/shared/sysctl-util.h \
src/shared/hostname-util.h \
src/shared/hostname-util.c
2013-11-22 07:01:46 +04:00
2014-09-24 19:25:00 +04:00
i f H A V E _ U T M P
libsystemd_shared_la_SOURCES += \
src/shared/utmp-wtmp.c
e n d i f
2013-11-22 07:01:46 +04:00
nodist_libsystemd_shared_la_SOURCES = \
src/shared/errno-from-name.h \
2014-02-25 23:37:03 +04:00
src/shared/errno-to-name.h \
src/shared/af-from-name.h \
2014-08-12 03:41:42 +04:00
src/shared/af-to-name.h \
src/shared/arphrd-from-name.h \
2014-12-10 05:16:14 +03:00
src/shared/arphrd-to-name.h \
src/shared/cap-from-name.h \
src/shared/cap-to-name.h
2012-04-12 19:24:58 +04:00
2014-02-22 21:47:28 +04:00
libsystemd_shared_la_CFLAGS = \
$( AM_CFLAGS) \
2014-11-10 19:32:29 +03:00
$( CAP_CFLAGS) \
2014-06-22 00:07:09 +04:00
$( SECCOMP_CFLAGS) \
-pthread
2014-02-22 21:47:28 +04:00
2014-11-10 19:32:29 +03:00
libsystemd_shared_la_LIBADD = \
2015-01-11 02:25:31 +03:00
$( CAP_LIBS) \
-lm
2014-11-10 19:32:29 +03:00
2012-04-10 23:54:31 +04:00
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
2012-06-01 00:12:47 +04:00
libsystemd-units.la
2012-04-10 23:54:31 +04:00
2012-06-01 00:12:47 +04:00
libsystemd_units_la_SOURCES = \
2012-04-12 03:51:49 +04:00
src/shared/install.c \
src/shared/install.h \
2013-01-28 08:11:31 +04:00
src/shared/install-printf.c \
src/shared/install-printf.h \
2012-04-12 03:51:49 +04:00
src/shared/path-lookup.c \
2013-03-13 07:05:20 +04:00
src/shared/path-lookup.h \
src/shared/specifier.c \
src/shared/specifier.h
2012-06-01 00:12:47 +04:00
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd-label.la
libsystemd_label_la_SOURCES = \
2012-04-11 14:30:53 +04:00
src/shared/socket-label.c \
2012-04-10 23:54:31 +04:00
src/shared/label.c \
src/shared/label.h \
2012-10-03 01:07:00 +04:00
src/shared/selinux-util.c \
src/shared/selinux-util.h \
2013-07-26 05:34:18 +04:00
src/shared/mkdir-label.c \
2012-04-12 16:40:20 +04:00
src/shared/ask-password-api.c \
2012-04-18 18:13:37 +04:00
src/shared/ask-password-api.h \
2014-10-28 20:46:53 +03:00
src/shared/switch-root.h \
src/shared/switch-root.c \
2013-02-14 15:26:13 +04:00
src/shared/fileio-label.c \
src/shared/fileio-label.h \
2012-04-18 18:13:37 +04:00
src/shared/dev-setup.c \
2014-06-27 20:12:07 +04:00
src/shared/dev-setup.h \
src/shared/dropin.c \
src/shared/dropin.h \
2014-11-10 20:59:03 +03:00
src/shared/condition.c \
src/shared/condition.h \
2014-06-27 20:12:07 +04:00
src/shared/generator.h \
2015-01-11 02:25:31 +03:00
src/shared/generator.c \
src/shared/btrfs-util.c \
src/shared/btrfs-util.h \
src/shared/btrfs-ctree.h \
2015-04-06 11:57:17 +03:00
src/shared/rm-rf.c \
src/shared/rm-rf.h \
2015-01-11 02:25:31 +03:00
src/shared/machine-image.c \
src/shared/machine-image.h \
2015-03-01 18:39:31 +03:00
src/shared/machine-pool.c \
src/shared/machine-pool.h \
2015-01-11 02:25:31 +03:00
src/shared/copy.c \
src/shared/copy.h
2012-04-10 23:54:31 +04:00
2012-04-11 14:30:53 +04:00
libsystemd_label_la_CFLAGS = \
2010-08-11 03:43:23 +04:00
$( AM_CFLAGS) \
$( SELINUX_CFLAGS)
2012-04-11 14:30:53 +04:00
libsystemd_label_la_LIBADD = \
2012-04-10 15:39:02 +04:00
$( SELINUX_LIBS)
2014-08-05 14:17:09 +04:00
# -----------------------------------------------------------------------------
2015-01-13 15:44:30 +03:00
i f H A V E _ L I B I P T C
noinst_LTLIBRARIES += \
libsystemd-fw.la
libsystemd_fw_la_SOURCES = \
src/shared/fw-util.h \
src/shared/fw-util.c
libsystemd_fw_la_CFLAGS = \
$( AM_CFLAGS) \
$( LIBIPTC_CFLAGS)
libsystemd_fw_la_LIBADD = \
$( LIBIPTC_LIBS)
e n d i f
# -----------------------------------------------------------------------------
2014-08-05 14:17:09 +04:00
i f E N A B L E _ L D C O N F I G
dist_systemunit_DATA += \
units/ldconfig.service
SYSINIT_TARGET_WANTS += \
ldconfig.service
e n d i f
2014-02-19 01:14:00 +04:00
# ------------------------------------------------------------------------------
i f H A V E _ S E C C O M P
noinst_LTLIBRARIES += \
libsystemd-seccomp.la
libsystemd_seccomp_la_SOURCES = \
src/shared/seccomp-util.h \
src/shared/seccomp-util.c
libsystemd_seccomp_la_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
libsystemd_seccomp_la_LIBADD = \
$( SECCOMP_LIBS)
e n d i f
2012-04-12 19:42:09 +04:00
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
libsystemd-logs.la
libsystemd_logs_la_SOURCES = \
src/shared/logs-show.c \
src/shared/logs-show.h
2012-04-10 16:53:38 +04:00
# ------------------------------------------------------------------------------
2012-04-11 18:39:31 +04:00
i f H A V E _ A C L
2012-04-10 18:41:52 +04:00
noinst_LTLIBRARIES += \
libsystemd-acl.la
2012-04-10 16:53:38 +04:00
libsystemd_acl_la_SOURCES = \
2012-04-11 18:39:31 +04:00
src/shared/acl-util.c \
src/shared/acl-util.h
2012-04-10 16:53:38 +04:00
libsystemd_acl_la_CFLAGS = \
$( AM_CFLAGS) \
$( ACL_CFLAGS)
libsystemd_acl_la_LIBADD = \
2013-11-07 17:59:16 +04:00
$( ACL_LIBS)
2012-04-11 18:39:31 +04:00
e n d i f
2012-04-10 16:53:38 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2012-04-10 18:41:52 +04:00
noinst_LTLIBRARIES += \
libsystemd-core.la
2010-06-18 02:44:57 +04:00
libsystemd_core_la_SOURCES = \
2012-04-11 14:59:52 +04:00
src/core/unit.c \
src/core/unit.h \
2012-09-18 13:27:56 +04:00
src/core/unit-printf.c \
src/core/unit-printf.h \
2012-04-11 14:59:52 +04:00
src/core/job.c \
src/core/job.h \
src/core/manager.c \
src/core/manager.h \
2012-04-20 01:54:11 +04:00
src/core/transaction.c \
src/core/transaction.h \
2012-04-11 14:59:52 +04:00
src/core/load-fragment.c \
src/core/load-fragment.h \
src/core/service.c \
src/core/service.h \
2013-12-03 02:30:19 +04:00
src/core/socket.c \
src/core/socket.h \
src/core/busname.c \
src/core/busname.h \
2014-08-18 21:55:32 +04:00
src/core/bus-endpoint.c \
src/core/bus-endpoint.h \
2014-12-23 20:36:04 +03:00
src/core/bus-policy.c \
src/core/bus-policy.h \
2012-04-11 14:59:52 +04:00
src/core/target.c \
src/core/target.h \
src/core/snapshot.c \
src/core/snapshot.h \
2013-12-03 02:30:19 +04:00
src/core/device.c \
src/core/device.h \
src/core/mount.c \
src/core/mount.h \
src/core/automount.c \
src/core/automount.h \
src/core/swap.c \
src/core/swap.h \
2012-04-11 14:59:52 +04:00
src/core/timer.c \
src/core/timer.h \
src/core/path.c \
src/core/path.h \
2013-06-17 23:33:26 +04:00
src/core/slice.c \
src/core/slice.h \
2013-07-01 02:03:57 +04:00
src/core/scope.c \
src/core/scope.h \
2012-04-11 14:59:52 +04:00
src/core/load-dropin.c \
src/core/load-dropin.h \
src/core/execute.c \
src/core/execute.h \
2012-07-20 01:47:10 +04:00
src/core/kill.c \
src/core/kill.h \
2012-04-11 14:59:52 +04:00
src/core/dbus.c \
src/core/dbus.h \
src/core/dbus-manager.c \
src/core/dbus-manager.h \
src/core/dbus-unit.c \
src/core/dbus-unit.h \
src/core/dbus-job.c \
src/core/dbus-job.h \
src/core/dbus-service.c \
src/core/dbus-service.h \
src/core/dbus-socket.c \
src/core/dbus-socket.h \
2013-12-03 02:30:19 +04:00
src/core/dbus-busname.c \
src/core/dbus-busname.h \
2012-04-11 14:59:52 +04:00
src/core/dbus-target.c \
src/core/dbus-target.h \
2013-12-03 02:30:19 +04:00
src/core/dbus-snapshot.c \
src/core/dbus-snapshot.h \
src/core/dbus-device.c \
src/core/dbus-device.h \
2012-04-11 14:59:52 +04:00
src/core/dbus-mount.c \
src/core/dbus-mount.h \
src/core/dbus-automount.c \
src/core/dbus-automount.h \
src/core/dbus-swap.c \
src/core/dbus-swap.h \
2013-12-03 02:30:19 +04:00
src/core/dbus-timer.c \
src/core/dbus-timer.h \
2012-04-11 14:59:52 +04:00
src/core/dbus-path.c \
src/core/dbus-path.h \
2013-06-17 23:33:26 +04:00
src/core/dbus-slice.c \
src/core/dbus-slice.h \
2013-07-01 02:03:57 +04:00
src/core/dbus-scope.c \
src/core/dbus-scope.h \
2013-06-27 06:14:27 +04:00
src/core/dbus-execute.c \
src/core/dbus-execute.h \
src/core/dbus-kill.c \
src/core/dbus-kill.h \
src/core/dbus-cgroup.c \
src/core/dbus-cgroup.h \
2012-04-11 14:59:52 +04:00
src/core/cgroup.c \
src/core/cgroup.h \
2012-09-07 00:23:11 +04:00
src/core/selinux-access.c \
src/core/selinux-access.h \
2012-04-11 14:59:52 +04:00
src/core/selinux-setup.c \
src/core/selinux-setup.h \
2013-03-07 23:06:58 +04:00
src/core/smack-setup.c \
src/core/smack-setup.h \
2012-04-11 14:59:52 +04:00
src/core/ima-setup.c \
src/core/ima-setup.h \
src/core/locale-setup.h \
src/core/locale-setup.c \
2012-04-12 16:22:48 +04:00
src/core/hostname-setup.c \
src/core/hostname-setup.h \
2012-04-12 20:16:14 +04:00
src/core/machine-id-setup.c \
src/core/machine-id-setup.h \
src/core/mount-setup.c \
src/core/mount-setup.h \
2014-11-14 19:58:32 +03:00
src/core/kmod-setup.c \
src/core/kmod-setup.h \
2012-04-12 20:16:14 +04:00
src/core/loopback-setup.h \
src/core/loopback-setup.c \
2012-04-11 14:59:52 +04:00
src/core/namespace.c \
src/core/namespace.h \
2012-07-13 16:41:57 +04:00
src/core/killall.h \
2012-07-17 06:17:53 +04:00
src/core/killall.c \
2012-10-03 01:40:09 +04:00
src/core/audit-fd.c \
2013-01-26 01:33:33 +04:00
src/core/audit-fd.h \
2014-03-04 00:23:12 +04:00
src/core/show-status.c \
2014-08-22 18:36:38 +04:00
src/core/show-status.h \
src/core/failure-action.c \
src/core/failure-action.h
2010-02-03 16:21:48 +03:00
2011-08-01 02:43:05 +04:00
nodist_libsystemd_core_la_SOURCES = \
2012-04-12 15:34:18 +04:00
src/core/load-fragment-gperf.c \
2013-11-22 17:30:52 +04:00
src/core/load-fragment-gperf-nulstr.c
2011-08-01 19:09:38 +04:00
2010-06-18 02:44:57 +04:00
libsystemd_core_la_CFLAGS = \
$( AM_CFLAGS) \
2010-08-11 03:43:23 +04:00
$( PAM_CFLAGS) \
2012-02-09 17:12:10 +04:00
$( AUDIT_CFLAGS) \
2013-01-26 01:33:33 +04:00
$( KMOD_CFLAGS) \
2014-02-20 19:19:44 +04:00
$( APPARMOR_CFLAGS) \
2014-02-12 04:29:54 +04:00
$( SECCOMP_CFLAGS) \
2014-11-24 07:33:37 +03:00
$( MOUNT_CFLAGS) \
2013-01-26 01:33:33 +04:00
-pthread
2010-06-18 02:44:57 +04:00
libsystemd_core_la_LIBADD = \
2012-06-01 00:12:47 +04:00
libsystemd-units.la \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
libsystemd-shared.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2010-07-23 01:01:25 +04:00
$( PAM_LIBS) \
2011-07-28 06:02:32 +04:00
$( AUDIT_LIBS) \
2014-02-19 01:14:00 +04:00
$( KMOD_LIBS) \
2014-02-20 19:19:44 +04:00
$( APPARMOR_LIBS) \
2014-11-24 07:33:37 +03:00
$( SECCOMP_LIBS) \
$( MOUNT_LIBS)
2014-02-19 01:14:00 +04:00
i f H A V E _ S E C C O M P
libsystemd_core_la_LIBADD += \
libsystemd-seccomp.la
e n d i f
2010-06-18 02:44:57 +04:00
2012-04-12 15:34:18 +04:00
src/core/load-fragment-gperf-nulstr.c : src /core /load -fragment -gperf .gperf
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) $( AWK) 'BEGIN{ keywords=0 ; FS="," ; print "extern const char load_fragment_gperf_nulstr[];" ; print "const char load_fragment_gperf_nulstr[] ="} ; keyword==1 { print "\"" $$1 "\\0\"" } ; /%%/ { keyword=1} ; END { print ";" }' < $< > $@
2012-04-12 15:34:18 +04:00
2015-03-03 16:33:15 +03:00
gperf_gperf_m4_sources = \
2012-04-12 15:34:18 +04:00
src/core/load-fragment-gperf.gperf.m4
2015-03-03 16:33:15 +03:00
gperf_txt_sources = \
2013-11-22 07:01:46 +04:00
src/shared/errno-list.txt \
2014-02-25 23:37:03 +04:00
src/shared/af-list.txt \
2014-08-12 03:41:42 +04:00
src/shared/arphrd-list.txt \
2015-03-03 16:33:15 +03:00
src/shared/cap-list.txt
2012-07-17 06:17:53 +04:00
2012-07-17 10:30:38 +04:00
BUILT_SOURCES += \
2015-03-03 16:33:15 +03:00
$( gperf_gperf_m4_sources:-gperf.gperf.m4= -gperf.c) \
$( gperf_gperf_m4_sources:-gperf.gperf.m4= -gperf-nulstr.c) \
$( gperf_gperf_sources:-gperf.gperf= -gperf.c) \
$( gperf_txt_sources:-list.txt= -from-name.h) \
$( gperf_txt_sources:-list.txt= -to-name.h)
CLEANFILES += \
$( gperf_txt_sources:-list.txt= -from-name.gperf)
DISTCLEANFILES = \
$( gperf_txt_sources)
EXTRA_DIST += \
$( gperf_gperf_m4_sources) \
$( gperf_gperf_sources) \
$( gperf_txt_sources:-list.txt= -from-name.gperf)
CLEANFILES += \
$( gperf_txt_sources)
2012-07-17 10:30:38 +04:00
2014-08-02 03:37:16 +04:00
%-from-name.gperf : %-list .txt
$( AM_V_GEN) $( AWK) 'BEGIN{ print "struct $(notdir $*)_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@
2013-11-22 07:01:46 +04:00
2014-08-02 03:37:16 +04:00
%-from-name.h : %-from -name .gperf
$( AM_V_GPERF) $( GPERF) -L ANSI-C -t --ignore-case -N lookup_$( notdir $* ) -H hash_$( notdir $* ) _name -p -C <$< >$@
2013-11-22 07:01:46 +04:00
2014-08-02 03:36:48 +04:00
src/shared/errno-list.txt :
2013-11-22 07:01:46 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2014-08-12 03:41:42 +04:00
$( AM_V_GEN) $( CPP) $( CFLAGS) $( AM_CPPFLAGS) $( CPPFLAGS) -dM -include errno.h - </dev/null | $( AWK) '/^#define[ \t]+E[^ _]+[ \t]+/ { print $$2; }' >$@
2012-04-12 15:34:18 +04:00
2014-08-02 03:36:48 +04:00
src/shared/errno-to-name.h : src /shared /errno -list .txt
$( AM_V_GEN) $( AWK) 'BEGIN{ print "static const char* const errno_names[] = { "} !/EDEADLOCK/ && !/EWOULDBLOCK/ && !/ENOTSUP/ { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
2014-02-25 23:37:03 +04:00
2014-08-02 03:36:48 +04:00
src/shared/af-list.txt :
2014-02-25 23:37:03 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2014-08-12 03:41:42 +04:00
$( 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; }' >$@
2014-02-25 23:37:03 +04:00
src/shared/af-to-name.h : src /shared /af -list .txt
2014-08-02 03:36:48 +04:00
$( 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 "};"}' <$< >$@
2014-02-25 23:37:03 +04:00
2014-12-10 05:16:14 +03:00
2014-08-12 03:41:42 +04:00
src/shared/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/shared/arphrd-to-name.h : src /shared /arphrd -list .txt
$( AM_V_GEN) $( AWK) 'BEGIN{ print "static const char* const arphrd_names[] = { "} !/CISCO/ { printf "[ARPHRD_%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@
src/shared/arphrd-from-name.gperf : src /shared /arphrd -list .txt
$( 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 }' <$< >$@
2014-08-02 03:37:16 +04:00
2014-12-10 05:16:14 +03:00
src/shared/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/shared/cap-to-name.h : src /shared /cap -list .txt
2014-12-12 20:37:25 +03:00
$( AM_V_GEN) $( AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@
2014-12-10 05:16:14 +03:00
src/shared/cap-from-name.gperf : src /shared /cap -list .txt
$( 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/shared/cap-from-name.h : src /shared /cap -from -name .gperf
$( AM_V_GPERF) $( GPERF) -L ANSI-C -t --ignore-case -N lookup_capability -H hash_capability_name -p -C <$< >$@
2015-03-16 20:14:18 +03:00
audit_list_includes = -include linux/audit.h missing.h
i f H A V E _ A U D I T
audit_list_includes += -include libaudit.h
e n d i f
src/journal/audit_type-list.txt :
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) $( CPP) $( CFLAGS) $( AM_CPPFLAGS) $( CPPFLAGS) -dM -include linux/audit.h -include missing.h - </dev/null | grep -vE 'AUDIT_.*(FIRST|LAST)_' | $( SED) -r -n 's/^#define\s+AUDIT_(\w+)\s+([0-9]{4})\s*$$/\1\t\2/p' | sort -k2 >$@
src/journal/audit_type-to-name.h : src /journal /audit_type -list .txt
$( AM_V_GEN) $( AWK) 'BEGIN{ print "const char *audit_type_to_string(int type) {\n\tswitch(type) {" } {printf " case AUDIT_%s: return \"%s\";\n", $$1, $$1 } END{ print " default: return NULL;\n\t}\n}\n" }' <$< >$@
2014-12-10 05:16:14 +03:00
2014-08-02 03:37:16 +04:00
src/resolve/dns_type-list.txt : src /resolve /dns -type .h
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) $( SED) -n -r 's/.* DNS_TYPE_(\w+).*/\1/p' <$< >$@
src/resolve/dns_type-to-name.h : src /resolve /dns_type -list .txt
2015-03-16 20:14:18 +03:00
$( AM_V_GEN) $( AWK) 'BEGIN{ print "const char *dns_type_to_string(int type) {\n\tswitch(type) {" } {printf " case DNS_TYPE_%s: return ", $$1; sub(/_/, "-"); printf "\"%s\";\n", $$1 } END{ print " default: return NULL;\n\t}\n}\n" }' <$< >$@
2014-08-02 03:37:16 +04:00
src/resolve/dns_type-from-name.gperf : src /resolve /dns_type -list .txt
$( AM_V_GEN) $( AWK) 'BEGIN{ print "struct dns_type_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { s=$$1; sub(/_/, "-", s); printf "%s, ", $$s; printf "DNS_TYPE_%s\n", $$1 }' <$< >$@
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2010-02-03 16:21:48 +03:00
systemd_SOURCES = \
2012-04-12 14:58:55 +04:00
src/core/main.c
2010-02-03 16:21:48 +03:00
2014-02-22 21:47:28 +04:00
systemd_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2010-02-03 16:21:48 +03:00
systemd_LDADD = \
2012-04-10 21:14:42 +04:00
libsystemd-core.la \
2013-11-07 17:59:16 +04:00
$( RT_LIBS)
2010-02-03 16:21:48 +03:00
2012-04-12 15:34:18 +04:00
dist_pkgsysconf_DATA += \
src/core/system.conf \
src/core/user.conf
dist_dbuspolicy_DATA += \
src/core/org.freedesktop.systemd1.conf
dist_dbussystemservice_DATA += \
src/core/org.freedesktop.systemd1.service
2013-02-14 01:56:43 +04:00
polkitpolicy_in_in_files += \
2012-04-12 15:34:18 +04:00
src/core/org.freedesktop.systemd1.policy.in.in
2015-04-21 21:35:17 +03:00
pkgconfigdata_DATA += \
2012-04-12 15:34:18 +04:00
src/core/systemd.pc
2012-06-22 00:14:17 +04:00
nodist_rpmmacros_DATA = \
src/core/macros.systemd
2012-04-12 15:34:18 +04:00
EXTRA_DIST += \
2012-06-22 00:14:17 +04:00
src/core/systemd.pc.in \
src/core/macros.systemd.in
2012-04-12 15:34:18 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2014-07-21 01:58:35 +04:00
2013-04-18 16:40:24 +04:00
manual_tests += \
2012-04-12 21:00:28 +04:00
test-ns \
test-loopback \
test-hostname \
test-daemon \
test-cgroup \
test-install \
2012-06-22 15:08:48 +04:00
test-watchdog \
2014-03-14 04:38:19 +04:00
test-log \
2014-12-12 05:15:58 +03:00
test-ipcrm \
2015-01-16 17:16:05 +03:00
test-btrfs
i f H A V E _ L I B I P T C
manual_tests += \
2015-01-13 15:44:30 +03:00
test-fw-util
2015-01-16 17:16:05 +03:00
e n d i f
2014-04-18 07:39:40 +04:00
i f H A V E _ K M O D
manual_tests += \
2014-03-25 12:43:30 +04:00
test-rtnl-manual
2014-04-18 07:39:40 +04:00
e n d i f
2012-04-12 21:00:28 +04:00
2013-04-18 16:40:24 +04:00
tests += \
2014-01-07 17:41:24 +04:00
test-engine \
2014-07-19 01:50:04 +04:00
test-cgroup-mask \
2012-04-13 15:21:20 +04:00
test-job-type \
test-env-replace \
2013-02-09 04:39:44 +04:00
test-strbuf \
2012-07-13 15:50:39 +04:00
test-strv \
2014-11-05 23:27:01 +03:00
test-path \
2013-03-29 06:03:53 +04:00
test-path-util \
2013-02-11 00:56:03 +04:00
test-strxcpyx \
2012-09-11 03:11:32 +04:00
test-unit-name \
2012-10-11 18:42:46 +04:00
test-unit-file \
2013-09-17 23:39:09 +04:00
test-utf8 \
2013-09-21 05:37:34 +04:00
test-ellipsize \
2013-02-07 00:15:23 +04:00
test-util \
2015-04-10 20:10:00 +03:00
test-process-util \
2015-04-11 00:15:59 +03:00
test-terminal-util \
2015-01-09 07:29:33 +03:00
test-path-lookup \
2014-05-13 22:08:18 +04:00
test-ring \
shared: add generic IPC barrier
The "Barrier" object is a simple inter-process barrier implementation. It
allows placing synchronization points and waiting for the other side to
reach it. Additionally, it has an abortion-mechanism as second-layer
synchronization to send abortion-events asynchronously to the other side.
The API is usually used to synchronize processes during fork(). However,
it can be extended to pass state through execve() so you could synchronize
beyond execve().
Usually, it's used like this (error-handling replaced by assert() for
simplicity):
Barrier b;
r = barrier_init(&b);
assert_se(r >= 0);
pid = fork();
assert_se(pid >= 0);
if (pid == 0) {
barrier_set_role(&b, BARRIER_CHILD);
...do child post-setup...
if (CHILD_SETUP_FAILED)
exit(1);
...child setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
/* parent setup failed */
exit(1);
}
barrier_destroy(&b); /* redundant as execve() and exit() imply this */
/* parent & child setup successful */
execve(...);
}
barrier_set_role(&b, BARRIER_PARENT);
...do parent post-setup...
if (PARENT_SETUP_FAILED) {
barrier_abort(&b); /* send abortion event */
barrier_wait_abortion(&b); /* wait for child to abort (exit() implies abortion) */
barrier_destroy(&b);
...bail out...
}
...parent setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
...child setup failed... ;
barrier_destroy(&b);
...bail out...
}
barrier_destroy(&b);
...child setup successfull...
This is the most basic API. Using barrier_place() to place barriers and
barrier_sync() to perform a full synchronization between both processes.
barrier_abort() places an abortion barrier which superceeds any other
barriers, exit() (or barrier_destroy()) places an abortion-barrier that
queues behind existing barriers (thus *not* replacing existing barriers
unlike barrier_abort()).
This example uses hard-synchronization with wait_abortion(), sync() and
friends. These are all optional. Barriers are highly dynamic and can be
used for one-way synchronization or even no synchronization at all
(postponing it for later). The sync() call performs a full two-way
synchronization.
The API is documented and should be fairly self-explanatory. A test-suite
shows some special semantics regarding abortion, wait_next() and exit().
Internally, barriers use two eventfds and a pipe. The pipe is used to
detect exit()s of the remote side as eventfds do not allow that. The
eventfds are used to place barriers, one for each side. Barriers itself
are numbered, but the numbers are reused once both sides reached the same
barrier, thus you cannot address barriers by the index. Moreover, the
numbering is implicit and we only store a counter. This makes the
implementation itself very lightweight, which is probably negligible
considering that we need 3 FDs for a barrier..
Last but not least: This barrier implementation is quite heavy. It's
definitely not meant for fast IPC synchronization. However, it's very easy
to use. And given the *HUGE* overhead of fork(), the barrier-overhead
should be negligible.
2014-07-10 17:25:47 +04:00
test-barrier \
2014-07-11 18:29:56 +04:00
test-pty \
2014-01-26 08:35:28 +04:00
test-tmpfiles \
2013-10-23 04:39:18 +04:00
test-namespace \
2012-10-28 02:49:04 +04:00
test-date \
2012-11-15 01:20:17 +04:00
test-sleep \
2012-11-01 21:48:11 +04:00
test-replace-var \
2012-11-24 00:37:58 +04:00
test-sched-prio \
2012-12-23 14:23:59 +04:00
test-calendarspec \
2013-01-18 10:13:27 +04:00
test-strip-tab-ansi \
2013-03-21 05:42:28 +04:00
test-cgroup-util \
2015-01-10 00:58:29 +03:00
test-fstab-util \
2013-04-03 21:04:03 +04:00
test-prioq \
2013-04-04 00:58:41 +04:00
test-fileio \
2013-05-03 01:50:49 +04:00
test-time \
2013-06-26 15:43:16 +04:00
test-hashmap \
2014-10-01 17:32:16 +04:00
test-set \
2013-07-05 08:25:26 +04:00
test-list \
2014-11-01 16:04:17 +03:00
test-unaligned \
2013-09-18 20:12:04 +04:00
test-tables \
2013-12-28 06:03:50 +04:00
test-device-nodes \
2014-02-21 05:06:04 +04:00
test-xml \
2014-12-16 00:26:56 +03:00
test-json \
2014-06-15 00:10:44 +04:00
test-architecture \
2014-06-15 00:10:45 +04:00
test-socket-util \
2014-06-20 06:07:05 +04:00
test-fdset \
2014-06-22 00:07:10 +04:00
test-conf-files \
2014-06-22 00:07:11 +04:00
test-capability \
2014-06-23 23:28:22 +04:00
test-async \
2014-08-16 16:19:10 +04:00
test-ratelimit \
2014-11-06 16:19:05 +03:00
test-condition \
2014-09-19 16:50:53 +04:00
test-uid-range \
2014-10-12 20:05:10 +04:00
test-bus-policy \
2014-10-30 00:28:50 +03:00
test-locale-util \
2014-11-11 22:05:40 +03:00
test-execute \
2014-12-10 05:16:14 +03:00
test-copy \
2014-12-30 22:57:53 +03:00
test-cap-list \
2014-12-20 06:59:51 +03:00
test-sigbus \
test-verbs
2012-11-01 21:48:11 +04:00
EXTRA_DIST += \
2014-07-29 19:54:57 +04:00
test/a.service \
test/basic.target \
test/b.service \
test/c.service \
test/daughter.service \
test/d.service \
2015-02-02 02:19:30 +03:00
test/end.service.in \
2014-07-29 19:54:57 +04:00
test/e.service \
test/f.service \
test/grandchild.service \
test/g.service \
test/hello-after-sleep.target \
test/hello.service \
test/h.service \
test/parent-deep.slice \
test/parent.slice \
test/paths.target \
2012-11-01 21:48:11 +04:00
test/sched_idle_bad.service \
test/sched_idle_ok.service \
test/sched_rr_bad.service \
2013-11-22 20:36:14 +04:00
test/sched_rr_change.service \
2014-07-29 19:54:57 +04:00
test/sched_rr_ok.service \
test/shutdown.target \
test/sleep.service \
test/sockets.target \
2013-11-22 20:36:14 +04:00
test/son.service \
2014-07-29 19:54:57 +04:00
test/sysinit.target \
test/testsuite.target \
test/timers.target \
2014-09-19 16:50:53 +04:00
test/unstoppable.service \
2014-11-30 05:17:20 +03:00
test/path-changed.service \
test/path-directorynotempty.service \
test/path-existsglob.service \
test/path-exists.service \
test/path-makedirectory.service \
test/path-modified.service \
test/path-mycustomunit.service \
test/path-service.service \
test/path-changed.path \
test/path-directorynotempty.path \
test/path-existsglob.path \
test/path-exists.path \
test/path-makedirectory.path \
test/path-modified.path \
test/path-unit.path \
test/exec-environment-empty.service \
test/exec-environment-multiple.service \
test/exec-environment.service \
test/exec-group.service \
test/exec-ignoresigpipe-no.service \
test/exec-ignoresigpipe-yes.service \
test/exec-personality-x86-64.service \
test/exec-personality-x86.service \
test/exec-privatedevices-no.service \
test/exec-privatedevices-yes.service \
test/exec-privatetmp-no.service \
test/exec-privatetmp-yes.service \
test/exec-systemcallerrornumber.service \
test/exec-systemcallfilter-failing2.service \
test/exec-systemcallfilter-failing.service \
test/exec-systemcallfilter-not-failing2.service \
test/exec-systemcallfilter-not-failing.service \
test/exec-user.service \
test/exec-workingdirectory.service \
2014-12-11 19:59:10 +03:00
test/exec-umask-0177.service \
test/exec-umask-default.service \
2014-09-19 16:50:53 +04:00
test/bus-policy/hello.conf \
test/bus-policy/methods.conf \
test/bus-policy/ownerships.conf \
2014-11-26 22:22:22 +03:00
test/bus-policy/signals.conf \
2014-11-26 22:58:34 +03:00
test/bus-policy/check-own-rules.conf \
test/bus-policy/many-rules.conf \
test/bus-policy/test.conf
2014-09-19 16:50:53 +04:00
2012-04-13 15:21:20 +04:00
2013-07-18 10:30:06 +04:00
EXTRA_DIST += \
src/test/test-helper.h
2013-09-18 20:12:04 +04:00
test_device_nodes_SOURCES = \
src/test/test-device-nodes.c
test_device_nodes_LDADD = \
libsystemd-shared.la
2010-02-03 16:21:48 +03:00
test_engine_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-engine.c
2010-02-03 16:21:48 +03:00
2014-02-22 21:47:28 +04:00
test_engine_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-04-10 18:02:09 +04:00
test_engine_LDADD = \
2012-04-10 21:23:08 +04:00
libsystemd-core.la \
2013-11-07 17:59:16 +04:00
$( RT_LIBS)
2010-02-03 16:21:48 +03:00
test_job_type_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-job-type.c
2010-02-03 16:21:48 +03:00
2014-02-22 21:47:28 +04:00
test_job_type_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-04-10 18:02:09 +04:00
test_job_type_LDADD = \
core: add NOP jobs, job type collapsing
Two of our current job types are special:
JOB_TRY_RESTART, JOB_RELOAD_OR_START.
They differ from other job types by being sensitive to the unit active state.
They perform some action when the unit is active and some other action
otherwise. This raises a question: when exactly should the unit state be
checked to make the decision?
Currently the unit state is checked when the job becomes runnable. It's more
sensible to check the state immediately when the job is added by the user.
When the user types "systemctl try-restart foo.service", he really intends
to restart the service if it's running right now. If it isn't running right
now, the restart is pointless.
Consider the example (from Bugzilla[1]):
sleep.service takes some time to start.
hello.service has After=sleep.service.
Both services get started. Two jobs will appear:
hello.service/start waiting
sleep.service/start running
Then someone runs "systemctl try-restart hello.service".
Currently the try-restart operation will block and wait for
sleep.service/start to complete.
The correct result is to complete the try-restart operation immediately
with success, because hello.service is not running. The two original
jobs must not be disturbed by this.
To fix this we introduce two new concepts:
- a new job type: JOB_NOP
A JOB_NOP job does not do anything to the unit. It does not pull in any
dependencies. It is always immediately runnable. When installed to a unit,
it sits in a special slot (u->nop_job) where it never conflicts with
the installed job (u->job) of a different type. It never merges with jobs
of other types, but it can merge into an already installed JOB_NOP job.
- "collapsing" of job types
When a job of one of the two special types is added, the state of the unit
is checked immediately and the job type changes:
JOB_TRY_RESTART -> JOB_RESTART or JOB_NOP
JOB_RELOAD_OR_START -> JOB_RELOAD or JOB_START
Should a job type JOB_RELOAD_OR_START appear later during job merging, it
collapses immediately afterwards.
Collapsing actually makes some things simpler, because there are now fewer
job types that are allowed in the transaction.
[1] Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=753586
2012-04-25 13:58:27 +04:00
libsystemd-core.la \
2013-11-07 17:59:16 +04:00
$( RT_LIBS)
2010-02-03 16:21:48 +03:00
2010-04-22 00:15:06 +04:00
test_ns_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-ns.c
2010-04-22 00:15:06 +04:00
2014-02-22 21:47:28 +04:00
test_ns_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-04-10 18:02:09 +04:00
test_ns_LDADD = \
libsystemd-core.la
2010-04-22 00:15:06 +04:00
2010-05-09 20:02:38 +04:00
test_loopback_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-loopback.c
2010-05-09 20:02:38 +04:00
2010-06-18 02:44:57 +04:00
test_loopback_LDADD = \
2012-04-12 20:16:14 +04:00
libsystemd-core.la
2010-06-18 02:44:57 +04:00
2010-08-19 05:02:22 +04:00
test_hostname_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-hostname.c
2010-08-19 05:02:22 +04:00
test_hostname_LDADD = \
2012-04-12 16:22:48 +04:00
libsystemd-core.la
2010-08-19 05:02:22 +04:00
2013-02-14 02:07:59 +04:00
i f E N A B L E _ E F I
2013-04-18 16:40:24 +04:00
manual_tests += \
2013-09-24 02:23:35 +04:00
test-boot-timestamp
2013-02-14 02:07:59 +04:00
2013-09-24 02:23:35 +04:00
test_boot_timestamp_SOURCES = \
src/test/test-boot-timestamps.c
2013-01-19 07:20:23 +04:00
2013-09-24 02:23:35 +04:00
test_boot_timestamp_LDADD = \
2013-01-19 07:20:23 +04:00
libsystemd-shared.la
2013-02-14 02:07:59 +04:00
e n d i f
2013-01-19 07:20:23 +04:00
2012-06-22 15:08:48 +04:00
test_unit_name_SOURCES = \
src/test/test-unit-name.c
2014-02-22 21:47:28 +04:00
test_unit_name_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-06-22 15:08:48 +04:00
test_unit_name_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-core.la \
$( RT_LIBS)
2012-06-22 15:08:48 +04:00
2012-09-11 03:11:32 +04:00
test_unit_file_SOURCES = \
src/test/test-unit-file.c
2014-02-22 21:47:28 +04:00
test_unit_file_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-09-11 03:11:32 +04:00
test_unit_file_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-core.la \
$( RT_LIBS)
2012-09-11 03:11:32 +04:00
2013-09-17 23:39:09 +04:00
test_utf8_SOURCES = \
src/test/test-utf8.c
test_utf8_LDADD = \
libsystemd-shared.la
2014-06-22 00:07:10 +04:00
test_capability_SOURCES = \
src/test/test-capability.c
test_capability_LDADD = \
2014-11-11 18:13:59 +03:00
libsystemd-shared.la
2014-06-22 00:07:10 +04:00
2014-06-22 00:07:11 +04:00
test_async_SOURCES = \
src/test/test-async.c
test_async_LDADD = \
libsystemd-shared.la
2014-10-12 20:05:10 +04:00
test_locale_util_SOURCES = \
src/test/test-locale-util.c
test_locale_util_LDADD = \
libsystemd-shared.la
2014-10-30 00:28:50 +03:00
test_copy_SOURCES = \
src/test/test-copy.c
test_copy_LDADD = \
2015-01-11 02:25:31 +03:00
libsystemd-label.la \
2014-10-30 00:28:50 +03:00
libsystemd-shared.la
2014-12-30 22:57:53 +03:00
test_sigbus_SOURCES = \
src/test/test-sigbus.c
test_sigbus_LDADD = \
libsystemd-shared.la
2014-11-06 16:19:05 +03:00
test_condition_SOURCES = \
src/test/test-condition.c
2014-08-16 16:19:10 +04:00
2014-11-06 16:19:05 +03:00
test_condition_LDADD = \
2014-11-10 20:59:03 +03:00
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-08-16 16:19:10 +04:00
2014-06-15 00:10:45 +04:00
test_fdset_SOURCES = \
src/test/test-fdset.c
test_fdset_LDADD = \
2014-11-10 20:22:44 +03:00
libsystemd-shared.la \
libsystemd-internal.la
2014-06-15 00:10:45 +04:00
2015-01-10 00:58:29 +03:00
test_fstab_util_SOURCES = \
src/test/test-fstab-util.c
test_fstab_util_LDADD = \
libsystemd-shared.la
2014-06-23 23:28:22 +04:00
test_ratelimit_SOURCES = \
src/test/test-ratelimit.c
test_ratelimit_LDADD = \
libsystemd-shared.la
2013-02-07 00:15:23 +04:00
test_util_SOURCES = \
src/test/test-util.c
test_util_LDADD = \
2015-04-06 11:57:17 +03:00
libsystemd-label.la \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-02-07 00:15:23 +04:00
2015-04-10 20:10:00 +03:00
test_process_util_SOURCES = \
src/test/test-process-util.c
test_process_util_LDADD = \
libsystemd-shared.la
2015-04-11 00:15:59 +03:00
test_terminal_util_SOURCES = \
src/test/test-terminal-util.c
test_terminal_util_LDADD = \
libsystemd-shared.la
2015-01-09 07:29:33 +03:00
test_path_lookup_SOURCES = \
src/test/test-path-lookup.c
test_path_lookup_LDADD = \
-lm \
libsystemd-units.la \
2015-04-06 11:57:17 +03:00
libsystemd-label.la \
2015-01-09 07:29:33 +03:00
libsystemd-shared.la
2014-08-19 21:05:11 +04:00
test_uid_range_SOURCES = \
src/test/test-uid-range.c
test_uid_range_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2014-08-19 21:05:11 +04:00
2014-12-10 05:16:14 +03:00
test_cap_list_SOURCES = \
src/test/test-cap-list.c
test_cap_list_LDADD = \
libsystemd-shared.la
2014-06-15 00:10:44 +04:00
test_socket_util_SOURCES = \
src/test/test-socket-util.c
test_socket_util_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2014-06-15 00:10:44 +04:00
2014-05-13 22:08:18 +04:00
test_ring_SOURCES = \
src/test/test-ring.c
test_ring_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2014-05-13 22:08:18 +04:00
shared: add generic IPC barrier
The "Barrier" object is a simple inter-process barrier implementation. It
allows placing synchronization points and waiting for the other side to
reach it. Additionally, it has an abortion-mechanism as second-layer
synchronization to send abortion-events asynchronously to the other side.
The API is usually used to synchronize processes during fork(). However,
it can be extended to pass state through execve() so you could synchronize
beyond execve().
Usually, it's used like this (error-handling replaced by assert() for
simplicity):
Barrier b;
r = barrier_init(&b);
assert_se(r >= 0);
pid = fork();
assert_se(pid >= 0);
if (pid == 0) {
barrier_set_role(&b, BARRIER_CHILD);
...do child post-setup...
if (CHILD_SETUP_FAILED)
exit(1);
...child setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
/* parent setup failed */
exit(1);
}
barrier_destroy(&b); /* redundant as execve() and exit() imply this */
/* parent & child setup successful */
execve(...);
}
barrier_set_role(&b, BARRIER_PARENT);
...do parent post-setup...
if (PARENT_SETUP_FAILED) {
barrier_abort(&b); /* send abortion event */
barrier_wait_abortion(&b); /* wait for child to abort (exit() implies abortion) */
barrier_destroy(&b);
...bail out...
}
...parent setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
...child setup failed... ;
barrier_destroy(&b);
...bail out...
}
barrier_destroy(&b);
...child setup successfull...
This is the most basic API. Using barrier_place() to place barriers and
barrier_sync() to perform a full synchronization between both processes.
barrier_abort() places an abortion barrier which superceeds any other
barriers, exit() (or barrier_destroy()) places an abortion-barrier that
queues behind existing barriers (thus *not* replacing existing barriers
unlike barrier_abort()).
This example uses hard-synchronization with wait_abortion(), sync() and
friends. These are all optional. Barriers are highly dynamic and can be
used for one-way synchronization or even no synchronization at all
(postponing it for later). The sync() call performs a full two-way
synchronization.
The API is documented and should be fairly self-explanatory. A test-suite
shows some special semantics regarding abortion, wait_next() and exit().
Internally, barriers use two eventfds and a pipe. The pipe is used to
detect exit()s of the remote side as eventfds do not allow that. The
eventfds are used to place barriers, one for each side. Barriers itself
are numbered, but the numbers are reused once both sides reached the same
barrier, thus you cannot address barriers by the index. Moreover, the
numbering is implicit and we only store a counter. This makes the
implementation itself very lightweight, which is probably negligible
considering that we need 3 FDs for a barrier..
Last but not least: This barrier implementation is quite heavy. It's
definitely not meant for fast IPC synchronization. However, it's very easy
to use. And given the *HUGE* overhead of fork(), the barrier-overhead
should be negligible.
2014-07-10 17:25:47 +04:00
test_barrier_SOURCES = \
src/test/test-barrier.c
test_barrier_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
shared: add generic IPC barrier
The "Barrier" object is a simple inter-process barrier implementation. It
allows placing synchronization points and waiting for the other side to
reach it. Additionally, it has an abortion-mechanism as second-layer
synchronization to send abortion-events asynchronously to the other side.
The API is usually used to synchronize processes during fork(). However,
it can be extended to pass state through execve() so you could synchronize
beyond execve().
Usually, it's used like this (error-handling replaced by assert() for
simplicity):
Barrier b;
r = barrier_init(&b);
assert_se(r >= 0);
pid = fork();
assert_se(pid >= 0);
if (pid == 0) {
barrier_set_role(&b, BARRIER_CHILD);
...do child post-setup...
if (CHILD_SETUP_FAILED)
exit(1);
...child setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
/* parent setup failed */
exit(1);
}
barrier_destroy(&b); /* redundant as execve() and exit() imply this */
/* parent & child setup successful */
execve(...);
}
barrier_set_role(&b, BARRIER_PARENT);
...do parent post-setup...
if (PARENT_SETUP_FAILED) {
barrier_abort(&b); /* send abortion event */
barrier_wait_abortion(&b); /* wait for child to abort (exit() implies abortion) */
barrier_destroy(&b);
...bail out...
}
...parent setup done...
barrier_place(&b);
if (!barrier_sync(&b)) {
...child setup failed... ;
barrier_destroy(&b);
...bail out...
}
barrier_destroy(&b);
...child setup successfull...
This is the most basic API. Using barrier_place() to place barriers and
barrier_sync() to perform a full synchronization between both processes.
barrier_abort() places an abortion barrier which superceeds any other
barriers, exit() (or barrier_destroy()) places an abortion-barrier that
queues behind existing barriers (thus *not* replacing existing barriers
unlike barrier_abort()).
This example uses hard-synchronization with wait_abortion(), sync() and
friends. These are all optional. Barriers are highly dynamic and can be
used for one-way synchronization or even no synchronization at all
(postponing it for later). The sync() call performs a full two-way
synchronization.
The API is documented and should be fairly self-explanatory. A test-suite
shows some special semantics regarding abortion, wait_next() and exit().
Internally, barriers use two eventfds and a pipe. The pipe is used to
detect exit()s of the remote side as eventfds do not allow that. The
eventfds are used to place barriers, one for each side. Barriers itself
are numbered, but the numbers are reused once both sides reached the same
barrier, thus you cannot address barriers by the index. Moreover, the
numbering is implicit and we only store a counter. This makes the
implementation itself very lightweight, which is probably negligible
considering that we need 3 FDs for a barrier..
Last but not least: This barrier implementation is quite heavy. It's
definitely not meant for fast IPC synchronization. However, it's very easy
to use. And given the *HUGE* overhead of fork(), the barrier-overhead
should be negligible.
2014-07-10 17:25:47 +04:00
2014-07-11 18:29:56 +04:00
test_pty_SOURCES = \
src/test/test-pty.c
test_pty_LDADD = \
libsystemd-core.la
2014-01-26 08:35:28 +04:00
test_tmpfiles_SOURCES = \
src/test/test-tmpfiles.c
test_tmpfiles_LDADD = \
libsystemd-shared.la
2013-10-23 04:39:18 +04:00
test_namespace_SOURCES = \
src/test/test-namespace.c
2014-12-20 06:59:51 +03:00
test_verbs_SOURCES = \
src/test/test-verbs.c
test_verbs_LDADD = \
libsystemd-shared.la
2013-10-23 04:39:18 +04:00
test_namespace_LDADD = \
libsystemd-core.la
2014-10-15 13:00:46 +04:00
BUILT_SOURCES += \
src/test/test-hashmap-ordered.c
src/test/test-hashmap-ordered.c : src /test /test -hashmap -plain .c
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) $( AWK) ' BEGIN { print "/* GENERATED FILE */\n#define ORDERED" } \
{ if ( !match( $$ 0, "^#include" ) ) \
gsub( /hashmap/, "ordered_hashmap" ) ; \
gsub( /HASHMAP/, "ORDERED_HASHMAP" ) ; \
gsub( /Hashmap/, "OrderedHashmap" ) ; \
print } ' <$< >$@
nodist_test_hashmap_SOURCES = \
src/test/test-hashmap-ordered.c
2013-05-03 01:50:49 +04:00
test_hashmap_SOURCES = \
2014-10-15 13:00:46 +04:00
src/test/test-hashmap.c \
src/test/test-hashmap-plain.c
2013-05-03 01:50:49 +04:00
test_hashmap_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-05-03 01:50:49 +04:00
2014-10-01 17:32:16 +04:00
test_set_SOURCES = \
src/test/test-set.c
test_set_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2014-10-01 17:32:16 +04:00
2013-12-28 06:03:50 +04:00
test_xml_SOURCES = \
src/test/test-xml.c
test_xml_LDADD = \
libsystemd-shared.la
2014-12-16 00:26:56 +03:00
test_json_SOURCES = \
src/test/test-json.c
test_json_LDADD = \
2015-01-11 02:25:31 +03:00
libsystemd-shared.la
2014-12-16 00:26:56 +03:00
2013-06-26 15:43:16 +04:00
test_list_SOURCES = \
src/test/test-list.c
2014-11-09 00:05:29 +03:00
test_list_LDADD = \
libsystemd-shared.la
2014-11-01 16:04:17 +03:00
test_unaligned_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2014-11-01 16:04:17 +03:00
test_unaligned_SOURCES = \
src/test/test-unaligned.c
2013-07-05 08:25:26 +04:00
test_tables_SOURCES = \
src/test/test-tables.c \
2014-07-10 06:29:24 +04:00
src/shared/test-tables.h \
2014-12-23 20:36:04 +03:00
src/bus-proxyd/bus-xml-policy.c \
src/bus-proxyd/bus-xml-policy.h \
2014-07-10 06:29:24 +04:00
src/journal/journald-server.c \
src/journal/journald-server.h
2013-07-05 08:25:26 +04:00
2014-07-18 01:53:59 +04:00
test_tables_CPPFLAGS = \
$( AM_CPPFLAGS) \
-I$( top_srcdir) /src/bus-proxyd
2014-02-22 21:47:28 +04:00
test_tables_CFLAGS = \
$( AM_CFLAGS) \
2014-07-18 01:53:59 +04:00
$( SECCOMP_CFLAGS)
2014-02-22 21:47:28 +04:00
2013-07-05 08:25:26 +04:00
test_tables_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-logs.la \
libsystemd-journal-internal.la \
2014-07-29 19:07:27 +04:00
libsystemd-journal-core.la \
2013-07-05 08:25:26 +04:00
libsystemd-core.la \
2014-07-10 06:29:24 +04:00
libudev-core.la \
2013-11-07 17:59:16 +04:00
$( RT_LIBS)
2013-07-05 08:25:26 +04:00
2013-03-21 05:42:28 +04:00
test_prioq_SOURCES = \
src/test/test-prioq.c
test_prioq_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-03-21 05:42:28 +04:00
2013-04-03 21:04:03 +04:00
test_fileio_SOURCES = \
src/test/test-fileio.c
test_fileio_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-04-03 21:04:03 +04:00
2013-04-04 00:58:41 +04:00
test_time_SOURCES = \
src/test/test-time.c
test_time_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-04-04 00:58:41 +04:00
2014-02-21 05:06:04 +04:00
test_architecture_SOURCES = \
src/test/test-architecture.c
test_architecture_LDADD = \
libsystemd-shared.la
2012-08-25 00:21:20 +04:00
test_log_SOURCES = \
src/test/test-log.c
test_log_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2012-08-25 00:21:20 +04:00
2014-03-14 04:38:19 +04:00
test_ipcrm_SOURCES = \
src/test/test-ipcrm.c
test_ipcrm_LDADD = \
libsystemd-shared.la \
-lrt
2014-12-12 05:15:58 +03:00
test_btrfs_SOURCES = \
src/test/test-btrfs.c
test_btrfs_LDADD = \
2015-01-11 02:25:31 +03:00
libsystemd-label.la \
2014-12-12 05:15:58 +03:00
libsystemd-shared.la
2015-01-16 17:16:05 +03:00
i f H A V E _ L I B I P T C
2015-01-13 15:44:30 +03:00
test_fw_util_SOURCES = \
src/test/test-fw-util.c
test_fw_util_CFLAGS = \
$( AM_CFLAGS) \
$( LIBIPTC_CFLAGS)
test_fw_util_LDADD = \
libsystemd-fw.la \
libsystemd-shared.la \
$( LIBIPTC_LIBS)
2015-01-16 17:16:05 +03:00
e n d i f
2015-01-13 15:44:30 +03:00
2014-03-25 12:43:30 +04:00
test_rtnl_manual_SOURCES = \
src/test/test-rtnl-manual.c
2014-04-14 17:14:14 +04:00
test_rtnl_manual_CFLAGS = \
$( AM_CFLAGS) \
$( KMOD_CFLAGS)
2014-03-25 12:43:30 +04:00
test_rtnl_manual_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la \
2014-04-14 17:14:14 +04:00
$( KMOD_LIBS)
2014-03-25 12:43:30 +04:00
2013-09-21 05:37:34 +04:00
test_ellipsize_SOURCES = \
src/test/test-ellipsize.c
test_ellipsize_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2013-09-21 05:37:34 +04:00
2012-10-11 18:42:46 +04:00
test_date_SOURCES = \
src/test/test-date.c
test_date_LDADD = \
2014-11-09 00:05:29 +03:00
libsystemd-shared.la
2012-10-11 18:42:46 +04:00
2012-10-28 02:49:04 +04:00
test_sleep_SOURCES = \
src/test/test-sleep.c
test_sleep_LDADD = \
libsystemd-core.la
2012-11-15 01:20:17 +04:00
test_replace_var_SOURCES = \
src/test/test-replace-var.c
test_replace_var_LDADD = \
libsystemd-shared.la
2012-11-24 00:37:58 +04:00
test_calendarspec_SOURCES = \
src/test/test-calendarspec.c
test_calendarspec_LDADD = \
libsystemd-shared.la
2012-12-23 14:23:59 +04:00
test_strip_tab_ansi_SOURCES = \
src/test/test-strip-tab-ansi.c
test_strip_tab_ansi_LDADD = \
libsystemd-shared.la
2010-06-16 07:10:31 +04:00
test_daemon_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-daemon.c
2010-05-09 20:02:38 +04:00
2010-06-18 02:44:57 +04:00
test_daemon_LDADD = \
2014-02-18 21:50:11 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2010-06-18 02:44:57 +04:00
2010-06-22 01:27:18 +04:00
test_cgroup_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-cgroup.c
2010-06-22 01:27:18 +04:00
test_cgroup_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd-internal.la
2010-06-22 01:27:18 +04:00
2013-11-11 13:03:31 +04:00
test_cgroup_mask_SOURCES = \
src/test/test-cgroup-mask.c
2013-12-11 01:30:46 +04:00
test_cgroup_mask_CPPFLAGS = \
2014-11-08 23:11:19 +03:00
$( AM_CPPFLAGS)
2013-11-11 13:03:31 +04:00
2014-02-22 21:47:28 +04:00
test_cgroup_mask_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2013-11-11 13:03:31 +04:00
test_cgroup_mask_LDADD = \
libsystemd-core.la \
$( RT_LIBS)
2013-01-18 10:13:27 +04:00
test_cgroup_util_SOURCES = \
src/test/test-cgroup-util.c
test_cgroup_util_LDADD = \
libsystemd-label.la \
2014-02-18 21:50:11 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-01-18 10:13:27 +04:00
2010-07-21 04:57:35 +04:00
test_env_replace_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-env-replace.c
2010-07-21 04:57:35 +04:00
test_env_replace_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2010-07-21 04:57:35 +04:00
2013-02-09 04:39:44 +04:00
test_strbuf_SOURCES = \
src/test/test-strbuf.c
test_strbuf_LDADD = \
libsystemd-shared.la
2010-11-14 21:58:33 +03:00
test_strv_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-strv.c
2010-11-14 21:58:33 +03:00
test_strv_LDADD = \
2013-03-13 07:05:20 +04:00
libsystemd-units.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2010-11-14 21:58:33 +03:00
2013-03-29 06:03:53 +04:00
test_path_util_SOURCES = \
src/test/test-path-util.c
test_path_util_LDADD = \
2015-04-06 11:57:17 +03:00
libsystemd-label.la \
2013-03-29 06:03:53 +04:00
libsystemd-shared.la
2014-11-05 23:27:01 +03:00
test_path_SOURCES = \
src/test/test-path.c
test_path_CFLAGS = \
$( AM_CFLAGS)
test_path_LDADD = \
libsystemd-core.la
2014-11-11 22:05:40 +03:00
test_execute_SOURCES = \
src/test/test-execute.c
test_execute_CFLAGS = \
$( AM_CFLAGS)
test_execute_LDADD = \
libsystemd-core.la
2013-02-11 00:56:03 +04:00
test_strxcpyx_SOURCES = \
src/test/test-strxcpyx.c
test_strxcpyx_LDADD = \
libsystemd-shared.la
2011-07-22 06:21:18 +04:00
test_install_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-install.c
2011-07-22 06:21:18 +04:00
test_install_LDADD = \
2012-06-01 00:12:47 +04:00
libsystemd-units.la \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd-internal.la
2011-07-22 06:21:18 +04:00
2012-04-06 00:08:10 +04:00
test_watchdog_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-watchdog.c
2012-04-06 00:08:10 +04:00
test_watchdog_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-04-06 00:08:10 +04:00
2012-11-01 21:48:11 +04:00
test_sched_prio_SOURCES = \
src/test/test-sched-prio.c
2013-12-11 01:30:46 +04:00
test_sched_prio_CPPFLAGS = \
2014-11-08 23:11:19 +03:00
$( AM_CPPFLAGS)
2012-11-01 21:48:11 +04:00
2014-02-22 21:47:28 +04:00
test_sched_prio_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2012-11-01 21:48:11 +04:00
test_sched_prio_LDADD = \
libsystemd-core.la \
2013-11-07 17:59:16 +04:00
$( RT_LIBS)
2012-11-01 21:48:11 +04:00
2014-06-20 06:07:05 +04:00
test_conf_files_SOURCES = \
src/test/test-conf-files.c
test_conf_files_LDADD = \
2015-04-06 11:57:17 +03:00
libsystemd-label.la \
2014-06-20 06:07:05 +04:00
libsystemd-shared.la
2014-09-19 16:50:53 +04:00
test_bus_policy_SOURCES = \
2015-01-16 16:45:34 +03:00
src/bus-proxyd/test-bus-xml-policy.c
2014-09-19 16:50:53 +04:00
test_bus_policy_LDADD = \
2015-01-16 16:45:34 +03:00
libsystemd-proxy.la \
2014-09-19 16:50:53 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2013-03-28 17:54:06 +04:00
## .PHONY so it always rebuilds it
2014-01-26 20:36:04 +04:00
.PHONY : coverage lcov -run lcov -report coverage -sync
2013-03-28 17:54:06 +04:00
# run lcov from scratch, always
2014-06-23 23:28:23 +04:00
coverage : all
2013-03-28 17:54:06 +04:00
$( MAKE) lcov-run
$( MAKE) lcov-report
coverage_dir = coverage
coverage_opts = --base-directory $( srcdir) --directory $( builddir) --rc 'geninfo_adjust_src_path=$(abspath $(srcdir))=>$(abspath $(builddir))'
i f E N A B L E _ C O V E R A G E
# reset run coverage tests
lcov-run :
@rm -rf $( coverage_dir)
lcov $( coverage_opts) --zerocounters
-$( MAKE) check
# generate report based on current coverage data
lcov-report :
$( MKDIR_P) $( coverage_dir)
lcov $( coverage_opts) --compat-libtool --capture --no-external \
| sed 's|$(abspath $(builddir))|$(abspath $(srcdir))|' > $( coverage_dir) /.lcov.info
2014-11-09 00:33:02 +03:00
lcov --remove $( coverage_dir) /.lcov.info --output-file $( coverage_dir) /.lcov-clean.info 'test-*'
genhtml -t "systemd test coverage" -o $( coverage_dir) $( coverage_dir) /.lcov-clean.info
2013-03-28 17:54:06 +04:00
@echo " Coverage report generated in $( abs_builddir) / $( coverage_dir) /index.html "
# lcov doesn't work properly with vpath builds, make sure that bad
# output is not uploaded by mistake.
coverage-sync : coverage
test " $( builddir) " = " $( srcdir) "
rsync -rlv --delete --omit-dir-times coverage/ $( www_target) /coverage
e l s e
lcov-run lcov-report :
echo "Need to reconfigure with --enable-coverage"
e n d i f
# ------------------------------------------------------------------------------
2013-10-22 15:50:23 +04:00
systemd_analyze_SOURCES = \
2014-07-22 05:11:54 +04:00
src/analyze/analyze.c \
src/analyze/analyze-verify.c \
src/analyze/analyze-verify.h
systemd_verify_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2013-10-22 15:50:23 +04:00
systemd_analyze_LDADD = \
2014-07-22 05:11:54 +04:00
libsystemd-core.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2014-07-22 05:11:54 +04:00
libsystemd-shared.la \
$( RT_LIBS)
2013-10-22 15:50:23 +04:00
# ------------------------------------------------------------------------------
2011-12-31 11:36:52 +04:00
systemd_initctl_SOURCES = \
2012-04-12 19:15:18 +04:00
src/initctl/initctl.c
2011-12-31 11:36:52 +04:00
systemd_initctl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2011-12-31 11:36:52 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 11:36:52 +04:00
systemd_update_utmp_SOURCES = \
2012-04-12 19:15:18 +04:00
src/update-utmp/update-utmp.c
2011-12-31 11:36:52 +04:00
systemd_update_utmp_CFLAGS = \
$( AM_CFLAGS) \
$( AUDIT_CFLAGS)
systemd_update_utmp_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la \
2011-12-31 11:36:52 +04:00
$( AUDIT_LIBS)
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
# ------------------------------------------------------------------------------
systemd_update_done_SOURCES = \
src/update-done/update-done.c
systemd_update_done_LDADD = \
libsystemd-internal.la \
2014-07-22 04:56:29 +04:00
libsystemd-label.la \
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
libsystemd-shared.la
2012-04-11 04:04:46 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_shutdown_SOURCES = \
2012-04-12 16:18:36 +04:00
src/core/umount.c \
src/core/umount.h \
2012-04-12 20:16:14 +04:00
src/core/shutdown.c \
src/core/mount-setup.c \
2012-07-13 16:41:57 +04:00
src/core/mount-setup.h \
src/core/killall.h \
src/core/killall.c
2011-12-31 11:53:06 +04:00
2011-12-31 12:17:48 +04:00
systemd_shutdown_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-31 11:53:06 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2013-01-30 20:50:55 +04:00
i f H A V E _ K M O D
2011-12-31 12:17:48 +04:00
systemd_modules_load_SOURCES = \
2012-04-12 19:15:18 +04:00
src/modules-load/modules-load.c
2011-12-31 11:53:06 +04:00
2012-02-09 00:52:19 +04:00
systemd_modules_load_CFLAGS = \
2012-04-10 18:02:09 +04:00
$( AM_CFLAGS) \
2012-02-09 00:52:19 +04:00
$( KMOD_CFLAGS)
2011-12-31 12:17:48 +04:00
systemd_modules_load_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la \
2012-02-09 00:52:19 +04:00
$( KMOD_LIBS)
2013-01-30 20:50:55 +04:00
rootlibexec_PROGRAMS += \
systemd-modules-load
nodist_systemunit_DATA += \
units/systemd-modules-load.service
2013-03-18 18:12:18 +04:00
2013-01-30 20:50:55 +04:00
SYSINIT_TARGET_WANTS += \
systemd-modules-load.service
2013-06-15 00:56:39 +04:00
i f E N A B L E _ T M P F I L E S
nodist_systemunit_DATA += \
units/kmod-static-nodes.service
SYSINIT_TARGET_WANTS += \
kmod-static-nodes.service
e n d i f
2012-11-20 04:24:32 +04:00
e n d i f
2011-12-31 11:53:06 +04:00
2013-01-30 20:50:55 +04:00
EXTRA_DIST += \
2014-05-22 04:06:17 +04:00
units/systemd-modules-load.service.in \
units/kmod-static-nodes.service.in
2013-01-30 20:50:55 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2013-06-02 12:54:44 +04:00
i f E N A B L E _ T M P F I L E S
2011-12-31 12:17:48 +04:00
systemd_tmpfiles_SOURCES = \
2013-12-12 20:42:45 +04:00
src/tmpfiles/tmpfiles.c
2011-12-31 11:53:06 +04:00
2011-12-31 12:17:48 +04:00
systemd_tmpfiles_LDADD = \
2013-12-12 20:42:45 +04:00
libsystemd-units.la \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-06-03 17:54:58 +04:00
2015-01-18 07:27:39 +03:00
i f H A V E _ A C L
systemd_tmpfiles_LDADD += \
libsystemd-acl.la
e n d i f
2013-06-03 17:54:58 +04:00
rootbin_PROGRAMS += \
systemd-tmpfiles
dist_systemunit_DATA += \
units/systemd-tmpfiles-clean.timer
nodist_systemunit_DATA += \
units/systemd-tmpfiles-setup-dev.service \
units/systemd-tmpfiles-setup.service \
units/systemd-tmpfiles-clean.service
2014-08-27 19:45:41 +04:00
nodist_tmpfiles_DATA = \
2015-03-03 08:21:10 +03:00
tmpfiles.d/systemd.conf \
2014-08-27 19:45:41 +04:00
tmpfiles.d/etc.conf
2013-06-03 17:54:58 +04:00
dist_tmpfiles_DATA = \
2013-12-21 05:25:39 +04:00
tmpfiles.d/systemd-nologin.conf \
2013-06-03 17:54:58 +04:00
tmpfiles.d/tmp.conf \
2014-06-11 02:12:21 +04:00
tmpfiles.d/x11.conf \
2015-04-21 18:28:16 +03:00
tmpfiles.d/var.conf \
tmpfiles.d/home.conf
2013-06-03 17:54:58 +04:00
i f H A V E _ S Y S V _ C O M P A T
dist_tmpfiles_DATA += \
tmpfiles.d/legacy.conf
2013-06-02 12:54:44 +04:00
e n d i f
2011-12-31 11:53:06 +04:00
2013-06-03 17:54:58 +04:00
SYSINIT_TARGET_WANTS += \
systemd-tmpfiles-setup-dev.service \
systemd-tmpfiles-setup.service
2013-07-31 04:05:31 +04:00
dist_zshcompletion_DATA += \
shell-completion/zsh/_systemd-tmpfiles
2013-06-03 17:54:58 +04:00
TIMERS_TARGET_WANTS += \
systemd-tmpfiles-clean.timer
INSTALL_DIRS += \
$( tmpfilesdir) \
$( sysconfdir) /tmpfiles.d
e n d i f
EXTRA_DIST += \
2015-03-03 08:21:10 +03:00
tmpfiles.d/systemd.conf.m4 \
2014-08-27 19:45:41 +04:00
tmpfiles.d/etc.conf.m4 \
2013-06-03 17:54:58 +04:00
units/systemd-tmpfiles-setup-dev.service.in \
units/systemd-tmpfiles-setup.service.in \
units/systemd-tmpfiles-clean.service.in
sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.
The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.
This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.
The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.
The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.
This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-13 00:54:02 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ S Y S U S E R S
systemd_sysusers_SOURCES = \
src/sysusers/sysusers.c
systemd_sysusers_LDADD = \
libsystemd-units.la \
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-06-13 21:18:55 +04:00
rootbin_PROGRAMS += \
sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.
The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.
This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.
The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.
The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.
This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-13 00:54:02 +04:00
systemd-sysusers
2014-06-13 15:10:30 +04:00
nodist_systemunit_DATA += \
units/systemd-sysusers.service
SYSINIT_TARGET_WANTS += \
systemd-sysusers.service
2014-06-30 00:26:19 +04:00
nodist_sysusers_DATA = \
2015-03-03 08:21:10 +03:00
sysusers.d/systemd.conf \
2014-06-30 00:26:19 +04:00
sysusers.d/basic.conf
2014-06-13 01:22:27 +04:00
EXTRA_DIST += \
2014-06-13 15:10:30 +04:00
units/systemd-sysusers.service.in \
2015-03-03 08:21:10 +03:00
sysusers.d/systemd.conf.m4 \
2014-06-30 00:26:19 +04:00
sysusers.d/basic.conf.in
2014-06-13 01:22:27 +04:00
sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.
The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.
This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.
The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.
The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.
This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-13 00:54:02 +04:00
INSTALL_DIRS += \
$( sysusersdir)
e n d i f
2014-07-29 18:44:04 +04:00
# ------------------------------------------------------------------------------
dist_factory_etc_DATA = \
factory/etc/nsswitch.conf
2014-09-26 01:12:03 +04:00
i f H A V E _ P A M
2014-07-29 18:44:04 +04:00
dist_factory_pam_DATA = \
factory/etc/pam.d/system-auth \
factory/etc/pam.d/other
2014-09-26 01:12:03 +04:00
e n d i f
2014-07-29 18:44:04 +04:00
2014-07-07 17:05:37 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ F I R S T B O O T
systemd_firstboot_SOURCES = \
src/firstboot/firstboot.c
systemd_firstboot_LDADD = \
libsystemd-units.la \
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la \
-lcrypt
rootbin_PROGRAMS += \
systemd-firstboot
nodist_systemunit_DATA += \
units/systemd-firstboot.service
EXTRA_DIST += \
units/systemd-firstboot.service.in
2014-07-07 21:25:31 +04:00
SYSINIT_TARGET_WANTS += \
systemd-firstboot.service
2014-07-07 17:05:37 +04:00
e n d i f
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_machine_id_setup_SOURCES = \
2012-04-12 19:53:19 +04:00
src/machine-id-setup/machine-id-setup-main.c \
2012-04-12 20:16:14 +04:00
src/core/machine-id-setup.c \
src/core/machine-id-setup.h
2011-12-31 11:53:06 +04:00
2011-12-31 12:17:48 +04:00
systemd_machine_id_setup_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-31 11:53:06 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_sysctl_SOURCES = \
2012-04-12 19:15:18 +04:00
src/sysctl/sysctl.c
2011-12-31 11:53:06 +04:00
2011-12-31 12:17:48 +04:00
systemd_sysctl_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2011-12-31 11:53:06 +04:00
2012-05-05 04:06:58 +04:00
# ------------------------------------------------------------------------------
systemd_sleep_SOURCES = \
src/sleep/sleep.c
systemd_sleep_LDADD = \
libsystemd-shared.la
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_fsck_SOURCES = \
2012-04-12 19:15:18 +04:00
src/fsck/fsck.c
2011-10-07 23:06:39 +04:00
2011-12-31 12:17:48 +04:00
systemd_fsck_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-21 05:40:59 +04:00
2014-11-24 11:54:18 +03:00
# ------------------------------------------------------------------------------
systemd_machine_id_commit_SOURCES = \
src/machine-id-commit/machine-id-commit.c \
src/core/machine-id-setup.c \
src/core/machine-id-setup.h
systemd_machine_id_commit_LDADD = \
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-11-24 12:12:06 +03:00
SYSINIT_TARGET_WANTS += \
systemd-machine-id-commit.service
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_ac_power_SOURCES = \
2012-04-12 19:15:18 +04:00
src/ac-power/ac-power.c
2010-04-05 00:53:42 +04:00
2011-12-31 12:17:48 +04:00
systemd_ac_power_LDADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2010-04-05 00:53:42 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_detect_virt_SOURCES = \
2012-04-12 19:15:18 +04:00
src/detect-virt/detect-virt.c
2010-08-11 03:43:23 +04:00
2011-12-31 12:17:48 +04:00
systemd_detect_virt_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2011-12-31 11:36:52 +04:00
2012-10-10 00:25:32 +04:00
INSTALL_EXEC_HOOKS += \
systemd-detect-virt-install-hook
2012-05-16 05:23:28 +04:00
# ------------------------------------------------------------------------------
systemd_delta_SOURCES = \
src/delta/delta.c
systemd_delta_LDADD = \
libsystemd-shared.la
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_getty_generator_SOURCES = \
2012-04-12 19:15:18 +04:00
src/getty-generator/getty-generator.c
2010-08-16 17:37:52 +04:00
2011-12-31 12:17:48 +04:00
systemd_getty_generator_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2011-12-31 11:36:52 +04:00
2014-06-19 18:10:55 +04:00
# ------------------------------------------------------------------------------
systemd_debug_generator_SOURCES = \
src/debug-generator/debug-generator.c
systemd_debug_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
2012-05-22 21:23:33 +04:00
# ------------------------------------------------------------------------------
systemd_fstab_generator_SOURCES = \
src/fstab-generator/fstab-generator.c \
src/core/mount-setup.c
systemd_fstab_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
2012-05-22 21:48:51 +04:00
# ------------------------------------------------------------------------------
systemd_system_update_generator_SOURCES = \
src/system-update-generator/system-update-generator.c
systemd_system_update_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
2014-08-27 00:17:45 +04:00
# ------------------------------------------------------------------------------
2014-09-02 14:31:49 +04:00
i f E N A B L E _ H I B E R N A T E
systemgenerator_PROGRAMS += \
2014-09-09 01:40:51 +04:00
systemd-hibernate-resume-generator
2014-09-02 14:31:49 +04:00
rootlibexec_PROGRAMS += \
2014-09-09 01:40:51 +04:00
systemd-hibernate-resume
2014-09-02 14:31:49 +04:00
systemd_hibernate_resume_SOURCES = \
2014-09-09 01:40:51 +04:00
src/hibernate-resume/hibernate-resume.c
2014-09-02 14:31:49 +04:00
systemd_hibernate_resume_LDADD = \
2014-09-09 01:40:51 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-09-02 14:31:49 +04:00
2014-08-27 00:17:45 +04:00
systemd_hibernate_resume_generator_SOURCES = \
2014-09-04 23:40:00 +04:00
src/hibernate-resume/hibernate-resume-generator.c
2014-08-27 00:17:45 +04:00
systemd_hibernate_resume_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
2014-09-02 14:31:49 +04:00
EXTRA_DIST += \
2014-09-09 01:40:51 +04:00
units/systemd-hibernate.service.in \
units/systemd-hibernate-resume@.service.in \
units/systemd-hybrid-sleep.service.in
2014-09-02 14:31:49 +04:00
dist_systemunit_DATA += \
2014-09-09 01:40:51 +04:00
units/hibernate.target \
units/hybrid-sleep.target
2014-09-02 14:31:49 +04:00
nodist_systemunit_DATA += \
2014-09-09 01:40:51 +04:00
units/systemd-hibernate.service \
units/systemd-hibernate-resume@.service \
units/systemd-hybrid-sleep.service
2014-09-02 14:31:49 +04:00
e n d i f
2013-06-03 17:54:58 +04:00
# ------------------------------------------------------------------------------
2014-09-02 14:31:49 +04:00
i f E N A B L E _ E F I
2013-02-14 02:07:59 +04:00
systemgenerator_PROGRAMS += \
systemd-efi-boot-generator
2013-01-21 04:02:53 +04:00
systemd_efi_boot_generator_SOURCES = \
src/efi-boot-generator/efi-boot-generator.c
systemd_efi_boot_generator_LDADD = \
libsystemd-label.la \
libsystemd-shared.la
2013-06-03 17:54:58 +04:00
# ------------------------------------------------------------------------------
2015-02-22 12:28:34 +03:00
i f H A V E _ B L K I D
2013-06-03 17:54:58 +04:00
bootctl_SOURCES = \
2015-02-08 19:18:30 +03:00
src/boot/bootctl.c
bootctl_CPPFLAGS = \
$( AM_CPPFLAGS) \
-DEFI_MACHINE_TYPE_NAME= \" $( EFI_MACHINE_TYPE_NAME) \" \
2015-02-17 22:12:50 +03:00
-DBOOTLIBDIR= \" $( bootlibdir) \"
2015-02-08 19:18:30 +03:00
bootctl_CFLAGS = \
$( AM_CFLAGS) \
$( BLKID_CFLAGS)
2013-06-03 17:54:58 +04:00
bootctl_LDADD = \
2015-04-06 11:57:17 +03:00
libsystemd-label.la \
2013-06-03 17:54:58 +04:00
libsystemd-shared.la \
2015-02-08 19:18:30 +03:00
libsystemd-internal.la \
$( BLKID_LIBS)
2013-06-03 17:54:58 +04:00
bin_PROGRAMS += \
bootctl
2013-11-14 08:02:23 +04:00
2014-02-21 02:12:02 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/bootctl
2013-11-14 08:02:23 +04:00
dist_zshcompletion_DATA += \
shell-completion/zsh/_bootctl
2015-02-22 12:28:34 +03:00
e n d i f
2013-11-14 08:02:23 +04:00
2015-02-08 14:25:35 +03:00
# ------------------------------------------------------------------------------
2015-02-17 20:01:10 +03:00
i f H A V E _ G N U E F I
2015-02-08 14:25:35 +03:00
efi_cppflags = \
$( EFI_CPPFLAGS) \
-I$( top_builddir) -include config.h \
-I$( EFI_INC_DIR) /efi \
-I$( EFI_INC_DIR) /efi/$( EFI_ARCH) \
-DEFI_MACHINE_TYPE_NAME= \" $( EFI_MACHINE_TYPE_NAME) \"
efi_cflags = \
$( EFI_CFLAGS) \
-Wall \
-Wextra \
2015-02-26 03:55:32 +03:00
-std= gnu90 \
2015-02-08 14:25:35 +03:00
-nostdinc \
-ggdb -O0 \
-fpic \
-fshort-wchar \
-nostdinc \
-ffreestanding \
-fno-strict-aliasing \
-fno-stack-protector \
-Wsign-compare \
2015-04-11 11:23:22 +03:00
-Wno-missing-field-initializers
2015-02-08 14:25:35 +03:00
i f A R C H _ X 8 6 _ 6 4
efi_cflags += \
-mno-red-zone \
2015-04-11 11:23:22 +03:00
-mno-sse \
-mno-mmx \
2015-02-08 14:25:35 +03:00
-DEFI_FUNCTION_WRAPPER \
2015-02-26 03:55:32 +03:00
-DGNU_EFI_USE_MS_ABI
2015-02-08 14:25:35 +03:00
e n d i f
2015-04-11 11:23:22 +03:00
i f A R C H _ I A 3 2
efi_cflags += \
-mno-sse \
-mno-mmx
e n d i f
2015-02-08 14:25:35 +03:00
efi_ldflags = \
$( EFI_LDFLAGS) \
-T $( EFI_LDS_DIR) /elf_$( EFI_ARCH) _efi.lds \
-shared \
-Bsymbolic \
-nostdlib \
-znocombreloc \
-L $( EFI_LIB_DIR) \
$( EFI_LDS_DIR) /crt0-efi-$( EFI_ARCH) .o
2015-04-11 11:23:26 +03:00
# Aarch64 and ARM32 don't have an EFI capable objcopy. Use 'binary' instead,
# and add required symbols manually.
i f A R C H _ A A R C H 6 4
efi_ldflags += --defsym= EFI_SUBSYSTEM = 0xa
EFI_FORMAT = -O binary
e l s e
EFI_FORMAT = --target= efi-app-$( EFI_ARCH)
e n d i f
2015-02-08 14:25:35 +03:00
# ------------------------------------------------------------------------------
2015-02-17 22:12:50 +03:00
systemd_boot_headers = \
src/boot/efi/util.h \
src/boot/efi/console.h \
src/boot/efi/graphics.h \
src/boot/efi/pefile.h
systemd_boot_sources = \
src/boot/efi/util.c \
src/boot/efi/console.c \
src/boot/efi/graphics.c \
src/boot/efi/pefile.c \
src/boot/efi/boot.c
systemd_boot_objects = $( addprefix $( top_builddir) /,$( systemd_boot_sources:.c= .o) )
systemd_boot_solib = $( top_builddir) /src/boot/efi/systemd_boot.so
systemd_boot = systemd-boot$( EFI_MACHINE_TYPE_NAME) .efi
bootlib_DATA = $( systemd_boot)
CLEANFILES += $( systemd_boot_objects) $( systemd_boot_solib) $( systemd_boot)
EXTRA_DIST += $( systemd_boot_sources) $( systemd_boot_headers)
$(top_builddir)/src/boot/efi/%.o : $( top_srcdir ) /src /boot /efi /%.c $( addprefix $ ( top_srcdir ) /,$ ( systemd_boot_headers ) )
@$( MKDIR_P) $( top_builddir) /src/boot/efi/
2015-02-08 14:25:35 +03:00
$( AM_V_CC) $( EFI_CC) $( efi_cppflags) $( efi_cflags) -c $< -o $@
2015-02-17 22:12:50 +03:00
$(systemd_boot_solib) : $( systemd_boot_objects )
$( AM_V_CCLD) $( LD) $( efi_ldflags) $( systemd_boot_objects) \
2015-02-08 14:25:35 +03:00
-o $@ -lefi -lgnuefi $( shell $( CC) -print-libgcc-file-name) ; \
nm -D -u $@ | grep ' U ' && exit 1 || :
2015-02-17 22:12:50 +03:00
$(systemd_boot) : $( systemd_boot_solib )
2015-04-08 23:33:54 +03:00
$( AM_V_GEN) $( OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
2015-04-11 11:23:26 +03:00
-j .dynsym -j .rel -j .rela -j .reloc $( EFI_FORMAT) $< $@
2015-02-08 14:25:35 +03:00
# ------------------------------------------------------------------------------
stub_headers = \
2015-02-17 22:12:50 +03:00
src/boot/efi/util.h \
src/boot/efi/pefile.h \
2015-02-26 20:33:37 +03:00
src/boot/efi/graphics.h \
2015-02-26 21:45:08 +03:00
src/boot/efi/splash.h \
2015-02-17 22:12:50 +03:00
src/boot/efi/linux.h
2015-02-08 14:25:35 +03:00
stub_sources = \
2015-02-17 22:12:50 +03:00
src/boot/efi/util.c \
src/boot/efi/pefile.c \
2015-02-26 20:33:37 +03:00
src/boot/efi/graphics.c \
2015-02-26 21:45:08 +03:00
src/boot/efi/splash.c \
2015-02-17 22:12:50 +03:00
src/boot/efi/linux.c \
src/boot/efi/stub.c
2015-02-08 14:25:35 +03:00
stub_objects = $( addprefix $( top_builddir) /,$( stub_sources:.c= .o) )
2015-02-17 22:12:50 +03:00
stub_solib = $( top_builddir) /src/boot/efi/stub.so
2015-02-08 14:25:35 +03:00
stub = linux$( EFI_MACHINE_TYPE_NAME) .efi.stub
2015-02-17 22:12:50 +03:00
bootlib_DATA += $( stub)
2015-02-08 14:25:35 +03:00
CLEANFILES += $( stub_objects) $( stub_solib) $( stub)
EXTRA_DIST += $( stub_sources) $( stub_headers)
2015-02-17 22:12:50 +03:00
$(top_builddir)/src/boot/efi/%.o : $( top_srcdir ) /src /boot /efi /%.c $( addprefix $ ( top_srcdir ) /,$ ( stub_headers ) )
@$( MKDIR_P) $( top_builddir) /src/boot/efi/
2015-02-08 14:25:35 +03:00
$( AM_V_CC) $( EFI_CC) $( efi_cppflags) $( efi_cflags) -c $< -o $@
$(stub_solib) : $( stub_objects )
$( AM_V_CCLD) $( LD) $( efi_ldflags) $( stub_objects) \
-o $@ -lefi -lgnuefi $( shell $( CC) -print-libgcc-file-name) ; \
nm -D -u $@ | grep ' U ' && exit 1 || :
$(stub) : $( stub_solib )
2015-04-08 23:33:54 +03:00
$( AM_V_GEN) $( OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
2015-04-11 11:23:26 +03:00
-j .dynsym -j .rel -j .rela -j .reloc $( EFI_FORMAT) $< $@
2015-02-08 14:25:35 +03:00
# ------------------------------------------------------------------------------
CLEANFILES += test-efi-disk.img
EXTRA_DIST += test/test-efi-create-disk.sh
2015-02-17 22:12:50 +03:00
test-efi-disk.img : $( systemd_boot ) $( stub ) test /test -efi -create -disk .sh
2015-02-08 14:25:35 +03:00
$( AM_V_GEN) test/test-efi-create-disk.sh
test-efi : test -efi -disk .img
$( QEMU) -machine accel = kvm -m 1024 -bios $( QEMU_BIOS) -snapshot test-efi-disk.img
2013-02-14 02:07:59 +04:00
e n d i f
2015-02-17 20:01:10 +03:00
e n d i f
2013-01-21 04:02:53 +04:00
2013-08-13 12:13:45 +04:00
# ------------------------------------------------------------------------------
2013-09-07 20:25:07 +04:00
i f H A V E _ B L K I D
2013-08-13 12:13:45 +04:00
systemgenerator_PROGRAMS += \
systemd-gpt-auto-generator
systemd_gpt_auto_generator_SOURCES = \
2014-03-10 23:35:52 +04:00
src/gpt-auto-generator/gpt-auto-generator.c \
src/shared/blkid-util.h
2013-08-13 12:13:45 +04:00
systemd_gpt_auto_generator_LDADD = \
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la \
2013-08-13 12:13:45 +04:00
$( BLKID_LIBS)
systemd_gpt_auto_generator_CFLAGS = \
$( AM_CFLAGS) \
$( BLKID_CFLAGS)
2013-09-07 20:25:07 +04:00
e n d i f
2013-08-13 12:13:45 +04:00
2013-12-03 04:13:03 +04:00
# ------------------------------------------------------------------------------
2014-01-17 16:34:35 +04:00
i f E N A B L E _ K D B U S
2013-12-03 04:13:03 +04:00
systemgenerator_PROGRAMS += \
systemd-dbus1-generator
systemd_dbus1_generator_SOURCES = \
src/dbus1-generator/dbus1-generator.c
systemd_dbus1_generator_LDADD = \
libsystemd-label.la \
2014-12-10 21:46:00 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-12-03 04:13:03 +04:00
2014-01-08 14:10:39 +04:00
dbus1-generator-install-hook :
2014-02-14 04:52:40 +04:00
$( AM_V_at) $( MKDIR_P) $( DESTDIR) $( usergeneratordir)
2014-03-04 02:47:40 +04:00
$( AM_V_RM) rm -f $( DESTDIR) $( usergeneratordir) /systemd-dbus1-generator
2014-03-03 20:10:16 +04:00
$( AM_V_LN) $( LN_S) --relative -f $( DESTDIR) $( systemgeneratordir) /systemd-dbus1-generator $( DESTDIR) $( usergeneratordir) /systemd-dbus1-generator
2014-01-08 14:10:39 +04:00
dbus1-generator-uninstall-hook :
rm -f $( DESTDIR) $( usergeneratordir) /systemd-dbus1-generator
2015-01-09 23:23:48 +03:00
dist_xinitrc_SCRIPTS = \
xorg/50-systemd-user.sh
2014-01-08 14:10:39 +04:00
INSTALL_EXEC_HOOKS += dbus1-generator-install-hook
UNINSTALL_EXEC_HOOKS += dbus1-generator-uninstall-hook
2014-01-17 16:34:35 +04:00
e n d i f
2014-01-08 14:10:39 +04:00
2014-05-23 02:37:39 +04:00
# ------------------------------------------------------------------------------
systemd_sysv_generator_SOURCES = \
src/sysv-generator/sysv-generator.c
systemd_sysv_generator_LDADD = \
libsystemd-core.la \
libsystemd-label.la \
libsystemd-shared.la
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_rc_local_generator_SOURCES = \
2012-04-12 19:15:18 +04:00
src/rc-local-generator/rc-local-generator.c
2011-12-31 11:36:52 +04:00
2011-12-31 12:17:48 +04:00
systemd_rc_local_generator_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2011-12-31 11:36:52 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2012-04-24 18:42:42 +04:00
systemd_remount_fs_SOURCES = \
src/remount-fs/remount-fs.c \
2012-04-12 20:16:14 +04:00
src/core/mount-setup.c \
src/core/mount-setup.h
2011-12-31 10:40:31 +04:00
2012-04-24 18:42:42 +04:00
systemd_remount_fs_LDADD = \
2012-08-08 14:28:45 +04:00
libsystemd-label.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2011-12-31 10:40:31 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_cgroups_agent_SOURCES = \
2012-04-12 19:15:18 +04:00
src/cgroups-agent/cgroups-agent.c
2011-04-16 04:02:54 +04:00
2011-12-31 12:17:48 +04:00
systemd_cgroups_agent_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2011-04-16 04:02:54 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2014-06-04 03:57:11 +04:00
systemd_escape_SOURCES = \
src/escape/escape.c
systemd_escape_LDADD = \
libsystemd-shared.la
# -----------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemctl_SOURCES = \
2012-04-12 19:15:18 +04:00
src/systemctl/systemctl.c
2011-06-15 17:37:39 +04:00
2011-12-31 12:17:48 +04:00
systemctl_LDADD = \
2012-06-01 00:12:47 +04:00
libsystemd-units.la \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2014-01-19 09:12:20 +04:00
libsystemd-logs.la \
2013-11-07 17:59:16 +04:00
libsystemd-journal-internal.la \
libsystemd-shared.la
2011-06-15 17:37:39 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_notify_SOURCES = \
2014-08-26 23:17:22 +04:00
src/notify/notify.c
2011-12-31 09:50:34 +04:00
2011-12-31 12:17:48 +04:00
systemd_notify_LDADD = \
2014-02-18 21:50:11 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-31 10:21:37 +04:00
2014-07-02 14:23:36 +04:00
# ------------------------------------------------------------------------------
systemd_path_SOURCES = \
src/path/path.c
systemd_path_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_ask_password_SOURCES = \
2012-04-12 19:15:18 +04:00
src/ask-password/ask-password.c
2011-12-31 10:21:37 +04:00
2011-12-31 12:17:48 +04:00
systemd_ask_password_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2011-12-31 10:21:37 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_reply_password_SOURCES = \
2012-04-12 19:15:18 +04:00
src/reply-password/reply-password.c
2011-12-31 10:21:37 +04:00
2011-12-31 12:17:48 +04:00
systemd_reply_password_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2011-12-31 09:50:34 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_cgls_SOURCES = \
2012-04-12 19:15:18 +04:00
src/cgls/cgls.c
2011-12-31 09:20:34 +04:00
2011-12-31 12:17:48 +04:00
systemd_cgls_LDADD = \
2014-04-10 13:33:12 +04:00
libsystemd-internal.la \
2012-04-11 14:30:53 +04:00
libsystemd-shared.la
2011-12-31 09:20:34 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2012-01-22 21:21:15 +04:00
systemd_cgtop_SOURCES = \
2012-04-12 19:15:18 +04:00
src/cgtop/cgtop.c
2012-01-22 21:21:15 +04:00
systemd_cgtop_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-shared.la
2012-01-22 21:21:15 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_nspawn_SOURCES = \
2012-04-12 20:16:14 +04:00
src/nspawn/nspawn.c \
src/core/mount-setup.c \
src/core/mount-setup.h \
src/core/loopback-setup.c \
2012-12-23 14:27:20 +04:00
src/core/loopback-setup.h
2011-12-31 09:20:34 +04:00
2014-02-19 01:14:00 +04:00
systemd_nspawn_CFLAGS = \
$( AM_CFLAGS) \
2014-03-10 23:35:52 +04:00
$( SECCOMP_CFLAGS) \
$( BLKID_CFLAGS)
2014-02-19 01:14:00 +04:00
2011-12-31 12:17:48 +04:00
systemd_nspawn_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-02-13 17:38:02 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2014-03-10 23:35:52 +04:00
libsystemd-shared.la \
$( BLKID_LIBS)
2014-02-20 19:07:08 +04:00
i f H A V E _ S E C C O M P
systemd_nspawn_LDADD += \
2014-02-19 01:14:00 +04:00
libsystemd-seccomp.la \
2014-02-13 23:30:02 +04:00
$( SECCOMP_LIBS)
2014-02-20 19:07:08 +04:00
e n d i f
2011-12-31 09:20:34 +04:00
2015-01-13 15:51:51 +03:00
i f H A V E _ L I B I P T C
systemd_nspawn_LDADD += \
libsystemd-fw.la
e n d i f
2013-06-28 06:12:58 +04:00
# ------------------------------------------------------------------------------
systemd_run_SOURCES = \
src/run/run.c
systemd_run_LDADD = \
libsystemd-label.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-06-28 06:12:58 +04:00
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2015-01-16 16:45:34 +03:00
noinst_LTLIBRARIES += \
libsystemd-proxy.la
libsystemd_proxy_la_SOURCES = \
2014-12-23 20:36:04 +03:00
src/bus-proxyd/bus-xml-policy.c \
2015-01-15 15:56:44 +03:00
src/bus-proxyd/bus-xml-policy.h \
src/bus-proxyd/driver.c \
src/bus-proxyd/driver.h \
2015-01-16 16:19:19 +03:00
src/bus-proxyd/proxy.c \
src/bus-proxyd/proxy.h \
2015-01-15 15:56:44 +03:00
src/bus-proxyd/synthesize.c \
src/bus-proxyd/synthesize.h
2011-12-31 09:20:34 +04:00
2015-01-17 20:07:58 +03:00
libsystemd_proxy_la_CFLAGS = \
$( AM_CFLAGS) \
-pthread
2015-01-16 16:45:34 +03:00
libsystemd_proxy_la_LIBADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-31 09:20:34 +04:00
2015-01-16 16:45:34 +03:00
systemd_bus_proxyd_SOURCES = \
src/bus-proxyd/bus-proxyd.c
2015-01-17 15:57:46 +03:00
systemd_bus_proxyd_CFLAGS = \
$( AM_CFLAGS) \
-pthread
2015-01-16 16:45:34 +03:00
systemd_bus_proxyd_LDADD = \
libsystemd-proxy.la \
libsystemd-internal.la \
libsystemd-shared.la
2013-11-30 00:54:44 +04:00
2015-01-16 16:45:34 +03:00
systemd_stdio_bridge_SOURCES = \
src/bus-proxyd/stdio-bridge.c
2013-11-30 00:54:44 +04:00
2015-01-16 16:45:34 +03:00
systemd_stdio_bridge_LDADD = \
libsystemd-proxy.la \
libsystemd-internal.la \
libsystemd-shared.la
2013-12-13 23:29:35 +04:00
2014-09-26 03:02:42 +04:00
i f E N A B L E _ K D B U S
2013-12-13 23:29:35 +04:00
nodist_systemunit_DATA += \
2015-01-17 15:57:46 +03:00
units/systemd-bus-proxyd.service
2013-12-13 23:29:35 +04:00
dist_systemunit_DATA += \
units/systemd-bus-proxyd.socket
2014-10-04 15:11:40 +04:00
nodist_userunit_DATA += \
2015-01-17 15:57:46 +03:00
units/user/systemd-bus-proxyd.service
2014-10-04 15:11:40 +04:00
dist_userunit_DATA += \
units/user/systemd-bus-proxyd.socket
2013-12-17 04:36:59 +04:00
e n d i f
2013-12-13 23:29:35 +04:00
EXTRA_DIST += \
2015-01-17 15:57:46 +03:00
units/systemd-bus-proxyd.service.m4.in \
units/user/systemd-bus-proxyd.service.in
2013-12-13 23:29:35 +04:00
2014-12-09 14:17:24 +03:00
i f H A V E _ S M A C K
bus-proxyd-set-cap-hook :
2014-12-10 02:40:23 +03:00
-$( SETCAP) cap_mac_admin+ei $( DESTDIR) $( rootlibexecdir) /systemd-bus-proxyd
2014-12-09 14:17:24 +03:00
INSTALL_EXEC_HOOKS += bus-proxyd-set-cap-hook
e n d i f
2012-04-10 15:39:02 +04:00
# ------------------------------------------------------------------------------
2011-12-31 12:17:48 +04:00
systemd_tty_ask_password_agent_SOURCES = \
2012-04-12 19:15:18 +04:00
src/tty-ask-password-agent/tty-ask-password-agent.c
2011-12-31 09:02:42 +04:00
2011-12-31 12:17:48 +04:00
systemd_tty_ask_password_agent_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2011-12-31 12:17:48 +04:00
2013-03-19 23:03:16 +04:00
# ------------------------------------------------------------------------------
2014-02-19 19:33:09 +04:00
libsystemd_internal_la_SOURCES = \
2013-03-31 20:15:59 +04:00
src/systemd/sd-bus.h \
src/systemd/sd-bus-protocol.h \
2013-10-09 05:39:57 +04:00
src/systemd/sd-bus-vtable.h \
2013-11-07 06:07:37 +04:00
src/systemd/sd-utf8.h \
2013-11-07 06:20:40 +04:00
src/systemd/sd-event.h \
2014-01-13 23:14:44 +04:00
src/systemd/sd-rtnl.h \
2014-01-14 21:18:43 +04:00
src/systemd/sd-resolve.h \
2014-01-19 09:12:20 +04:00
src/systemd/sd-login.h \
2014-01-26 01:05:08 +04:00
src/systemd/sd-id128.h \
2014-02-18 21:50:11 +04:00
src/systemd/sd-daemon.h \
2014-07-02 14:23:36 +04:00
src/systemd/sd-path.h \
2014-08-12 04:12:05 +04:00
src/systemd/sd-network.h \
2014-12-03 19:02:34 +03:00
src/systemd/sd-hwdb.h \
2015-04-01 14:50:31 +03:00
src/systemd/sd-device.h \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/sd-bus.c \
src/libsystemd/sd-bus/bus-control.c \
src/libsystemd/sd-bus/bus-control.h \
src/libsystemd/sd-bus/bus-error.c \
src/libsystemd/sd-bus/bus-error.h \
2014-12-10 21:00:46 +03:00
src/libsystemd/sd-bus/bus-common-errors.h \
src/libsystemd/sd-bus/bus-common-errors.c \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/bus-internal.c \
src/libsystemd/sd-bus/bus-internal.h \
src/libsystemd/sd-bus/bus-socket.c \
src/libsystemd/sd-bus/bus-socket.h \
src/libsystemd/sd-bus/bus-kernel.c \
src/libsystemd/sd-bus/bus-kernel.h \
src/libsystemd/sd-bus/bus-container.c \
src/libsystemd/sd-bus/bus-container.h \
src/libsystemd/sd-bus/bus-message.c \
src/libsystemd/sd-bus/bus-message.h \
src/libsystemd/sd-bus/bus-creds.c \
src/libsystemd/sd-bus/bus-creds.h \
src/libsystemd/sd-bus/bus-signature.c \
src/libsystemd/sd-bus/bus-signature.h \
src/libsystemd/sd-bus/bus-type.c \
src/libsystemd/sd-bus/bus-type.h \
src/libsystemd/sd-bus/bus-match.c \
src/libsystemd/sd-bus/bus-match.h \
src/libsystemd/sd-bus/bus-bloom.c \
src/libsystemd/sd-bus/bus-bloom.h \
src/libsystemd/sd-bus/bus-introspect.c \
src/libsystemd/sd-bus/bus-introspect.h \
src/libsystemd/sd-bus/bus-objects.c \
src/libsystemd/sd-bus/bus-objects.h \
src/libsystemd/sd-bus/bus-gvariant.c \
src/libsystemd/sd-bus/bus-gvariant.h \
src/libsystemd/sd-bus/bus-convenience.c \
2014-03-03 04:33:45 +04:00
src/libsystemd/sd-bus/bus-track.c \
src/libsystemd/sd-bus/bus-track.h \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/bus-util.c \
src/libsystemd/sd-bus/bus-util.h \
2014-05-15 03:15:30 +04:00
src/libsystemd/sd-bus/bus-slot.c \
src/libsystemd/sd-bus/bus-slot.h \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/bus-protocol.h \
src/libsystemd/sd-bus/kdbus.h \
src/libsystemd/sd-utf8/sd-utf8.c \
src/libsystemd/sd-event/sd-event.c \
src/libsystemd/sd-event/event-util.h \
src/libsystemd/sd-rtnl/sd-rtnl.c \
src/libsystemd/sd-rtnl/rtnl-internal.h \
src/libsystemd/sd-rtnl/rtnl-message.c \
2014-03-26 22:25:01 +04:00
src/libsystemd/sd-rtnl/rtnl-types.h \
src/libsystemd/sd-rtnl/rtnl-types.c \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-rtnl/rtnl-util.h \
src/libsystemd/sd-rtnl/rtnl-util.c \
2014-07-10 23:01:25 +04:00
src/libsystemd/sd-rtnl/local-addresses.h \
src/libsystemd/sd-rtnl/local-addresses.c \
2014-01-26 01:05:08 +04:00
src/libsystemd/sd-id128/sd-id128.c \
2014-02-18 21:50:11 +04:00
src/libsystemd/sd-daemon/sd-daemon.c \
2014-07-02 14:23:36 +04:00
src/libsystemd/sd-login/sd-login.c \
2014-08-12 04:12:05 +04:00
src/libsystemd/sd-path/sd-path.c \
src/libsystemd/sd-network/sd-network.c \
2014-08-12 18:58:56 +04:00
src/libsystemd/sd-network/network-util.h \
2014-12-03 19:02:34 +03:00
src/libsystemd/sd-network/network-util.c \
src/libsystemd/sd-hwdb/sd-hwdb.c \
src/libsystemd/sd-hwdb/hwdb-util.h \
2015-04-06 22:44:30 +03:00
src/libsystemd/sd-hwdb/hwdb-internal.h \
2015-04-01 14:50:31 +03:00
src/libsystemd/sd-device/device-internal.h \
src/libsystemd/sd-device/device-util.h \
2015-04-14 17:22:39 +03:00
src/libsystemd/sd-device/device-enumerator.c \
src/libsystemd/sd-device/device-enumerator-private.h \
2015-04-01 14:50:31 +03:00
src/libsystemd/sd-device/sd-device.c \
src/libsystemd/sd-device/device-private.c \
src/libsystemd/sd-device/device-private.h
2014-01-13 20:30:51 +04:00
2014-02-19 19:33:09 +04:00
nodist_libsystemd_internal_la_SOURCES = \
2014-10-31 03:31:48 +03:00
src/libsystemd/libsystemd.sym
2014-01-13 20:30:51 +04:00
2014-02-19 19:33:09 +04:00
libsystemd_internal_la_CFLAGS = \
2013-05-17 05:13:58 +04:00
$( AM_CFLAGS) \
2014-02-03 18:25:45 +04:00
-pthread
2013-05-17 05:13:58 +04:00
2014-02-22 01:21:50 +04:00
libsystemd_internal_la_LIBADD = \
$( RT_LIBS)
2014-03-26 02:04:13 +04:00
libsystemd_resolve_la_SOURCES = \
src/libsystemd/sd-resolve/sd-resolve.c \
src/libsystemd/sd-resolve/resolve-util.h
libsystemd_resolve_la_CFLAGS = \
$( AM_CFLAGS) \
-pthread
2014-04-29 17:44:31 +04:00
libsystemd_resolve_la_LIBADD = \
-lresolv
2014-02-19 19:33:09 +04:00
noinst_LTLIBRARIES += \
2014-03-26 02:04:13 +04:00
libsystemd-internal.la \
libsystemd-resolve.la
2014-02-19 19:33:09 +04:00
libsystemd_dump_la_SOURCES = \
src/libsystemd/sd-bus/bus-dump.c \
src/libsystemd/sd-bus/bus-dump.h
noinst_LTLIBRARIES += \
libsystemd-dump.la
EXTRA_DIST += \
2014-02-19 23:16:31 +04:00
src/libsystemd/libsystemd.sym.m4 \
src/libsystemd/libsystemd.pc.in \
2014-02-19 19:33:09 +04:00
src/libsystemd/sd-bus/DIFFERENCES \
2014-02-19 23:16:31 +04:00
src/libsystemd/sd-bus/GVARIANT-SERIALIZATION
2014-02-19 19:33:09 +04:00
2014-02-19 23:16:31 +04:00
BUILT_SOURCES += \
src/libsystemd/libsystemd.sym
2014-02-19 19:33:09 +04:00
libsystemd_la_SOURCES = \
$( libsystemd_internal_la_SOURCES) \
2014-03-26 02:04:13 +04:00
$( libsystemd_resolve_la_SOURCES) \
2014-02-19 19:33:09 +04:00
$( libsystemd_journal_internal_la_SOURCES)
nodist_libsystemd_la_SOURCES = \
$( nodist_libsystemd_internal_la_SOURCES)
libsystemd_la_CFLAGS = \
2014-02-19 21:30:14 +04:00
$( libsystemd_internal_la_CFLAGS) \
2014-04-29 17:44:31 +04:00
$( libsystemd_resolve_la_CFLAGS) \
2014-02-19 21:30:14 +04:00
$( libsystemd_journal_internal_la_CFLAGS)
2014-02-19 19:33:09 +04:00
2014-01-13 20:30:51 +04:00
libsystemd_la_LDFLAGS = \
2013-11-06 11:33:42 +04:00
$( AM_LDFLAGS) \
2014-01-17 16:43:25 +04:00
-version-info $( LIBSYSTEMD_CURRENT) :$( LIBSYSTEMD_REVISION) :$( LIBSYSTEMD_AGE) \
2014-02-19 23:16:31 +04:00
-Wl,--version-script= $( top_builddir) /src/libsystemd/libsystemd.sym
2013-11-06 11:33:42 +04:00
2014-02-19 19:33:09 +04:00
libsystemd_la_LIBADD = \
libsystemd-shared.la \
2014-04-29 17:44:31 +04:00
$( libsystemd_internal_la_LIBADD) \
2014-02-19 19:33:09 +04:00
$( libsystemd_journal_internal_la_LIBADD) \
2014-04-29 17:44:31 +04:00
$( libsystemd_resolve_la_LIBADD)
2014-02-19 19:33:09 +04:00
2014-02-20 18:02:39 +04:00
libsystemd-install-hook :
libname = libsystemd.so && $( move-to-rootlibdir)
libsystemd-uninstall-hook :
rm -f $( DESTDIR) $( rootlibdir) /libsystemd.so*
INSTALL_EXEC_HOOKS += libsystemd-install-hook
UNINSTALL_EXEC_HOOKS += libsystemd-uninstall-hook
2013-11-07 06:27:58 +04:00
pkgconfiglib_DATA += \
2014-01-13 20:30:51 +04:00
src/libsystemd/libsystemd.pc
2013-11-07 06:27:58 +04:00
2014-01-26 01:05:08 +04:00
pkginclude_HEADERS += \
src/systemd/sd-login.h \
2014-02-19 05:24:57 +04:00
src/systemd/sd-id128.h \
src/systemd/sd-daemon.h
i f E N A B L E _ K D B U S
pkginclude_HEADERS += \
src/systemd/sd-bus.h \
src/systemd/sd-bus-protocol.h \
src/systemd/sd-bus-vtable.h \
src/systemd/sd-utf8.h \
src/systemd/sd-event.h \
src/systemd/sd-rtnl.h \
2014-07-02 14:23:36 +04:00
src/systemd/sd-resolve.h \
src/systemd/sd-path.h
2014-02-19 05:24:57 +04:00
e n d i f
2014-01-26 01:05:08 +04:00
2013-11-06 11:33:42 +04:00
lib_LTLIBRARIES += \
2014-01-13 20:30:51 +04:00
libsystemd.la
2013-03-19 23:03:16 +04:00
2013-04-18 16:40:24 +04:00
tests += \
2013-03-19 23:03:16 +04:00
test-bus-marshal \
2013-03-21 01:56:25 +04:00
test-bus-signature \
2015-04-29 18:08:18 +03:00
test-bus-benchmark \
2013-03-30 18:21:06 +04:00
test-bus-chat \
2014-01-14 23:26:37 +04:00
test-bus-cleanup \
2013-03-31 18:16:37 +04:00
test-bus-server \
2013-04-12 02:26:12 +04:00
test-bus-match \
2013-05-10 16:34:57 +04:00
test-bus-kernel \
2013-05-20 02:21:56 +04:00
test-bus-kernel-bloom \
2013-10-09 04:37:10 +04:00
test-bus-zero-copy \
test-bus-introspect \
2013-10-10 06:40:28 +04:00
test-bus-objects \
2013-11-22 07:01:46 +04:00
test-bus-error \
2013-11-28 20:50:02 +04:00
test-bus-creds \
2013-12-05 05:46:54 +04:00
test-bus-gvariant \
2014-01-13 22:12:16 +04:00
test-event \
2014-01-14 00:03:28 +04:00
test-rtnl \
2014-12-03 23:42:58 +03:00
test-local-addresses \
2014-01-14 21:18:43 +04:00
test-resolve
2013-03-21 01:56:25 +04:00
2013-11-08 19:52:24 +04:00
bin_PROGRAMS += \
2013-03-21 01:56:25 +04:00
busctl
2013-03-19 23:03:16 +04:00
test_bus_marshal_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-marshal.c
2013-03-19 23:03:16 +04:00
test_bus_marshal_LDADD = \
2014-11-11 18:13:59 +03:00
libsystemd-dump.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-03-19 23:03:16 +04:00
libsystemd-shared.la \
$( GLIB_LIBS) \
2014-11-11 18:13:59 +03:00
$( DBUS_LIBS)
2013-03-19 23:03:16 +04:00
test_bus_marshal_CFLAGS = \
$( AM_CFLAGS) \
$( GLIB_CFLAGS) \
2014-11-11 18:13:59 +03:00
$( DBUS_CFLAGS)
2013-03-19 23:03:16 +04:00
test_bus_signature_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-signature.c
2013-03-19 23:03:16 +04:00
test_bus_signature_LDADD = \
2014-12-10 21:46:00 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-03-19 23:03:16 +04:00
2013-03-21 01:56:25 +04:00
test_bus_chat_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-chat.c
2013-03-21 01:56:25 +04:00
test_bus_chat_CFLAGS = \
$( AM_CFLAGS) \
-pthread
test_bus_chat_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-03-21 01:56:25 +04:00
2014-01-14 23:26:37 +04:00
test_bus_cleanup_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-cleanup.c
2014-01-14 23:26:37 +04:00
2014-02-22 21:47:28 +04:00
test_bus_cleanup_CFLAGS = \
$( AM_CFLAGS) \
$( SECCOMP_CFLAGS)
2014-01-14 23:26:37 +04:00
test_bus_cleanup_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la
2013-03-30 18:21:06 +04:00
test_bus_server_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-server.c
2013-03-30 18:21:06 +04:00
test_bus_server_CFLAGS = \
$( AM_CFLAGS) \
-pthread
test_bus_server_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-03-30 18:21:06 +04:00
2013-10-09 04:37:10 +04:00
test_bus_objects_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-objects.c
2013-10-09 04:37:10 +04:00
test_bus_objects_CFLAGS = \
$( AM_CFLAGS) \
-pthread
test_bus_objects_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-dump.la \
2014-11-11 18:13:59 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-10-09 04:37:10 +04:00
2013-11-22 07:01:46 +04:00
test_bus_error_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-error.c
2013-11-22 07:01:46 +04:00
test_bus_error_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-22 07:01:46 +04:00
libsystemd-shared.la
2013-12-05 05:46:54 +04:00
test_bus_gvariant_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-gvariant.c
2013-12-05 05:46:54 +04:00
test_bus_gvariant_LDADD = \
2014-11-11 18:13:59 +03:00
libsystemd-dump.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-12-05 05:46:54 +04:00
libsystemd-shared.la \
2014-11-11 18:13:59 +03:00
$( GLIB_LIBS)
2013-12-05 05:46:54 +04:00
test_bus_gvariant_CFLAGS = \
$( AM_CFLAGS) \
$( GLIB_CFLAGS)
2013-11-28 20:50:02 +04:00
test_bus_creds_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-creds.c
2013-11-28 20:50:02 +04:00
test_bus_creds_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-dump.la \
2014-11-11 18:13:59 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-11-28 20:50:02 +04:00
2013-03-31 18:16:37 +04:00
test_bus_match_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-match.c
2013-03-31 18:16:37 +04:00
test_bus_match_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-04-12 02:26:12 +04:00
test_bus_kernel_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-kernel.c
2013-04-12 02:26:12 +04:00
test_bus_kernel_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-dump.la \
2014-11-11 18:13:59 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-03-31 18:16:37 +04:00
2013-05-20 02:21:56 +04:00
test_bus_kernel_bloom_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-kernel-bloom.c
2013-05-20 02:21:56 +04:00
test_bus_kernel_bloom_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-05-20 02:21:56 +04:00
2015-04-29 18:08:18 +03:00
test_bus_benchmark_SOURCES = \
src/libsystemd/sd-bus/test-bus-benchmark.c
2013-05-22 18:02:21 +04:00
2015-04-29 18:08:18 +03:00
test_bus_benchmark_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-05-22 18:02:21 +04:00
2013-05-15 21:45:05 +04:00
test_bus_zero_copy_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-zero-copy.c
2013-05-15 21:45:05 +04:00
test_bus_zero_copy_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-dump.la \
2014-11-11 18:13:59 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-05-15 21:45:05 +04:00
2013-10-09 04:37:10 +04:00
test_bus_introspect_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-bus/test-bus-introspect.c
2013-10-09 04:37:10 +04:00
test_bus_introspect_LDADD = \
2014-02-23 03:46:26 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2013-10-09 04:37:10 +04:00
2013-10-10 06:40:28 +04:00
test_event_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-event/test-event.c
2013-10-10 06:40:28 +04:00
test_event_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-10-10 06:40:28 +04:00
2014-01-13 23:14:44 +04:00
test_rtnl_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-rtnl/test-rtnl.c
2014-01-13 23:14:44 +04:00
test_rtnl_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la
2014-12-03 23:42:58 +03:00
test_local_addresses_SOURCES = \
src/libsystemd/sd-rtnl/test-local-addresses.c
test_local_addresses_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la
2014-01-14 21:18:43 +04:00
test_resolve_SOURCES = \
2014-01-21 17:10:18 +04:00
src/libsystemd/sd-resolve/test-resolve.c
2014-01-14 00:03:28 +04:00
2014-01-14 21:18:43 +04:00
test_resolve_LDADD = \
2014-03-26 02:04:13 +04:00
libsystemd-resolve.la \
2014-04-29 17:44:31 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-01-14 00:03:28 +04:00
2014-01-14 21:18:43 +04:00
test_resolve_CFLAGS = \
2014-01-14 00:03:28 +04:00
$( AM_CFLAGS) \
-pthread
2013-03-21 01:56:25 +04:00
busctl_SOURCES = \
2014-11-19 18:42:21 +03:00
src/libsystemd/sd-bus/busctl.c \
src/libsystemd/sd-bus/busctl-introspect.c \
src/libsystemd/sd-bus/busctl-introspect.h
2013-03-21 01:56:25 +04:00
busctl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-dump.la \
2014-11-11 18:13:59 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2013-03-21 01:56:25 +04:00
2014-01-21 02:40:30 +04:00
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
2014-02-27 04:24:05 +04:00
libsystemd-network.la
2014-01-21 02:40:30 +04:00
2014-05-14 03:35:20 +04:00
libsystemd_network_la_CFLAGS = \
$( AM_CFLAGS) \
$( KMOD_CFLAGS)
2014-02-27 04:24:05 +04:00
libsystemd_network_la_SOURCES = \
2014-01-21 02:40:30 +04:00
src/systemd/sd-dhcp-client.h \
2014-05-24 20:48:41 +04:00
src/systemd/sd-dhcp-server.h \
2014-02-27 04:24:05 +04:00
src/systemd/sd-dhcp-lease.h \
2014-02-28 19:10:20 +04:00
src/systemd/sd-ipv4ll.h \
2014-08-12 04:12:05 +04:00
src/systemd/sd-icmp6-nd.h \
src/systemd/sd-dhcp6-client.h \
src/systemd/sd-dhcp6-lease.h \
2014-10-31 02:02:57 +03:00
src/systemd/sd-pppoe.h \
2014-12-24 02:03:21 +03:00
src/systemd/sd-lldp.h \
2014-02-27 04:24:05 +04:00
src/libsystemd-network/sd-dhcp-client.c \
2014-05-24 20:48:41 +04:00
src/libsystemd-network/sd-dhcp-server.c \
2014-02-27 04:24:05 +04:00
src/libsystemd-network/dhcp-network.c \
src/libsystemd-network/dhcp-option.c \
src/libsystemd-network/dhcp-packet.c \
src/libsystemd-network/dhcp-internal.h \
2014-05-24 20:48:41 +04:00
src/libsystemd-network/dhcp-server-internal.h \
2014-02-27 04:24:05 +04:00
src/libsystemd-network/dhcp-protocol.h \
src/libsystemd-network/dhcp-lease-internal.h \
2014-02-28 19:10:20 +04:00
src/libsystemd-network/sd-dhcp-lease.c \
src/libsystemd-network/sd-ipv4ll.c \
src/libsystemd-network/ipv4ll-network.c \
src/libsystemd-network/ipv4ll-packet.c \
2014-03-22 00:38:14 +04:00
src/libsystemd-network/ipv4ll-internal.h \
2014-10-31 02:02:57 +03:00
src/libsystemd-network/sd-pppoe.c \
2014-03-22 00:38:14 +04:00
src/libsystemd-network/network-internal.c \
2014-06-19 16:38:55 +04:00
src/libsystemd-network/network-internal.h \
src/libsystemd-network/sd-icmp6-nd.c \
2014-06-19 16:39:35 +04:00
src/libsystemd-network/sd-dhcp6-client.c \
2014-06-19 16:38:55 +04:00
src/libsystemd-network/dhcp6-internal.h \
2014-06-19 22:59:36 +04:00
src/libsystemd-network/dhcp6-protocol.h \
2014-06-19 16:39:20 +04:00
src/libsystemd-network/dhcp6-network.c \
2014-06-19 16:39:35 +04:00
src/libsystemd-network/dhcp6-option.c \
src/libsystemd-network/dhcp6-lease-internal.h \
2014-11-23 07:16:36 +03:00
src/libsystemd-network/sd-dhcp6-lease.c \
2015-01-22 00:25:20 +03:00
src/libsystemd-network/dhcp-identifier.h \
src/libsystemd-network/dhcp-identifier.c \
2014-11-23 07:16:36 +03:00
src/libsystemd-network/lldp.h \
src/libsystemd-network/lldp-tlv.h \
src/libsystemd-network/lldp-tlv.c \
src/libsystemd-network/lldp-network.h \
src/libsystemd-network/lldp-network.c \
src/libsystemd-network/lldp-port.h \
src/libsystemd-network/lldp-port.c \
src/libsystemd-network/lldp-internal.h \
src/libsystemd-network/lldp-internal.c \
2014-12-20 00:42:03 +03:00
src/libsystemd-network/lldp-util.h \
2014-11-23 07:16:36 +03:00
src/libsystemd-network/sd-lldp.c
2014-02-27 04:24:05 +04:00
libsystemd_network_la_LIBADD = \
2014-05-22 05:08:04 +04:00
libudev-internal.la \
2014-03-12 00:46:36 +04:00
libsystemd-label.la \
2014-01-21 02:40:30 +04:00
libsystemd-internal.la \
2014-05-14 03:35:20 +04:00
libsystemd-shared.la \
$( KMOD_LIBS)
2014-01-21 02:40:30 +04:00
test_dhcp_option_SOURCES = \
2014-02-27 04:24:05 +04:00
src/libsystemd-network/dhcp-protocol.h \
src/libsystemd-network/dhcp-internal.h \
src/libsystemd-network/test-dhcp-option.c
2014-01-21 02:40:30 +04:00
test_dhcp_option_LDADD = \
2014-02-27 04:24:05 +04:00
libsystemd-network.la \
2014-01-21 02:40:30 +04:00
libsystemd-internal.la \
libsystemd-shared.la
test_dhcp_client_SOURCES = \
src/systemd/sd-dhcp-client.h \
2014-02-27 04:24:05 +04:00
src/libsystemd-network/dhcp-protocol.h \
src/libsystemd-network/dhcp-internal.h \
src/libsystemd-network/test-dhcp-client.c
2014-01-21 02:40:30 +04:00
test_dhcp_client_LDADD = \
2014-02-27 04:24:05 +04:00
libsystemd-network.la \
2014-03-12 00:46:36 +04:00
libsystemd-label.la \
2014-01-21 02:40:30 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-05-24 20:48:41 +04:00
test_dhcp_server_SOURCES = \
src/libsystemd-network/test-dhcp-server.c
test_dhcp_server_LDADD = \
libsystemd-network.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-04-27 23:58:26 +04:00
test_ipv4ll_SOURCES = \
2014-05-22 04:06:17 +04:00
src/systemd/sd-ipv4ll.h \
src/libsystemd-network/ipv4ll-internal.h \
src/libsystemd-network/test-ipv4ll.c
2014-04-27 23:58:26 +04:00
test_ipv4ll_LDADD = \
2014-05-22 04:06:17 +04:00
libsystemd-network.la \
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-04-27 23:58:26 +04:00
2014-10-31 02:02:57 +03:00
test_pppoe_SOURCES = \
src/systemd/sd-pppoe.h \
src/libsystemd-network/test-pppoe.c
test_pppoe_LDADD = \
libsystemd-network.la \
libsystemd-shared.la
2014-06-19 16:38:59 +04:00
test_icmp6_rs_SOURCES = \
src/systemd/sd-dhcp6-client.h \
2014-06-19 22:59:35 +04:00
src/systemd/sd-icmp6-nd.h \
2014-06-19 16:38:59 +04:00
src/libsystemd-network/dhcp6-internal.h \
2015-01-22 00:25:20 +03:00
src/libsystemd-network/test-icmp6-rs.c \
src/libsystemd-network/dhcp-identifier.h \
src/libsystemd-network/dhcp-identifier.c
2014-06-19 16:38:59 +04:00
test_icmp6_rs_LDADD = \
libsystemd-network.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-06-19 16:39:12 +04:00
test_dhcp6_client_SOURCES = \
src/systemd/sd-dhcp6-client.h \
2014-06-19 16:39:20 +04:00
src/libsystemd-network/dhcp6-internal.h \
2015-01-22 00:25:20 +03:00
src/libsystemd-network/test-dhcp6-client.c \
src/libsystemd-network/dhcp-identifier.h \
src/libsystemd-network/dhcp-identifier.c
2014-06-19 16:39:12 +04:00
test_dhcp6_client_LDADD = \
libsystemd-network.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-11-23 07:16:36 +03:00
test_lldp_SOURCES = \
src/libsystemd-network/lldp.h \
src/libsystemd-network/lldp-tlv.h \
src/libsystemd-network/lldp-tlv.c \
src/libsystemd-network/test-lldp.c
test_lldp_LDADD = \
libsystemd-network.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-01-21 02:40:30 +04:00
tests += \
test-dhcp-option \
2014-04-27 23:58:26 +04:00
test-dhcp-client \
2014-05-24 20:48:41 +04:00
test-dhcp-server \
2014-06-19 16:38:59 +04:00
test-ipv4ll \
2014-06-19 16:39:12 +04:00
test-icmp6-rs \
2014-11-23 07:16:36 +03:00
test-dhcp6-client \
test-lldp
2014-01-21 02:40:30 +04:00
2014-10-31 02:02:57 +03:00
manual_tests += \
test-pppoe
2014-06-12 19:51:14 +04:00
# ------------------------------------------------------------------------------
2014-07-18 19:26:23 +04:00
i f E N A B L E _ T E R M I N A L
2014-06-12 19:51:14 +04:00
noinst_LTLIBRARIES += \
libsystemd-terminal.la
2014-10-04 15:12:49 +04:00
rootlibexec_PROGRAMS += \
2014-10-03 17:58:44 +04:00
systemd-consoled
2014-07-18 19:26:23 +04:00
noinst_PROGRAMS += \
2014-08-27 20:38:01 +04:00
systemd-evcat \
2014-09-19 16:48:54 +04:00
systemd-modeset \
2014-07-18 19:26:23 +04:00
systemd-subterm
2014-10-01 13:25:27 +04:00
dist_pkgdata_DATA += \
2015-01-27 03:12:56 +03:00
src/libsystemd-terminal/unifont-glyph-array.bin
2014-07-18 19:34:03 +04:00
2014-10-04 15:10:41 +04:00
nodist_userunit_DATA += \
units/user/systemd-consoled.service
USER_DEFAULT_TARGET_WANTS += \
systemd-consoled.service
2014-07-18 19:26:23 +04:00
tests += \
test-term-page \
2014-07-18 19:34:03 +04:00
test-term-parser \
test-unifont
2014-07-18 19:26:23 +04:00
e n d i f
2014-12-14 18:40:25 +03:00
EXTRA_DIST += \
units/user/systemd-consoled.service.in
2014-06-12 19:51:14 +04:00
libsystemd_terminal_la_CFLAGS = \
2014-08-27 20:31:34 +04:00
$( AM_CFLAGS) \
$( TERMINAL_CFLAGS)
2014-06-12 19:51:14 +04:00
libsystemd_terminal_la_SOURCES = \
2014-09-19 16:05:52 +04:00
src/libsystemd-terminal/grdev.h \
src/libsystemd-terminal/grdev-internal.h \
src/libsystemd-terminal/grdev.c \
2014-09-19 16:13:06 +04:00
src/libsystemd-terminal/grdev-drm.c \
terminal: add input interface
The idev-interface provides input drivers for all libsystemd-terminal
based applications. It is split into 4 main objects:
idev_context: The context object tracks global state of the input
interface. This will include data like system-keymaps,
xkb contexts and more.
idev_session: A session serves as controller for a set of devices.
Each session on an idev-context is independent of each
other. The session is also the main notification object.
All events raised via idev are reported through the
session interface. Apart of that, the session is a
pretty dumb object that just contains devices.
idev_element: Elements provide real hardware in the idev stack. For
each hardware device, one element is added. Elements
have no knowledge of higher-level device types, they
only provide raw input data to the upper levels. For
example, each evdev device is represented by a different
element in an idev session.
idev_device: Devices are objects that the application deals with. An
application is usually not interested in elements (and
those are hidden to applications), instead, they want
high-level input devices like keyboard, touchpads, mice
and more. Device are the high-level interface provided
by idev. Each device might be fed by a set of elements.
Elements drive the device. If elements are removed,
devices are destroyed. If elements are added, suitable
devices are created.
Applications should monitor the system for sessions and hardware devices.
For each session they want to operate on, they create an idev_session
object and add hardware to that object. The idev interface requires the
application to monitor the system (preferably via sysview_*, but not
required) for hardware devices. Whenever hardware is added to the idev
session, new devices *might* be created. The relationship between hardware
and high-level idev-devices is hidden in the idev-session and not exposed.
Internally, the idev elements and devices are virtual objects. Each real
hardware and device type inherits those virtual objects and provides real
elements and devices. Those types will be added in follow-up commits.
Data flow from hardware to the application is done via idev_*_feed()
functions. Data flow from applications to hardware is done via
idev_*_feedback() functions. Feedback is usually used for LEDs, FF and
similar operations.
2014-08-27 20:17:27 +04:00
src/libsystemd-terminal/idev.h \
src/libsystemd-terminal/idev-internal.h \
src/libsystemd-terminal/idev.c \
2014-08-27 20:31:34 +04:00
src/libsystemd-terminal/idev-evdev.c \
2014-08-27 20:34:55 +04:00
src/libsystemd-terminal/idev-keyboard.c \
2014-08-26 17:03:41 +04:00
src/libsystemd-terminal/sysview.h \
src/libsystemd-terminal/sysview-internal.h \
src/libsystemd-terminal/sysview.c \
2014-10-01 13:27:46 +04:00
src/libsystemd-terminal/term.h \
2014-06-12 19:51:14 +04:00
src/libsystemd-terminal/term-internal.h \
2014-06-15 16:50:00 +04:00
src/libsystemd-terminal/term-charset.c \
2014-06-12 19:51:14 +04:00
src/libsystemd-terminal/term-page.c \
2014-06-15 16:50:00 +04:00
src/libsystemd-terminal/term-parser.c \
2014-07-08 17:11:29 +04:00
src/libsystemd-terminal/term-screen.c \
2014-07-18 19:34:03 +04:00
src/libsystemd-terminal/term-wcwidth.c \
2014-10-01 13:23:02 +04:00
src/libsystemd-terminal/unifont.h \
src/libsystemd-terminal/unifont-def.h \
2014-07-18 19:34:03 +04:00
src/libsystemd-terminal/unifont.c
2014-06-12 19:51:14 +04:00
libsystemd_terminal_la_LIBADD = \
2014-08-26 17:03:41 +04:00
libudev-internal.la \
2014-06-12 19:51:14 +04:00
libsystemd-internal.la \
2014-08-27 20:31:34 +04:00
libsystemd-shared.la \
$( TERMINAL_LIBS)
2014-06-12 19:51:14 +04:00
2014-10-03 17:58:44 +04:00
systemd_consoled_CFLAGS = \
$( AM_CFLAGS) \
$( TERMINAL_CFLAGS)
systemd_consoled_SOURCES = \
src/console/consoled.h \
src/console/consoled.c \
src/console/consoled-display.c \
src/console/consoled-manager.c \
src/console/consoled-session.c \
src/console/consoled-terminal.c \
src/console/consoled-workspace.c
systemd_consoled_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la \
$( TERMINAL_LIBS)
2014-08-27 20:38:01 +04:00
systemd_evcat_CFLAGS = \
$( AM_CFLAGS) \
$( TERMINAL_CFLAGS)
systemd_evcat_SOURCES = \
src/libsystemd-terminal/evcat.c
systemd_evcat_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la \
$( TERMINAL_LIBS)
2014-09-19 16:48:54 +04:00
systemd_modeset_CFLAGS = \
$( AM_CFLAGS) \
$( TERMINAL_CFLAGS)
systemd_modeset_SOURCES = \
src/libsystemd-terminal/modeset.c
systemd_modeset_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la \
$( TERMINAL_LIBS)
2014-07-17 13:10:53 +04:00
systemd_subterm_SOURCES = \
src/libsystemd-terminal/subterm.c
systemd_subterm_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-06-12 19:51:14 +04:00
test_term_page_SOURCES = \
src/libsystemd-terminal/test-term-page.c
test_term_page_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-06-15 16:50:00 +04:00
test_term_parser_SOURCES = \
src/libsystemd-terminal/test-term-parser.c
test_term_parser_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-07-18 19:34:03 +04:00
test_unifont_SOURCES = \
src/libsystemd-terminal/test-unifont.c
test_unifont_LDADD = \
libsystemd-terminal.la \
libsystemd-internal.la \
libsystemd-shared.la
2015-01-27 03:12:56 +03:00
src/libsystemd-terminal/unifont-glyph-array.bin : tools /compile -unifont .py $( UNIFONT )
$( AM_V_GEN) $( PYTHON) $< <$( UNIFONT) >$@
2014-07-18 19:34:03 +04:00
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
2012-04-17 18:17:27 +04:00
i f E N A B L E _ G T K _ D O C
2012-04-03 23:24:46 +04:00
SUBDIRS += \
2012-04-13 20:24:39 +04:00
docs/libudev
2013-03-08 20:03:50 +04:00
noinst_DATA += \
docs/html/libudev \
docs/html/gudev
2012-04-17 18:17:27 +04:00
e n d i f
2012-04-03 23:24:46 +04:00
include_HEADERS += \
2012-04-13 20:24:39 +04:00
src/libudev/libudev.h
2012-04-03 23:24:46 +04:00
lib_LTLIBRARIES += \
libudev.la
libudev_la_SOURCES = \
2013-11-12 04:32:34 +04:00
src/libudev/libudev.sym \
2012-04-13 20:24:39 +04:00
src/libudev/libudev-private.h \
2015-04-01 14:55:20 +03:00
src/libudev/libudev-device-internal.h \
2012-04-13 20:24:39 +04:00
src/libudev/libudev.c \
src/libudev/libudev-list.c \
src/libudev/libudev-util.c \
src/libudev/libudev-device.c \
2015-04-01 14:55:20 +03:00
src/libudev/libudev-device-private.c \
2012-04-13 20:24:39 +04:00
src/libudev/libudev-enumerate.c \
src/libudev/libudev-monitor.c \
2012-10-27 22:59:01 +04:00
src/libudev/libudev-queue.c \
src/libudev/libudev-hwdb.c
2012-04-03 23:24:46 +04:00
2012-04-10 18:41:52 +04:00
libudev_la_CFLAGS = \
$( AM_CFLAGS) \
-fvisibility= hidden
2012-04-03 23:24:46 +04:00
libudev_la_LDFLAGS = \
$( AM_LDFLAGS) \
2012-05-16 00:57:58 +04:00
-version-info $( LIBUDEV_CURRENT) :$( LIBUDEV_REVISION) :$( LIBUDEV_AGE) \
-Wl,--version-script= $( top_srcdir) /src/libudev/libudev.sym
2012-04-03 23:24:46 +04:00
2012-04-16 22:27:44 +04:00
libudev_la_LIBADD = \
2014-02-18 21:50:11 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2012-04-16 22:27:44 +04:00
2012-04-03 23:24:46 +04:00
pkgconfiglib_DATA += \
2012-04-13 20:24:39 +04:00
src/libudev/libudev.pc
2012-04-03 23:24:46 +04:00
EXTRA_DIST += \
2013-11-12 04:32:34 +04:00
src/libudev/libudev.pc.in
2012-04-03 23:24:46 +04:00
CLEANFILES += \
2013-03-08 20:03:50 +04:00
docs/html/libudev \
docs/html/gudev
docs/html/libudev :
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_LN) $( LN_S) -f ../libudev/html $@
docs/html/gudev :
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_LN) $( LN_S) -f ../gudev/html $@
2012-04-03 23:24:46 +04:00
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
2013-01-06 08:47:47 +04:00
libudev-install-hook :
libname = libudev.so && $( move-to-rootlibdir)
2012-04-03 23:24:46 +04:00
2013-01-06 08:47:47 +04:00
libudev-uninstall-hook :
2012-04-03 23:24:46 +04:00
rm -f $( DESTDIR) $( rootlibdir) /libudev.so*
2013-01-06 08:47:47 +04:00
INSTALL_EXEC_HOOKS += libudev-install-hook
UNINSTALL_EXEC_HOOKS += libudev-uninstall-hook
2012-04-03 23:24:46 +04:00
2012-04-10 18:41:52 +04:00
# ------------------------------------------------------------------------------
noinst_LTLIBRARIES += \
2013-11-07 17:59:16 +04:00
libudev-internal.la
2012-04-10 18:41:52 +04:00
2013-11-07 17:59:16 +04:00
libudev_internal_la_SOURCES = \
2015-04-01 14:55:20 +03:00
$( libudev_la_SOURCES)
2012-04-10 18:41:52 +04:00
2013-11-07 17:59:16 +04:00
libudev_internal_la_CFLAGS = \
2012-04-10 23:54:31 +04:00
$( AM_CFLAGS) \
-fvisibility= default
2012-04-10 18:41:52 +04:00
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
2013-02-03 07:48:38 +04:00
INSTALL_DIRS += \
2014-12-16 02:48:24 +03:00
$( sysconfdir) /udev/rules.d
2012-04-03 23:24:46 +04:00
2013-10-28 23:11:10 +04:00
dist_network_DATA = \
2014-02-22 01:44:42 +04:00
network/99-default.link \
2014-05-17 23:32:13 +04:00
network/80-container-host0.network \
network/80-container-ve.network
2013-10-28 03:19:59 +04:00
2012-04-03 23:24:46 +04:00
dist_udevrules_DATA += \
rules/42-usb-hid-pm.rules \
rules/50-udev-default.rules \
2015-03-12 18:09:46 +03:00
rules/60-block.rules \
2013-11-03 16:01:20 +04:00
rules/60-drm.rules \
2015-03-19 07:19:58 +03:00
rules/60-evdev.rules \
2012-04-03 23:24:46 +04:00
rules/60-persistent-storage-tape.rules \
rules/60-persistent-input.rules \
rules/60-persistent-alsa.rules \
rules/60-persistent-storage.rules \
2015-03-12 19:44:58 +03:00
rules/60-serial.rules \
2012-09-17 01:31:11 +04:00
rules/64-btrfs.rules \
2015-01-29 04:51:05 +03:00
rules/70-mouse.rules \
2015-01-28 07:05:01 +03:00
rules/70-touchpad.rules \
2012-04-03 23:24:46 +04:00
rules/75-net-description.rules \
rules/78-sound-card.rules \
2015-03-12 18:34:18 +03:00
rules/80-net-setup-link.rules
2012-04-03 23:24:46 +04:00
2014-03-04 19:23:41 +04:00
nodist_udevrules_DATA += \
rules/99-systemd.rules
2012-04-03 23:24:46 +04:00
udevconfdir = $( sysconfdir) /udev
dist_udevconf_DATA = \
src/udev/udev.conf
2015-04-22 15:05:24 +03:00
pkgconfigdata_DATA += \
2012-04-03 23:24:46 +04:00
src/udev/udev.pc
EXTRA_DIST += \
rules/99-systemd.rules.in \
src/udev/udev.pc.in
EXTRA_DIST += \
2012-07-02 23:35:14 +04:00
units/systemd-udevd.service.in \
2012-04-17 01:32:22 +04:00
units/systemd-udev-trigger.service.in \
2014-12-16 02:48:24 +03:00
units/systemd-udev-settle.service.in
2012-04-03 23:24:46 +04:00
2013-01-23 07:24:54 +04:00
SOCKETS_TARGET_WANTS += \
systemd-udevd-control.socket \
systemd-udevd-kernel.socket
2014-06-13 15:10:30 +04:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
systemd-udevd.service \
2014-12-16 02:48:24 +03:00
systemd-udev-trigger.service
2012-04-03 23:24:46 +04:00
2013-03-11 10:17:39 +04:00
rootbin_PROGRAMS += \
2012-04-03 23:24:46 +04:00
udevadm
2012-04-17 01:32:22 +04:00
rootlibexec_PROGRAMS += \
systemd-udevd
2012-04-03 23:24:46 +04:00
2012-04-10 18:41:52 +04:00
noinst_LTLIBRARIES += \
libudev-core.la
2015-03-03 16:33:15 +03:00
src/udev/keyboard-keys-list.txt :
2013-07-10 18:02:24 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) $( CPP) $( CFLAGS) $( AM_CPPFLAGS) $( CPPFLAGS) -dM -include linux/input.h - < /dev/null | $( AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
2015-03-03 16:33:15 +03:00
src/udev/keyboard-keys-from-name.gperf : src /udev /keyboard -keys -list .txt
2013-07-10 18:02:24 +04:00
$( AM_V_GEN) $( AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@
2013-11-30 03:16:49 +04:00
src/udev/keyboard-keys-from-name.h : src /udev /keyboard -keys -from -name .gperf
2013-07-10 18:02:24 +04:00
$( AM_V_GPERF) $( GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@
2015-03-03 16:33:15 +03:00
src/udev/keyboard-keys-to-name.h : src /udev /keyboard -keys -list .txt
2013-07-10 18:02:24 +04:00
$( AM_V_GEN) $( AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
2015-03-03 16:33:15 +03:00
gperf_txt_sources += \
src/udev/keyboard-keys-list.txt
2012-04-10 18:41:52 +04:00
libudev_core_la_SOURCES = \
2012-04-03 23:24:46 +04:00
src/udev/udev.h \
src/udev/udev-event.c \
src/udev/udev-watch.c \
src/udev/udev-node.c \
src/udev/udev-rules.c \
src/udev/udev-ctrl.c \
src/udev/udev-builtin.c \
2012-09-17 01:31:11 +04:00
src/udev/udev-builtin-btrfs.c \
2012-04-03 23:24:46 +04:00
src/udev/udev-builtin-hwdb.c \
src/udev/udev-builtin-input_id.c \
2013-07-10 18:02:24 +04:00
src/udev/udev-builtin-keyboard.c \
2012-11-09 15:37:40 +04:00
src/udev/udev-builtin-net_id.c \
2013-10-28 23:20:59 +04:00
src/udev/udev-builtin-net_setup_link.c \
2012-04-03 23:24:46 +04:00
src/udev/udev-builtin-path_id.c \
udev: add network link configuration tool
This tool applies hardware specific settings to network devices before they
are announced via libudev.
Settings that will probably eventually be supported are MTU, Speed,
DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware',
'synthetic' or 'random'), Name and NamePolicy (replacing our current
interface naming logic). This patch only introduces support for
Description, as a proof of concept.
Some of these settings may later be overriden by a network management
daemon/script. However, these tools should always listen and wait on libudev
before touching a device (listening on netlink is not enough). This is no
different from how things used to be, as we always supported changing the
network interface name from udev rules, which does not work if someone
has already started using it.
The tool is configured by .link files in /etc/net/links/ (with the usual
overriding logic in /run and /lib). The first (in lexicographical order)
matching .link file is applied to a given device, and all others are ignored.
The .link files contain a [Match] section with (currently) the keys
MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this
matches on the stable device path as exposed as ID_PATH, and not the
unstable DEVPATH). A .link file matches a given device if all of the
specified keys do. Currently the keys are treated as plain strings,
but some limited globbing may later be added to the keys where it
makes sense.
Example:
/etc/net/links/50-wireless.link
[Match]
MACAddress=98:f2:e4:42:c6:92
Path=pci-0000:02:00.0-bcma-0
Type=wlan
[Link]
Description=The wireless link
2013-10-26 02:34:01 +04:00
src/udev/udev-builtin-usb_id.c \
src/udev/net/link-config.h \
2013-10-26 20:54:16 +04:00
src/udev/net/link-config.c \
src/udev/net/ethtool-util.h \
src/udev/net/ethtool-util.c
2012-04-03 23:24:46 +04:00
2013-07-10 18:02:24 +04:00
nodist_libudev_core_la_SOURCES = \
src/udev/keyboard-keys-from-name.h \
udev: add network link configuration tool
This tool applies hardware specific settings to network devices before they
are announced via libudev.
Settings that will probably eventually be supported are MTU, Speed,
DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware',
'synthetic' or 'random'), Name and NamePolicy (replacing our current
interface naming logic). This patch only introduces support for
Description, as a proof of concept.
Some of these settings may later be overriden by a network management
daemon/script. However, these tools should always listen and wait on libudev
before touching a device (listening on netlink is not enough). This is no
different from how things used to be, as we always supported changing the
network interface name from udev rules, which does not work if someone
has already started using it.
The tool is configured by .link files in /etc/net/links/ (with the usual
overriding logic in /run and /lib). The first (in lexicographical order)
matching .link file is applied to a given device, and all others are ignored.
The .link files contain a [Match] section with (currently) the keys
MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this
matches on the stable device path as exposed as ID_PATH, and not the
unstable DEVPATH). A .link file matches a given device if all of the
specified keys do. Currently the keys are treated as plain strings,
but some limited globbing may later be added to the keys where it
makes sense.
Example:
/etc/net/links/50-wireless.link
[Match]
MACAddress=98:f2:e4:42:c6:92
Path=pci-0000:02:00.0-bcma-0
Type=wlan
[Link]
Description=The wireless link
2013-10-26 02:34:01 +04:00
src/udev/keyboard-keys-to-name.h \
src/udev/net/link-config-gperf.c
2013-07-10 18:02:24 +04:00
2015-03-03 16:33:15 +03:00
gperf_gperf_sources = \
udev: add network link configuration tool
This tool applies hardware specific settings to network devices before they
are announced via libudev.
Settings that will probably eventually be supported are MTU, Speed,
DuplexMode, WakeOnLan, MACAddress, MACAddressPolicy (e.g., 'hardware',
'synthetic' or 'random'), Name and NamePolicy (replacing our current
interface naming logic). This patch only introduces support for
Description, as a proof of concept.
Some of these settings may later be overriden by a network management
daemon/script. However, these tools should always listen and wait on libudev
before touching a device (listening on netlink is not enough). This is no
different from how things used to be, as we always supported changing the
network interface name from udev rules, which does not work if someone
has already started using it.
The tool is configured by .link files in /etc/net/links/ (with the usual
overriding logic in /run and /lib). The first (in lexicographical order)
matching .link file is applied to a given device, and all others are ignored.
The .link files contain a [Match] section with (currently) the keys
MACAddress, Driver, Type (see DEVTYPE in udevadm info) and Path (this
matches on the stable device path as exposed as ID_PATH, and not the
unstable DEVPATH). A .link file matches a given device if all of the
specified keys do. Currently the keys are treated as plain strings,
but some limited globbing may later be added to the keys where it
makes sense.
Example:
/etc/net/links/50-wireless.link
[Match]
MACAddress=98:f2:e4:42:c6:92
Path=pci-0000:02:00.0-bcma-0
Type=wlan
[Link]
Description=The wireless link
2013-10-26 02:34:01 +04:00
src/udev/net/link-config-gperf.gperf
2013-07-10 18:02:24 +04:00
2012-04-10 18:41:52 +04:00
libudev_core_la_CFLAGS = \
2012-04-10 18:02:09 +04:00
$( AM_CFLAGS) \
2012-04-03 23:24:46 +04:00
$( BLKID_CFLAGS) \
$( KMOD_CFLAGS)
2012-04-10 18:41:52 +04:00
libudev_core_la_LIBADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2012-04-17 02:26:02 +04:00
libsystemd-label.la \
2014-01-13 23:14:44 +04:00
libsystemd-internal.la \
2014-03-22 00:38:14 +04:00
libsystemd-network.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la \
2012-04-03 23:24:46 +04:00
$( BLKID_LIBS) \
$( KMOD_LIBS)
2012-11-20 04:24:32 +04:00
i f H A V E _ K M O D
libudev_core_la_SOURCES += \
src/udev/udev-builtin-kmod.c
2013-03-18 18:12:18 +04:00
dist_udevrules_DATA += \
rules/80-drivers.rules
2012-11-20 04:24:32 +04:00
e n d i f
2012-11-16 04:17:18 +04:00
i f H A V E _ B L K I D
libudev_core_la_SOURCES += \
src/udev/udev-builtin-blkid.c
e n d i f
2012-04-09 18:37:54 +04:00
i f H A V E _ A C L
2012-04-10 18:41:52 +04:00
libudev_core_la_SOURCES += \
2012-04-09 18:37:54 +04:00
src/udev/udev-builtin-uaccess.c \
2012-04-13 14:34:35 +04:00
src/login/logind-acl.c \
2014-03-17 21:28:30 +04:00
src/libsystemd/sd-login/sd-login.c \
src/systemd/sd-login.h
2012-04-09 18:37:54 +04:00
2012-04-10 18:41:52 +04:00
libudev_core_la_LIBADD += \
2012-04-10 16:53:38 +04:00
libsystemd-acl.la
2012-04-09 18:37:54 +04:00
e n d i f
2012-04-17 01:32:22 +04:00
systemd_udevd_SOURCES = \
2012-04-09 18:37:54 +04:00
src/udev/udevd.c
2012-04-03 23:24:46 +04:00
2012-04-17 01:32:22 +04:00
systemd_udevd_LDADD = \
2014-11-11 18:13:59 +03:00
libudev-core.la
2012-04-03 23:24:46 +04:00
udevadm_SOURCES = \
src/udev/udevadm.c \
src/udev/udevadm-info.c \
src/udev/udevadm-control.c \
src/udev/udevadm-monitor.c \
2012-10-22 20:23:08 +04:00
src/udev/udevadm-hwdb.c \
2012-04-03 23:24:46 +04:00
src/udev/udevadm-settle.c \
src/udev/udevadm-trigger.c \
src/udev/udevadm-test.c \
2014-11-26 03:39:19 +03:00
src/udev/udevadm-test-builtin.c \
src/udev/udevadm-util.c \
src/udev/udevadm-util.h
2012-04-03 23:24:46 +04:00
udevadm_LDADD = \
2014-11-11 18:13:59 +03:00
libudev-core.la
2012-04-03 23:24:46 +04:00
2014-12-16 02:48:24 +03:00
# ------------------------------------------------------------------------------
2014-12-19 13:47:30 +03:00
i f E N A B L E _ H W D B
2014-12-16 02:48:24 +03:00
INSTALL_DIRS += \
$( sysconfdir) /udev/hwdb.d
systemd_hwdb_SOURCES = \
src/libsystemd/sd-hwdb/hwdb-internal.h \
src/hwdb/hwdb.c
systemd_hwdb_LDADD = \
2015-04-01 14:55:20 +03:00
libudev-internal.la \
2014-12-16 02:48:24 +03:00
libsystemd-shared.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la
2014-12-16 02:48:24 +03:00
rootbin_PROGRAMS += \
systemd-hwdb
dist_udevhwdb_DATA = \
hwdb/20-pci-vendor-model.hwdb \
hwdb/20-pci-classes.hwdb \
hwdb/20-usb-vendor-model.hwdb \
hwdb/20-usb-classes.hwdb \
hwdb/20-sdio-vendor-model.hwdb \
hwdb/20-sdio-classes.hwdb \
hwdb/20-bluetooth-vendor-product.hwdb \
hwdb/20-acpi-vendor.hwdb \
hwdb/20-OUI.hwdb \
hwdb/20-net-ifname.hwdb \
2015-03-19 07:19:58 +03:00
hwdb/60-evdev.hwdb \
2014-12-16 02:48:24 +03:00
hwdb/60-keyboard.hwdb \
2015-01-28 07:05:01 +03:00
hwdb/70-mouse.hwdb \
2015-05-18 11:18:10 +03:00
hwdb/70-pointingstick.hwdb \
2015-01-28 07:05:01 +03:00
hwdb/70-touchpad.hwdb
2014-12-16 02:48:24 +03:00
EXTRA_DIST += \
2015-03-17 01:54:07 +03:00
units/systemd-hwdb-update.service.in \
hwdb/ids-update.pl \
hwdb/sdio.ids
2014-12-16 02:48:24 +03:00
SYSINIT_TARGET_WANTS += \
systemd-hwdb-update.service
2012-11-16 20:58:31 +04:00
# Update hwdb on installation. Do not bother if installing
# in DESTDIR, since this is likely for packaging purposes.
hwdb-update-hook :
2014-12-16 02:48:24 +03:00
-test -n " $( DESTDIR) " || $( rootbindir) /systemd-hwdb update
2012-11-16 20:58:31 +04:00
INSTALL_DATA_HOOKS += \
hwdb-update-hook
2012-11-17 02:10:13 +04:00
hwdb-remove-hook :
2013-02-08 00:53:10 +04:00
-test -n " $( DESTDIR) " || rm -f /etc/udev/hwdb.bin
2014-12-19 13:47:30 +03:00
e n d i f
2012-11-17 02:10:13 +04:00
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
2012-04-12 21:25:41 +04:00
TESTS += \
2012-04-14 21:31:18 +04:00
test/udev-test.pl \
2015-01-20 23:26:35 +03:00
$( NULL)
i f H A V E _ P Y T H O N
TESTS += \
test/rule-syntax-check.py \
2015-03-03 18:36:47 +03:00
$( NULL)
i f H A V E _ S Y S V _ C O M P A T
TESTS += \
2015-01-20 18:08:05 +03:00
test/sysv-generator-test.py \
2015-01-20 23:26:35 +03:00
$( NULL)
e n d i f
2015-03-03 18:36:47 +03:00
e n d i f
2012-04-03 23:24:46 +04:00
2013-04-18 16:40:24 +04:00
manual_tests += \
2012-04-03 23:24:46 +04:00
test-libudev \
test-udev
test_libudev_SOURCES = \
2012-04-14 21:31:18 +04:00
src/test/test-libudev.c
2012-04-03 23:24:46 +04:00
test_libudev_LDADD = \
2012-04-17 02:26:02 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-14 17:25:06 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
test_udev_SOURCES = \
2012-07-16 00:10:46 +04:00
src/test/test-udev.c
2012-04-03 23:24:46 +04:00
test_udev_LDADD = \
2014-11-06 04:02:13 +03:00
libudev-core.la \
2012-04-16 19:21:22 +04:00
$( BLKID_LIBS) \
$( KMOD_LIBS) \
$( SELINUX_LIBS)
i f H A V E _ A C L
test_udev_LDADD += \
libsystemd-acl.la
e n d i f
2012-04-03 23:24:46 +04:00
2012-04-13 17:57:13 +04:00
check_DATA += \
2012-04-14 21:31:18 +04:00
test/sys
2012-04-03 23:24:46 +04:00
# packed sysfs test tree
2012-04-14 21:31:18 +04:00
test/sys :
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) tar -C test/ -xJf $( top_srcdir) /test/sys.tar.xz
2012-04-03 23:24:46 +04:00
test-sys-distclean :
2012-04-14 21:31:18 +04:00
-rm -rf test/sys
2012-04-03 23:24:46 +04:00
DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
EXTRA_DIST += \
2012-04-14 21:31:18 +04:00
test/sys.tar.xz \
test/udev-test.pl \
2015-01-20 18:08:05 +03:00
test/rule-syntax-check.py \
test/sysv-generator-test.py \
$( NULL)
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
ata_id_SOURCES = \
src/udev/ata_id/ata_id.c
ata_id_LDADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
ata_id
# ------------------------------------------------------------------------------
cdrom_id_SOURCES = \
src/udev/cdrom_id/cdrom_id.c
cdrom_id_LDADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
cdrom_id
dist_udevrules_DATA += \
2012-04-14 22:10:03 +04:00
rules/60-cdrom_id.rules
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
collect_SOURCES = \
src/udev/collect/collect.c
collect_LDADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
collect
# ------------------------------------------------------------------------------
scsi_id_SOURCES = \
src/udev/scsi_id/scsi_id.c \
src/udev/scsi_id/scsi_serial.c \
src/udev/scsi_id/scsi.h \
src/udev/scsi_id/scsi_id.h
scsi_id_LDADD = \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
scsi_id
EXTRA_DIST += \
src/udev/scsi_id/README
# ------------------------------------------------------------------------------
v4l_id_SOURCES = \
src/udev/v4l_id/v4l_id.c
v4l_id_LDADD = \
2015-01-05 15:19:55 +03:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2015-01-05 15:19:55 +03:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
v4l_id
dist_udevrules_DATA += \
2012-04-14 22:10:03 +04:00
rules/60-persistent-v4l.rules
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
accelerometer_SOURCES = \
src/udev/accelerometer/accelerometer.c
accelerometer_LDADD = \
2015-01-11 02:25:31 +03:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
accelerometer
dist_udevrules_DATA += \
2012-04-14 22:10:03 +04:00
rules/61-accelerometer.rules
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ G U D E V
2012-04-17 18:17:27 +04:00
i f E N A B L E _ G T K _ D O C
2012-04-03 23:24:46 +04:00
SUBDIRS += \
2012-04-13 20:24:39 +04:00
docs/gudev
2012-04-17 18:17:27 +04:00
e n d i f
2012-04-03 23:24:46 +04:00
libgudev_includedir = \
$( includedir) /gudev-1.0/gudev
libgudev_include_HEADERS = \
2012-04-13 20:24:39 +04:00
src/gudev/gudev.h \
src/gudev/gudevenums.h \
src/gudev/gudevenumtypes.h \
src/gudev/gudevtypes.h \
src/gudev/gudevclient.h \
src/gudev/gudevdevice.h \
src/gudev/gudevenumerator.h
2012-04-03 23:24:46 +04:00
lib_LTLIBRARIES += libgudev-1.0.la
pkgconfiglib_DATA += \
2012-04-13 20:24:39 +04:00
src/gudev/gudev-1.0.pc
2012-04-03 23:24:46 +04:00
libgudev_1_0_la_SOURCES = \
2014-06-21 17:53:58 +04:00
src/gudev/libgudev-1.0.sym \
2012-04-13 20:24:39 +04:00
src/gudev/gudevenums.h \
src/gudev/gudevenumtypes.h \
src/gudev/gudevenumtypes.h\
src/gudev/gudevtypes.h \
src/gudev/gudevclient.h \
src/gudev/gudevclient.c \
src/gudev/gudevdevice.h \
src/gudev/gudevdevice.c \
src/gudev/gudevenumerator.h \
src/gudev/gudevenumerator.c \
src/gudev/gudevprivate.h
2012-04-03 23:24:46 +04:00
nodist_libgudev_1_0_la_SOURCES = \
2012-04-13 20:24:39 +04:00
src/gudev/gudevmarshal.h \
src/gudev/gudevmarshal.c \
src/gudev/gudevenumtypes.h \
src/gudev/gudevenumtypes.c
2012-04-03 23:24:46 +04:00
BUILT_SOURCES += \
$( nodist_libgudev_1_0_la_SOURCES)
libgudev_1_0_la_CPPFLAGS = \
$( AM_CPPFLAGS) \
-I$( top_builddir) /src\
-I$( top_srcdir) /src\
2012-04-13 20:24:39 +04:00
-I$( top_builddir) /src/gudev \
-I$( top_srcdir) /src/gudev \
2012-04-03 23:24:46 +04:00
-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
-D_GUDEV_COMPILATION \
-DG_LOG_DOMAIN= \" GUdev\"
libgudev_1_0_la_CFLAGS = \
2012-04-10 18:02:09 +04:00
$( AM_CFLAGS) \
2012-04-03 23:24:46 +04:00
-fvisibility= default \
$( GLIB_CFLAGS)
libgudev_1_0_la_LIBADD = \
libudev.la \
$( GLIB_LIBS)
libgudev_1_0_la_LDFLAGS = \
2012-04-11 05:29:31 +04:00
$( AM_LDFLAGS) \
2012-04-03 23:24:46 +04:00
-version-info $( LIBGUDEV_CURRENT) :$( LIBGUDEV_REVISION) :$( LIBGUDEV_AGE) \
2014-06-21 17:53:58 +04:00
-export-dynamic \
-no-undefined \
-Wl,--version-script= $( top_srcdir) /src/gudev/libgudev-1.0.sym
2012-04-03 23:24:46 +04:00
2012-04-13 20:24:39 +04:00
src/gudev/gudevmarshal.h : src /gudev /gudevmarshal .list
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2012-04-03 23:24:46 +04:00
$( AM_V_GEN) glib-genmarshal $< --prefix= g_udev_marshal --header > $@
2012-04-13 20:24:39 +04:00
src/gudev/gudevmarshal.c : src /gudev /gudevmarshal .list
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) echo '#include "gudevmarshal.h"' > $@ && \
2012-04-03 23:24:46 +04:00
glib-genmarshal $< --prefix= g_udev_marshal --body >> $@
2012-07-31 01:57:50 +04:00
src/gudev/gudevenumtypes.% : src /gudev /gudevenumtypes .%.template src /gudev /gudevenums .h
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) glib-mkenums --template $^ > $@
2012-04-03 23:24:46 +04:00
2012-04-13 14:49:51 +04:00
i f H A V E _ I N T R O S P E C T I O N
2012-04-12 01:22:51 +04:00
- i n c l u d e $( INTROSPECTION_MAKEFILE )
2012-04-13 20:24:39 +04:00
src/gudev/GUdev-1.0.gir : libgudev -1.0.la
2012-04-12 01:22:51 +04:00
2012-04-13 20:24:39 +04:00
src_gudev_GUdev_1_0_gir_INCLUDES = GObject-2.0
2012-04-12 01:22:51 +04:00
2012-04-13 20:24:39 +04:00
src_gudev_GUdev_1_0_gir_CFLAGS = \
2013-10-20 18:58:04 +04:00
$( AM_CFLAGS) \
2012-04-12 01:22:51 +04:00
$( INCLUDES) \
-D_GUDEV_COMPILATION \
-D_GUDEV_WORK_AROUND_DEV_T_BUG \
2012-04-13 20:24:39 +04:00
-I$( top_srcdir) /src \
-I$( top_builddir) /src \
2013-10-20 18:58:04 +04:00
-I$( top_srcdir) /src/gudev \
-I$( top_builddir) /src/gudev
2012-04-12 01:22:51 +04:00
2012-04-13 20:24:39 +04:00
src_gudev_GUdev_1_0_gir_LIBS = libgudev-1.0.la
2012-04-12 01:22:51 +04:00
2012-04-13 20:24:39 +04:00
src_gudev_GUdev_1_0_gir_SCANNERFLAGS = \
2012-04-12 01:22:51 +04:00
--pkg-export= gudev-1.0 \
--warn-all
2012-04-13 20:24:39 +04:00
src_gudev_GUdev_1_0_gir_FILES = \
2012-07-31 02:06:12 +04:00
src/gudev/gudev.h \
src/gudev/gudevtypes.h \
src/gudev/gudevenums.h \
src/gudev/gudevenumtypes.h \
src/gudev/gudevclient.h \
src/gudev/gudevdevice.h \
src/gudev/gudevenumerator.h \
src/gudev/gudevclient.c \
src/gudev/gudevdevice.c \
src/gudev/gudevenumerator.c
2012-04-13 20:24:39 +04:00
INTROSPECTION_GIRS = src/gudev/GUdev-1.0.gir
2012-04-12 01:22:51 +04:00
INTROSPECTION_SCANNER_ARGS = --c-include= gudev/gudev.h
girdir = $( datadir) /gir-1.0
2012-04-03 23:24:46 +04:00
gir_DATA = \
2012-04-13 20:24:39 +04:00
src/gudev/GUdev-1.0.gir
2012-04-03 23:24:46 +04:00
2012-04-12 01:22:51 +04:00
typelibsdir = $( libdir) /girepository-1.0
2012-04-03 23:24:46 +04:00
typelibs_DATA = \
2012-04-13 20:24:39 +04:00
src/gudev/GUdev-1.0.typelib
2012-04-03 23:24:46 +04:00
CLEANFILES += $( gir_DATA) $( typelibs_DATA)
2012-04-13 14:49:51 +04:00
e n d i f # HAVE_INTROSPECTION
2012-04-03 23:24:46 +04:00
e n d i f
2012-07-28 06:43:38 +04:00
EXTRA_DIST += \
src/gudev/gudev-1.0.pc.in \
src/gudev/gudevmarshal.list \
src/gudev/gudevenumtypes.h.template \
src/gudev/gudevenumtypes.c.template \
src/gudev/gjs-example.js \
src/gudev/seed-example-enum.js \
src/gudev/seed-example.js
2012-04-03 23:24:46 +04:00
# ------------------------------------------------------------------------------
mtd_probe_SOURCES = \
src/udev/mtd_probe/mtd_probe.c \
src/udev/mtd_probe/mtd_probe.h \
src/udev/mtd_probe/probe_smartmedia.c
dist_udevrules_DATA += \
2012-04-14 22:10:03 +04:00
rules/75-probe_mtd.rules
2012-04-03 23:24:46 +04:00
udevlibexec_PROGRAMS += \
mtd_probe
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
test_id128_SOURCES = \
2012-04-12 15:48:01 +04:00
src/test/test-id128.c
2011-12-31 12:05:56 +04:00
2011-12-31 12:17:48 +04:00
test_id128_LDADD = \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2011-12-31 12:05:56 +04:00
2013-04-18 16:40:24 +04:00
tests += \
2012-04-13 15:21:20 +04:00
test-id128
2013-02-23 20:52:04 +04:00
# ------------------------------------------------------------------------------
rootlibexec_PROGRAMS += \
systemd-activate
systemd_activate_SOURCES = \
src/activate/activate.c
systemd_activate_LDADD = \
2013-11-07 01:30:35 +04:00
libsystemd-label.la \
2014-02-18 21:50:11 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-02-23 20:52:04 +04:00
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
systemd_journald_SOURCES = \
src/journal/journald.c \
2012-11-12 20:29:07 +04:00
src/journal/journald-server.h
2012-01-04 23:40:04 +04:00
2011-12-31 12:17:48 +04:00
systemd_journald_LDADD = \
2013-12-11 23:13:44 +04:00
libsystemd-journal-core.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-12-11 23:13:44 +04:00
libsystemd-shared.la
2011-12-31 09:02:42 +04:00
2012-01-14 02:17:54 +04:00
systemd_cat_SOURCES = \
2012-01-16 16:49:08 +04:00
src/journal/cat.c
2012-01-14 02:17:54 +04:00
systemd_cat_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-01-14 02:17:54 +04:00
2014-03-15 23:58:03 +04:00
i f H A V E _ M I C R O H T T P D
rootlibexec_PROGRAMS += \
systemd-journal-remote
2012-11-02 02:08:03 +04:00
systemd_journal_remote_SOURCES = \
2014-03-26 06:30:24 +04:00
src/journal-remote/journal-remote-parse.h \
src/journal-remote/journal-remote-parse.c \
src/journal-remote/journal-remote-write.h \
src/journal-remote/journal-remote-write.c \
2014-07-02 08:15:37 +04:00
src/journal-remote/journal-remote.h \
2014-03-26 06:30:24 +04:00
src/journal-remote/journal-remote.c
2012-11-02 02:08:03 +04:00
systemd_journal_remote_LDADD = \
libsystemd-internal.la \
libsystemd-journal-core.la
2014-03-15 23:58:03 +04:00
systemd_journal_remote_SOURCES += \
2014-03-26 06:30:24 +04:00
src/journal-remote/microhttpd-util.h \
src/journal-remote/microhttpd-util.c
2014-03-15 23:58:03 +04:00
systemd_journal_remote_CFLAGS = \
$( AM_CFLAGS) \
$( MICROHTTPD_CFLAGS)
systemd_journal_remote_LDADD += \
$( MICROHTTPD_LIBS)
2014-11-26 11:17:50 +03:00
i f E N A B L E _ S Y S U S E R S
dist_sysusers_DATA += \
sysusers.d/systemd-remote.conf
e n d i f
i f E N A B L E _ T M P F I L E S
dist_tmpfiles_DATA += \
tmpfiles.d/systemd-remote.conf
e n d i f
2014-03-15 23:58:03 +04:00
i f H A V E _ G N U T L S
systemd_journal_remote_LDADD += \
$( GNUTLS_LIBS)
2014-03-31 07:08:02 +04:00
# systemd-journal-remote make sense mostly with full crypto stack
dist_systemunit_DATA += \
units/systemd-journal-remote.socket
nodist_systemunit_DATA += \
units/systemd-journal-remote.service
EXTRA_DIST += \
units/systemd-journal-remote.service.in
journal-remote-install-hook : journal -install -hook
-$( MKDIR_P) $( DESTDIR) /var/log/journal/remote
-chown 0:0 $( DESTDIR) /var/log/journal/remote
-chmod 755 $( DESTDIR) /var/log/journal/remote
INSTALL_EXEC_HOOKS += journal-remote-install-hook
2014-03-15 23:58:03 +04:00
e n d i f
2014-03-31 07:08:02 +04:00
nodist_pkgsysconf_DATA += \
src/journal-remote/journal-remote.conf
EXTRA_DIST += \
src/journal-remote/journal-remote.conf.in
2014-03-15 23:58:03 +04:00
e n d i f
2014-03-18 06:54:28 +04:00
i f H A V E _ L I B C U R L
rootlibexec_PROGRAMS += \
systemd-journal-upload
systemd_journal_upload_SOURCES = \
src/journal-remote/journal-upload.h \
2014-03-29 08:37:25 +04:00
src/journal-remote/journal-upload.c \
src/journal-remote/journal-upload-journal.c
2014-03-18 06:54:28 +04:00
systemd_journal_upload_CFLAGS = \
$( AM_CFLAGS) \
$( LIBCURL_CFLAGS)
systemd_journal_upload_LDADD = \
libsystemd-internal.la \
2014-03-29 08:37:25 +04:00
libsystemd-journal-internal.la \
libsystemd-shared.la \
2014-03-18 06:54:28 +04:00
$( LIBCURL_LIBS)
2014-03-31 07:08:02 +04:00
nodist_systemunit_DATA += \
units/systemd-journal-upload.service
EXTRA_DIST += \
units/systemd-journal-upload.service.in
2014-07-16 06:22:05 +04:00
nodist_pkgsysconf_DATA += \
src/journal-remote/journal-upload.conf
EXTRA_DIST += \
src/journal-remote/journal-upload.conf.in
2014-03-18 06:54:28 +04:00
e n d i f
2013-10-20 18:58:04 +04:00
# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
journalctl_CFLAGS = \
$( AM_CFLAGS)
2013-10-20 17:53:05 +04:00
2012-03-26 22:58:47 +04:00
journalctl_SOURCES = \
2012-04-12 03:51:49 +04:00
src/journal/journalctl.c
2011-12-31 09:02:42 +04:00
2012-03-26 22:58:47 +04:00
journalctl_LDADD = \
2012-07-12 02:06:24 +04:00
libsystemd-journal-internal.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-logs.la \
libsystemd-shared.la
2011-12-31 09:02:42 +04:00
2013-03-22 18:35:26 +04:00
i f H A V E _ A C L
journalctl_LDADD += \
libsystemd-acl.la
e n d i f
2012-08-21 00:02:19 +04:00
i f H A V E _ Q R E N C O D E
journalctl_SOURCES += \
src/journal/journal-qrcode.c \
src/journal/journal-qrcode.h
2013-10-20 17:53:05 +04:00
journalctl_CFLAGS += \
2012-08-21 00:02:19 +04:00
$( QRENCODE_CFLAGS)
journalctl_LDADD += \
$( QRENCODE_LIBS)
e n d i f
2011-12-31 12:17:48 +04:00
test_journal_SOURCES = \
2012-07-13 02:29:26 +04:00
src/journal/test-journal.c
2011-12-31 09:02:42 +04:00
2011-12-31 12:17:48 +04:00
test_journal_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2011-07-12 00:29:45 +04:00
2012-04-02 21:24:30 +04:00
test_journal_send_SOURCES = \
src/journal/test-journal-send.c
test_journal_send_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-04-02 21:24:30 +04:00
2012-10-13 13:31:54 +04:00
test_journal_syslog_SOURCES = \
2012-11-12 20:29:07 +04:00
src/journal/test-journal-syslog.c
2012-10-13 13:31:54 +04:00
test_journal_syslog_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-10-13 13:31:54 +04:00
2012-07-13 02:29:26 +04:00
test_journal_match_SOURCES = \
src/journal/test-journal-match.c
test_journal_match_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-07-13 02:29:26 +04:00
2012-10-26 05:24:03 +04:00
test_journal_enum_SOURCES = \
src/journal/test-journal-enum.c
test_journal_enum_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-10-26 05:24:03 +04:00
2012-07-13 02:29:26 +04:00
test_journal_stream_SOURCES = \
src/journal/test-journal-stream.c
test_journal_stream_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-07-13 02:29:26 +04:00
2013-11-27 04:01:53 +04:00
test_journal_flush_SOURCES = \
src/journal/test-journal-flush.c
test_journal_flush_LDADD = \
libsystemd-journal-core.la
2013-08-02 19:01:10 +04:00
test_journal_init_SOURCES = \
src/journal/test-journal-init.c
test_journal_init_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2013-08-02 19:01:10 +04:00
2012-08-15 03:54:09 +04:00
test_journal_verify_SOURCES = \
src/journal/test-journal-verify.c
test_journal_verify_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-08-15 03:54:09 +04:00
2013-06-07 08:50:21 +04:00
test_journal_interleaving_SOURCES = \
src/journal/test-journal-interleaving.c
test_journal_interleaving_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2013-06-07 08:50:21 +04:00
2012-09-21 22:52:23 +04:00
test_mmap_cache_SOURCES = \
src/journal/test-mmap-cache.c
test_mmap_cache_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-09-21 22:52:23 +04:00
2012-11-16 02:03:31 +04:00
test_catalog_SOURCES = \
src/journal/test-catalog.c
2013-12-11 01:30:46 +04:00
test_catalog_CPPFLAGS = \
$( AM_CPPFLAGS) \
2013-07-18 10:30:06 +04:00
-DCATALOG_DIR= \" $( abs_top_srcdir) /catalog\"
2012-11-16 02:03:31 +04:00
test_catalog_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-core.la
2012-11-16 02:03:31 +04:00
2014-06-24 22:42:29 +04:00
test_compress_SOURCES = \
src/journal/test-compress.c
test_compress_LDADD = \
libsystemd-journal-internal.la \
libsystemd-shared.la
compress: add benchmark-style test
This is useful to test the behaviour of the compressor for various buffer
sizes.
Time is limited to a minute per compression, since otherwise, when LZ4
takes more than a second which is necessary to reduce the noise, XZ
takes more than 10 minutes.
% build/test-compress-benchmark (without time limit)
XZ: compressed & decompressed 2535300963 bytes in 794.57s (3.04MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.56s (1550.07MiB/s), mean compresion 99.60%, skipped 990 bytes
% build/test-compress-benchmark (with time limit)
XZ: compressed & decompressed 174321481 bytes in 60.02s (2.77MiB/s), mean compresion 99.76%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.63s (1480.83MiB/s), mean compresion 99.60%, skipped 990 bytes
It appears that there's a bug in lzma_end where it leaks 32 bytes.
2014-07-05 22:29:56 +04:00
test_compress_benchmark_SOURCES = \
src/journal/test-compress-benchmark.c
test_compress_benchmark_LDADD = \
libsystemd-journal-internal.la \
libsystemd-shared.la
2015-04-14 17:29:03 +03:00
test_audit_type_SOURCES = \
src/journal/test-audit-type.c
test_audit_type_LDADD = \
libsystemd-journal-core.la
2013-11-07 17:59:16 +04:00
libsystemd_journal_core_la_SOURCES = \
2012-11-12 20:29:07 +04:00
src/journal/journald-kmsg.c \
src/journal/journald-kmsg.h \
src/journal/journald-syslog.c \
src/journal/journald-syslog.h \
src/journal/journald-stream.c \
src/journal/journald-stream.h \
src/journal/journald-server.c \
src/journal/journald-server.h \
src/journal/journald-console.c \
src/journal/journald-console.h \
2014-03-14 03:38:15 +04:00
src/journal/journald-wall.c \
src/journal/journald-wall.h \
2012-11-12 20:29:07 +04:00
src/journal/journald-native.c \
src/journal/journald-native.h \
2014-11-03 22:58:24 +03:00
src/journal/journald-audit.c \
src/journal/journald-audit.h \
2012-11-12 20:29:07 +04:00
src/journal/journald-rate-limit.c \
src/journal/journald-rate-limit.h \
src/journal/journal-internal.h
2012-01-04 22:36:45 +04:00
2013-11-07 17:59:16 +04:00
nodist_libsystemd_journal_core_la_SOURCES = \
src/journal/journald-gperf.c
2012-08-13 22:31:10 +04:00
2013-11-07 17:59:16 +04:00
libsystemd_journal_core_la_LIBADD = \
libsystemd-journal-internal.la \
libudev-internal.la \
libsystemd-label.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2012-11-12 20:29:07 +04:00
i f H A V E _ A C L
2013-11-07 17:59:16 +04:00
libsystemd_journal_core_la_LIBADD += \
2012-11-12 20:29:07 +04:00
libsystemd-acl.la
e n d i f
2012-08-13 22:31:10 +04:00
2013-11-07 17:59:16 +04:00
noinst_LTLIBRARIES += \
libsystemd-journal-core.la
2011-05-24 01:55:06 +04:00
2014-02-22 20:58:05 +04:00
journal-install-hook :
-$( MKDIR_P) $( DESTDIR) /var/log/journal
-chown 0:0 $( DESTDIR) /var/log/journal
-chmod 755 $( DESTDIR) /var/log/journal
-setfacl -nm g:adm:rx,d:g:adm:rx $( DESTDIR) /var/log/journal/
-setfacl -nm g:wheel:rx,d:g:wheel:rx $( DESTDIR) /var/log/journal/
2013-02-23 20:52:04 +04:00
2014-02-22 20:58:05 +04:00
journal-uninstall-hook :
2014-03-31 07:08:02 +04:00
-rmdir $( DESTDIR) /var/log/journal/remote
2014-02-22 20:58:05 +04:00
-rmdir $( DESTDIR) /var/log/journal/
INSTALL_EXEC_HOOKS += journal-install-hook
UNINSTALL_EXEC_HOOKS += journal-uninstall-hook
# ------------------------------------------------------------------------------
2012-11-16 20:58:31 +04:00
# Update catalog on installation. Do not bother if installing
2012-11-16 14:00:49 +04:00
# in DESTDIR, since this is likely for packaging purposes.
catalog-update-hook :
2012-11-17 02:08:27 +04:00
-test -n " $( DESTDIR) " || $( rootbindir) /journalctl --update-catalog
2012-11-16 14:00:49 +04:00
2012-11-16 16:53:32 +04:00
INSTALL_DATA_HOOKS += \
2012-11-16 14:00:49 +04:00
catalog-update-hook
2012-11-17 02:08:27 +04:00
catalog-remove-hook :
-test -n " $( DESTDIR) " || rm -f $( catalogstatedir) /database
UNINSTALL_DATA_HOOKS += \
catalog-remove-hook
2013-04-18 16:40:24 +04:00
manual_tests += \
2013-03-29 04:17:24 +04:00
test-journal-enum
2011-12-31 09:02:42 +04:00
2013-04-18 16:40:24 +04:00
tests += \
2012-07-15 17:48:26 +04:00
test-journal \
2012-10-13 13:31:54 +04:00
test-journal-send \
test-journal-syslog \
2012-07-13 15:50:39 +04:00
test-journal-match \
2012-08-15 03:54:09 +04:00
test-journal-stream \
2013-08-02 19:01:10 +04:00
test-journal-init \
2012-09-24 12:19:23 +04:00
test-journal-verify \
2013-06-07 08:50:21 +04:00
test-journal-interleaving \
2013-11-27 04:01:53 +04:00
test-journal-flush \
2013-03-29 04:17:24 +04:00
test-mmap-cache \
2015-04-14 17:29:03 +03:00
test-catalog \
test-audit-type
2012-07-13 15:50:39 +04:00
2014-07-11 18:42:06 +04:00
i f H A V E _ C O M P R E S S I O N
compress: add benchmark-style test
This is useful to test the behaviour of the compressor for various buffer
sizes.
Time is limited to a minute per compression, since otherwise, when LZ4
takes more than a second which is necessary to reduce the noise, XZ
takes more than 10 minutes.
% build/test-compress-benchmark (without time limit)
XZ: compressed & decompressed 2535300963 bytes in 794.57s (3.04MiB/s), mean compresion 99.95%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.56s (1550.07MiB/s), mean compresion 99.60%, skipped 990 bytes
% build/test-compress-benchmark (with time limit)
XZ: compressed & decompressed 174321481 bytes in 60.02s (2.77MiB/s), mean compresion 99.76%, skipped 3570 bytes
LZ4: compressed & decompressed 2535303543 bytes in 1.63s (1480.83MiB/s), mean compresion 99.60%, skipped 990 bytes
It appears that there's a bug in lzma_end where it leaks 32 bytes.
2014-07-05 22:29:56 +04:00
tests += \
test-compress \
test-compress-benchmark
2014-07-11 18:42:06 +04:00
e n d i f
2014-06-24 22:42:29 +04:00
2011-12-31 12:17:48 +04:00
pkginclude_HEADERS += \
2012-01-05 19:01:58 +04:00
src/systemd/sd-journal.h \
2013-10-16 19:00:13 +04:00
src/systemd/sd-messages.h \
src/systemd/_sd-common.h
2011-12-31 09:02:42 +04:00
2014-02-19 19:33:09 +04:00
libsystemd_journal_internal_la_SOURCES = \
src/journal/sd-journal.c \
src/systemd/sd-journal.h \
src/systemd/_sd-common.h \
src/journal/journal-file.c \
src/journal/journal-file.h \
src/journal/journal-vacuum.c \
src/journal/journal-vacuum.h \
src/journal/journal-verify.c \
src/journal/journal-verify.h \
src/journal/lookup3.c \
src/journal/lookup3.h \
src/journal/journal-send.c \
src/journal/journal-def.h \
src/journal/compress.h \
src/journal/catalog.c \
src/journal/catalog.h \
src/journal/mmap-cache.c \
2015-01-11 02:25:31 +03:00
src/journal/mmap-cache.h \
2015-03-16 20:14:18 +03:00
src/journal/compress.c \
src/journal/audit-type.h \
src/journal/audit-type.c \
src/journal/audit_type-to-name.h
gperf_txt_sources += \
src/journal/audit_type-list.txt
2014-02-19 19:33:09 +04:00
# using _CFLAGS = in the conditional below would suppress AM_CFLAGS
2014-06-17 21:26:14 +04:00
libsystemd_journal_internal_la_CFLAGS = \
2014-02-19 19:33:09 +04:00
$( AM_CFLAGS)
2015-01-11 02:25:31 +03:00
libsystemd_journal_internal_la_LIBADD = \
libsystemd-label.la
2014-02-19 19:33:09 +04:00
2014-07-04 06:42:22 +04:00
i f H A V E _ X Z
2014-02-19 19:33:09 +04:00
libsystemd_journal_internal_la_CFLAGS += \
$( XZ_CFLAGS)
libsystemd_journal_internal_la_LIBADD += \
$( XZ_LIBS)
e n d i f
2014-07-04 06:42:22 +04:00
i f H A V E _ L Z 4
libsystemd_journal_internal_la_LIBADD += \
-llz4
e n d i f
2014-02-19 19:33:09 +04:00
i f H A V E _ G C R Y P T
libsystemd_journal_internal_la_SOURCES += \
src/journal/journal-authenticate.c \
src/journal/journal-authenticate.h \
src/journal/fsprg.c \
src/journal/fsprg.h
libsystemd_journal_internal_la_LIBADD += \
$( GCRYPT_LIBS)
2014-02-19 21:30:14 +04:00
# fsprg.c is a drop-in file using void pointer arithmetic
2014-02-19 19:33:09 +04:00
libsystemd_journal_internal_la_CFLAGS += \
$( GCRYPT_CFLAGS) \
-Wno-pointer-arith
e n d i f
2011-12-31 09:02:42 +04:00
2012-07-12 02:06:24 +04:00
noinst_LTLIBRARIES += \
libsystemd-journal-internal.la
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
2014-03-15 23:58:03 +04:00
systemd-journald
2010-10-07 15:24:41 +04:00
2011-12-31 12:17:48 +04:00
rootbin_PROGRAMS += \
2012-03-26 22:58:47 +04:00
journalctl
2010-10-07 15:24:41 +04:00
2012-01-14 02:17:54 +04:00
bin_PROGRAMS += \
2012-01-16 16:49:08 +04:00
systemd-cat
2012-01-14 02:17:54 +04:00
2011-12-31 12:17:48 +04:00
dist_systemunit_DATA += \
2014-06-04 18:37:02 +04:00
units/systemd-journald.socket \
2014-11-03 22:58:24 +03:00
units/systemd-journald-dev-log.socket \
units/systemd-journald-audit.socket
2010-10-07 15:24:41 +04:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
2012-07-11 04:41:16 +04:00
units/systemd-journald.service \
2014-06-13 15:10:30 +04:00
units/systemd-journal-flush.service \
units/systemd-journal-catalog-update.service
2010-08-19 04:03:03 +04:00
2012-01-04 23:40:04 +04:00
dist_pkgsysconf_DATA += \
2012-03-31 01:18:33 +04:00
src/journal/journald.conf
2012-01-04 23:40:04 +04:00
2012-11-16 02:03:31 +04:00
dist_catalog_DATA = \
2013-12-03 05:29:10 +04:00
catalog/systemd.fr.catalog \
catalog/systemd.it.catalog \
2014-09-28 01:30:15 +04:00
catalog/systemd.pl.catalog \
2015-01-12 02:11:42 +03:00
catalog/systemd.pt_BR.catalog \
2014-09-28 01:30:15 +04:00
catalog/systemd.ru.catalog \
2012-11-16 02:03:31 +04:00
catalog/systemd.catalog
2013-01-23 07:24:54 +04:00
SOCKETS_TARGET_WANTS += \
2014-06-04 18:37:02 +04:00
systemd-journald.socket \
2014-11-03 22:58:24 +03:00
systemd-journald-dev-log.socket \
systemd-journald-audit.socket
2014-06-04 18:37:02 +04:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
systemd-journald.service \
2014-06-13 15:10:30 +04:00
systemd-journal-flush.service \
systemd-journal-catalog-update.service
2010-09-28 04:34:02 +04:00
2011-12-31 12:17:48 +04:00
EXTRA_DIST += \
2012-01-04 23:40:04 +04:00
units/systemd-journald.service.in \
2012-07-11 04:41:16 +04:00
units/systemd-journal-flush.service.in \
2015-03-03 16:33:15 +03:00
units/systemd-journal-catalog-update.service.in
2012-01-04 23:40:04 +04:00
2015-03-03 16:33:15 +03:00
gperf_gperf_sources += \
src/journal/journald-gperf.gperf
2010-09-28 04:34:02 +04:00
2013-01-30 21:01:23 +04:00
# ------------------------------------------------------------------------------
2012-09-28 02:46:32 +04:00
i f H A V E _ M I C R O H T T P D
gatewayddocumentrootdir = $( pkgdatadir) /gatewayd
rootlibexec_PROGRAMS += \
systemd-journal-gatewayd
systemd_journal_gatewayd_SOURCES = \
2014-03-26 06:30:24 +04:00
src/journal-remote/journal-gatewayd.c \
src/journal-remote/microhttpd-util.h \
src/journal-remote/microhttpd-util.c
2012-09-28 02:46:32 +04:00
systemd_journal_gatewayd_LDADD = \
libsystemd-logs.la \
libsystemd-journal-internal.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la \
2012-09-28 02:46:32 +04:00
$( MICROHTTPD_LIBS)
2012-11-29 02:08:35 +04:00
i f H A V E _ G N U T L S
systemd_journal_gatewayd_LDADD += \
$( GNUTLS_LIBS)
e n d i f
2012-09-28 02:46:32 +04:00
systemd_journal_gatewayd_CFLAGS = \
$( AM_CFLAGS) \
$( MICROHTTPD_CFLAGS)
2013-12-11 01:30:46 +04:00
systemd_journal_gatewayd_CPPFLAGS = \
$( AM_CPPFLAGS) \
-DDOCUMENT_ROOT= \" $( gatewayddocumentrootdir) \"
2012-09-28 02:46:32 +04:00
dist_systemunit_DATA += \
units/systemd-journal-gatewayd.socket
nodist_systemunit_DATA += \
units/systemd-journal-gatewayd.service
dist_gatewayddocumentroot_DATA = \
2014-03-26 06:30:24 +04:00
src/journal-remote/browse.html
2012-09-28 02:46:32 +04:00
e n d i f
2012-10-13 15:13:50 +04:00
EXTRA_DIST += \
units/systemd-journal-gatewayd.service.in
2013-10-15 03:41:47 +04:00
# ------------------------------------------------------------------------------
2013-10-18 04:40:26 +04:00
systemd_socket_proxyd_SOURCES = \
src/socket-proxy/socket-proxyd.c
2013-10-15 03:41:47 +04:00
2013-10-18 04:40:26 +04:00
systemd_socket_proxyd_LDADD = \
2013-10-15 03:41:47 +04:00
libsystemd-logs.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-10-15 03:41:47 +04:00
libsystemd-journal-internal.la \
2014-06-05 18:12:48 +04:00
libsystemd-shared.la \
libsystemd-resolve.la
2013-10-15 03:41:47 +04:00
2012-01-16 16:49:08 +04:00
# ------------------------------------------------------------------------------
2012-01-14 03:37:35 +04:00
i f E N A B L E _ C O R E D U M P
systemd_coredump_SOURCES = \
2014-06-27 20:57:24 +04:00
src/journal/coredump.c \
src/journal/coredump-vacuum.c \
src/journal/coredump-vacuum.h
2012-01-14 03:37:35 +04:00
systemd_coredump_LDADD = \
2012-07-12 02:06:24 +04:00
libsystemd-journal-internal.la \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-03-26 02:16:31 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2012-05-31 00:25:01 +04:00
2014-06-19 14:07:12 +04:00
i f H A V E _ E L F U T I L S
systemd_coredump_SOURCES += \
src/journal/stacktrace.c \
src/journal/stacktrace.h
systemd_coredump_LDADD += \
$( ELFUTILS_LIBS)
e n d i f
2012-01-14 03:37:35 +04:00
rootlibexec_PROGRAMS += \
2012-01-16 16:49:08 +04:00
systemd-coredump
2012-01-14 03:37:35 +04:00
2014-06-19 00:02:18 +04:00
dist_pkgsysconf_DATA += \
src/journal/coredump.conf
i f H A V E _ A C L
systemd_coredump_LDADD += \
libsystemd-acl.la
e n d i f
2014-06-19 15:46:01 +04:00
coredumpctl_SOURCES = \
2013-03-05 02:20:16 +04:00
src/journal/coredumpctl.c
2014-06-19 15:46:01 +04:00
coredumpctl_LDADD = \
2013-08-02 15:58:26 +04:00
libsystemd-journal-internal.la \
2014-01-26 01:05:08 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-03-05 02:20:16 +04:00
bin_PROGRAMS += \
2014-06-19 15:46:01 +04:00
coredumpctl
2013-03-05 02:20:16 +04:00
2014-06-27 20:57:24 +04:00
manual_tests += \
test-coredump-vacuum
test_coredump_vacuum_SOURCES = \
src/journal/test-coredump-vacuum.c \
src/journal/coredump-vacuum.c \
src/journal/coredump-vacuum.h
test_coredump_vacuum_LDADD = \
libsystemd-internal.la \
libsystemd-shared.la
2013-03-05 02:20:16 +04:00
dist_bashcompletion_DATA += \
2014-06-19 15:46:01 +04:00
shell-completion/bash/coredumpctl
2013-03-05 02:20:16 +04:00
2013-07-29 23:09:10 +04:00
dist_zshcompletion_DATA += \
2014-06-19 15:46:01 +04:00
shell-completion/zsh/_coredumpctl
2013-07-29 23:09:10 +04:00
2015-03-03 08:21:10 +03:00
nodist_sysctl_DATA = \
2013-03-15 18:54:35 +04:00
sysctl.d/50-coredump.conf
2012-01-14 03:37:35 +04:00
2012-01-16 16:49:08 +04:00
CLEANFILES += \
2013-03-15 18:54:35 +04:00
sysctl.d/50-coredump.conf
2012-01-14 03:37:35 +04:00
e n d i f
2012-07-28 06:43:38 +04:00
EXTRA_DIST += \
2013-03-15 18:54:35 +04:00
sysctl.d/50-coredump.conf.in
2012-07-28 06:43:38 +04:00
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ B I N F M T
systemd_binfmt_SOURCES = \
src/binfmt/binfmt.c
systemd_binfmt_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2010-10-19 23:19:12 +04:00
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
systemd-binfmt
2011-03-04 23:53:19 +03:00
2011-12-31 12:17:48 +04:00
dist_systemunit_DATA += \
units/proc-sys-fs-binfmt_misc.automount \
units/proc-sys-fs-binfmt_misc.mount
2011-03-04 23:53:19 +03:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
units/systemd-binfmt.service
2011-03-04 23:53:19 +03:00
2013-01-23 07:24:54 +04:00
INSTALL_DIRS += \
$( prefix) /lib/binfmt.d \
$( sysconfdir) /binfmt.d
2010-11-18 23:52:26 +03:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
systemd-binfmt.service \
proc-sys-fs-binfmt_misc.automount
2010-11-18 23:52:26 +03:00
2012-07-28 06:43:38 +04:00
e n d i f
2010-11-18 23:52:26 +03:00
2011-12-31 12:17:48 +04:00
EXTRA_DIST += \
units/systemd-binfmt.service.in
2010-10-19 23:19:12 +04:00
2011-12-31 22:35:52 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ V C O N S O L E
systemd_vconsole_setup_SOURCES = \
src/vconsole/vconsole-setup.c
systemd_vconsole_setup_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2011-12-31 22:35:52 +04:00
rootlibexec_PROGRAMS += \
systemd-vconsole-setup
2014-11-29 08:35:38 +03:00
nodist_udevrules_DATA += \
2014-11-05 16:30:52 +03:00
src/vconsole/90-vconsole.rules
2015-03-03 16:33:15 +03:00
nodist_systemunit_DATA += \
units/systemd-vconsole-setup.service
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
systemd-vconsole-setup.service
2012-07-28 06:43:38 +04:00
e n d i f
2011-12-31 22:35:52 +04:00
EXTRA_DIST += \
2014-11-29 08:35:38 +03:00
src/vconsole/90-vconsole.rules.in \
2011-12-31 22:35:52 +04:00
units/systemd-vconsole-setup.service.in
2012-10-18 03:01:12 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ B O O T C H A R T
systemd_bootchart_SOURCES = \
src/bootchart/bootchart.c \
src/bootchart/bootchart.h \
2013-03-11 22:18:50 +04:00
src/bootchart/store.c \
2013-03-12 01:47:58 +04:00
src/bootchart/store.h \
2013-03-13 21:24:06 +04:00
src/bootchart/svg.c \
src/bootchart/svg.h
2012-10-18 03:01:12 +04:00
2013-01-25 19:33:07 +04:00
systemd_bootchart_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-journal-internal.la \
libsystemd-shared.la
2013-01-25 19:33:07 +04:00
2012-10-18 03:01:12 +04:00
rootlibexec_PROGRAMS += \
systemd-bootchart
2013-01-08 16:23:32 +04:00
dist_pkgsysconf_DATA += \
src/bootchart/bootchart.conf
2014-11-15 09:42:11 +03:00
nodist_systemunit_DATA += \
units/systemd-bootchart.service
EXTRA_DIST += \
units/systemd-bootchart.service.in
2012-10-18 03:01:12 +04:00
e n d i f
2012-01-02 20:07:00 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ Q U O T A C H E C K
rootlibexec_PROGRAMS += \
systemd-quotacheck
nodist_systemunit_DATA += \
2012-06-25 15:47:45 +04:00
units/systemd-quotacheck.service
2012-01-02 20:07:00 +04:00
systemd_quotacheck_SOURCES = \
2012-04-12 19:15:18 +04:00
src/quotacheck/quotacheck.c
2012-01-02 20:07:00 +04:00
systemd_quotacheck_LDADD = \
2012-04-10 23:54:31 +04:00
libsystemd-shared.la
2012-01-02 20:07:00 +04:00
e n d i f
2012-07-28 06:43:38 +04:00
EXTRA_DIST += \
units/systemd-quotacheck.service.in
2012-09-03 01:28:30 +04:00
nodist_systemunit_DATA += \
units/quotaon.service
2012-01-02 20:07:00 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ R A N D O M S E E D
rootlibexec_PROGRAMS += \
systemd-random-seed
nodist_systemunit_DATA += \
2013-05-16 00:38:51 +04:00
units/systemd-random-seed.service
2012-01-02 20:07:00 +04:00
systemd_random_seed_SOURCES = \
2012-04-12 19:15:18 +04:00
src/random-seed/random-seed.c
2012-01-02 20:07:00 +04:00
systemd_random_seed_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2012-01-02 20:07:00 +04:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
2013-05-16 00:38:51 +04:00
systemd-random-seed.service
2012-06-25 14:13:17 +04:00
2012-01-02 20:07:00 +04:00
e n d i f
2012-07-28 06:43:38 +04:00
EXTRA_DIST += \
2013-05-16 00:38:51 +04:00
units/systemd-random-seed.service.in
2012-07-28 06:43:38 +04:00
2013-08-14 03:57:02 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ B A C K L I G H T
rootlibexec_PROGRAMS += \
systemd-backlight
nodist_systemunit_DATA += \
units/systemd-backlight@.service
systemd_backlight_SOURCES = \
src/backlight/backlight.c
systemd_backlight_LDADD = \
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-08-14 03:57:02 +04:00
e n d i f
EXTRA_DIST += \
units/systemd-backlight@.service.in
2013-10-14 06:31:49 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ R F K I L L
rootlibexec_PROGRAMS += \
systemd-rfkill
nodist_systemunit_DATA += \
units/systemd-rfkill@.service
systemd_rfkill_SOURCES = \
src/rfkill/rfkill.c
systemd_rfkill_LDADD = \
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-10-14 06:31:49 +04:00
e n d i f
EXTRA_DIST += \
units/systemd-rfkill@.service.in
2011-12-31 22:59:09 +04:00
# ------------------------------------------------------------------------------
i f H A V E _ L I B C R Y P T S E T U P
rootlibexec_PROGRAMS += \
systemd-cryptsetup
systemgenerator_PROGRAMS += \
systemd-cryptsetup-generator
dist_systemunit_DATA += \
2014-06-18 02:07:56 +04:00
units/cryptsetup.target \
units/cryptsetup-pre.target
2011-12-31 22:59:09 +04:00
systemd_cryptsetup_SOURCES = \
2012-04-12 16:40:20 +04:00
src/cryptsetup/cryptsetup.c
2011-12-31 22:59:09 +04:00
systemd_cryptsetup_CFLAGS = \
$( AM_CFLAGS) \
2012-04-03 23:24:46 +04:00
$( LIBCRYPTSETUP_CFLAGS)
2011-12-31 22:59:09 +04:00
systemd_cryptsetup_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2012-04-11 14:30:53 +04:00
libsystemd-shared.la \
2012-04-10 23:54:31 +04:00
$( LIBCRYPTSETUP_LIBS)
2011-12-31 22:59:09 +04:00
systemd_cryptsetup_generator_SOURCES = \
2012-04-12 03:51:49 +04:00
src/cryptsetup/cryptsetup-generator.c
2011-12-31 22:59:09 +04:00
systemd_cryptsetup_generator_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
libsystemd-shared.la
2011-12-31 22:59:09 +04:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
cryptsetup.target
2012-06-27 14:19:35 +04:00
2011-12-31 22:59:09 +04:00
e n d i f
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ H O S T N A M E D
systemd_hostnamed_SOURCES = \
2012-04-12 16:40:20 +04:00
src/hostname/hostnamed.c
2011-12-31 12:17:48 +04:00
systemd_hostnamed_LDADD = \
2013-02-14 15:26:13 +04:00
libsystemd-label.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2010-10-19 23:19:12 +04:00
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
systemd-hostnamed
2010-10-19 23:19:12 +04:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
units/systemd-hostnamed.service
2010-10-08 00:38:40 +04:00
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames += \
2013-12-03 07:27:03 +04:00
units/org.freedesktop.hostname1.busname
2011-12-31 12:17:48 +04:00
dist_dbuspolicy_DATA += \
src/hostname/org.freedesktop.hostname1.conf
2010-11-08 08:31:09 +03:00
2011-12-31 12:17:48 +04:00
dist_dbussystemservice_DATA += \
src/hostname/org.freedesktop.hostname1.service
2010-11-08 08:31:09 +03:00
2012-07-28 06:43:38 +04:00
polkitpolicy_files += \
src/hostname/org.freedesktop.hostname1.policy
2010-11-08 08:31:09 +03:00
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-hostnamed.service dbus-org.freedesktop.hostname1.service
2011-12-31 12:17:48 +04:00
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS += \
org.freedesktop.hostname1.busname
2012-10-17 23:23:30 +04:00
hostnamectl_SOURCES = \
src/hostname/hostnamectl.c
hostnamectl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2012-10-17 23:23:30 +04:00
bin_PROGRAMS += \
hostnamectl
2013-03-03 01:34:01 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/hostnamectl
2013-07-29 23:05:48 +04:00
dist_zshcompletion_DATA += \
shell-completion/zsh/_hostnamectl
2012-07-28 06:43:38 +04:00
e n d i f
2013-12-17 04:36:59 +04:00
polkitpolicy_in_files += \
src/hostname/org.freedesktop.hostname1.policy.in
EXTRA_DIST += \
units/systemd-hostnamed.service.in
# ------------------------------------------------------------------------------
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames += \
2014-03-17 14:41:21 +04:00
units/org.freedesktop.systemd1.busname
2013-12-17 05:43:38 +04:00
BUSNAMES_TARGET_WANTS += \
2014-03-17 14:41:21 +04:00
org.freedesktop.systemd1.busname
2013-11-30 03:45:53 +04:00
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ L O C A L E D
systemd_localed_SOURCES = \
2012-04-12 16:40:20 +04:00
src/locale/localed.c
2011-12-31 12:17:48 +04:00
systemd_localed_LDADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2014-11-24 17:12:42 +03:00
libsystemd-shared.la \
$( XKBCOMMON_LIBS)
systemd_localed_CFLAGS = \
$( AM_CFLAGS) \
$( XKBCOMMON_CFLAGS)
2011-02-21 23:48:59 +03:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
units/systemd-localed.service
2011-02-21 23:48:59 +03:00
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames += \
2013-12-03 07:27:03 +04:00
units/org.freedesktop.locale1.busname
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
systemd-localed
2011-02-21 23:48:59 +03:00
2011-12-31 12:17:48 +04:00
dist_dbuspolicy_DATA += \
src/locale/org.freedesktop.locale1.conf
2010-11-08 07:02:45 +03:00
2011-12-31 12:17:48 +04:00
dist_dbussystemservice_DATA += \
src/locale/org.freedesktop.locale1.service
2010-11-08 07:02:45 +03:00
2012-07-28 06:43:38 +04:00
polkitpolicy_files += \
src/locale/org.freedesktop.locale1.policy
2010-11-08 07:02:45 +03:00
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-localed.service dbus-org.freedesktop.locale1.service
2011-03-15 02:44:13 +03:00
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS += \
org.freedesktop.locale1.busname
2012-07-01 19:37:21 +04:00
dist_pkgdata_DATA += \
2015-01-31 22:11:23 +03:00
src/locale/kbd-model-map \
src/locale/language-fallback-map
2012-01-02 19:50:03 +04:00
2012-10-19 06:55:49 +04:00
localectl_SOURCES = \
src/locale/localectl.c
localectl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2012-10-19 06:55:49 +04:00
bin_PROGRAMS += \
localectl
2013-03-03 01:34:01 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/localectl
2013-07-29 23:08:07 +04:00
dist_zshcompletion_DATA += \
shell-completion/zsh/_localectl
2011-12-31 12:17:48 +04:00
e n d i f
2011-03-15 02:44:13 +03:00
2014-01-26 20:36:04 +04:00
.PHONY : update -kbd -model -map
2012-07-28 06:43:38 +04:00
polkitpolicy_in_files += \
src/locale/org.freedesktop.locale1.policy.in
EXTRA_DIST += \
units/systemd-localed.service.in
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ T I M E D A T E D
systemd_timedated_SOURCES = \
2012-04-12 16:40:20 +04:00
src/timedate/timedated.c
2011-03-15 02:44:13 +03:00
2011-12-31 12:17:48 +04:00
systemd_timedated_LDADD = \
2014-04-28 16:45:42 +04:00
libsystemd-label.la \
libsystemd-internal.la \
libsystemd-shared.la
2011-12-02 13:18:46 +04:00
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
systemd-timedated
2011-12-02 13:18:46 +04:00
2011-12-31 12:17:48 +04:00
dist_dbussystemservice_DATA += \
src/timedate/org.freedesktop.timedate1.service
2010-10-08 00:38:40 +04:00
2011-12-31 12:17:48 +04:00
dist_dbuspolicy_DATA += \
src/timedate/org.freedesktop.timedate1.conf
2010-10-08 00:38:40 +04:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
units/systemd-timedated.service
2010-08-19 04:03:03 +04:00
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames += \
2013-12-03 07:27:03 +04:00
units/org.freedesktop.timedate1.busname
2012-07-28 06:43:38 +04:00
polkitpolicy_files += \
src/timedate/org.freedesktop.timedate1.policy
2010-09-16 02:36:41 +04:00
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-timedated.service dbus-org.freedesktop.timedate1.service
2010-08-20 05:26:15 +04:00
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS += \
org.freedesktop.timedate1.busname
2012-10-17 04:50:09 +04:00
timedatectl_SOURCES = \
src/timedate/timedatectl.c
timedatectl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2012-10-17 04:50:09 +04:00
bin_PROGRAMS += \
timedatectl
2013-03-03 01:34:01 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/timedatectl
2013-07-29 23:09:48 +04:00
dist_zshcompletion_DATA += \
shell-completion/zsh/_timedatectl
2012-07-28 06:43:38 +04:00
e n d i f
polkitpolicy_in_files += \
src/timedate/org.freedesktop.timedate1.policy.in
2012-06-26 00:56:45 +04:00
2011-12-31 12:17:48 +04:00
EXTRA_DIST += \
units/systemd-timedated.service.in
2010-08-20 05:26:15 +04:00
2013-01-30 21:01:23 +04:00
# ------------------------------------------------------------------------------
2014-04-28 16:45:42 +04:00
i f E N A B L E _ T I M E S Y N C D
systemd_timesyncd_SOURCES = \
2014-05-06 19:02:11 +04:00
src/timesync/timesyncd.c \
2014-08-12 18:58:56 +04:00
src/timesync/timesyncd-manager.c \
src/timesync/timesyncd-manager.h \
src/timesync/timesyncd-conf.c \
src/timesync/timesyncd-conf.h \
src/timesync/timesyncd-server.c \
src/timesync/timesyncd-server.h
2014-05-06 19:02:11 +04:00
nodist_systemd_timesyncd_SOURCES = \
src/timesync/timesyncd-gperf.c
2015-03-03 16:33:15 +03:00
gperf_gperf_sources += \
2014-05-06 19:02:11 +04:00
src/timesync/timesyncd-gperf.gperf
2014-04-28 16:45:42 +04:00
systemd_timesyncd_LDADD = \
2014-05-06 01:53:17 +04:00
libsystemd-resolve.la \
2014-05-07 17:26:47 +04:00
libsystemd-network.la \
2014-05-22 04:41:32 +04:00
libsystemd-label.la \
libsystemd-internal.la \
2015-01-11 02:25:31 +03:00
libsystemd-shared.la
2014-04-28 16:45:42 +04:00
2014-04-29 10:57:51 +04:00
rootlibexec_PROGRAMS += \
2014-04-28 16:45:42 +04:00
systemd-timesyncd
2014-04-29 10:57:51 +04:00
nodist_systemunit_DATA += \
units/systemd-timesyncd.service
2014-06-25 16:43:57 +04:00
GENERAL_ALIASES += \
2014-07-18 08:33:52 +04:00
$( systemunitdir) /systemd-timesyncd.service $( pkgsysconfdir) /system/sysinit.target.wants/systemd-timesyncd.service
2014-06-25 16:43:57 +04:00
2014-04-29 10:57:51 +04:00
EXTRA_DIST += \
units/systemd-timesyncd.service.in
2014-05-06 19:02:11 +04:00
nodist_pkgsysconf_DATA += \
src/timesync/timesyncd.conf
EXTRA_DIST += \
src/timesync/timesyncd.conf.in
2014-04-28 16:45:42 +04:00
e n d i f
# ------------------------------------------------------------------------------
2013-01-30 21:01:23 +04:00
i f H A V E _ M Y H O S T N A M E
libnss_myhostname_la_SOURCES = \
2014-07-10 22:38:07 +04:00
src/nss-myhostname/nss-myhostname.sym \
2014-07-10 23:01:25 +04:00
src/nss-myhostname/nss-myhostname.c
2013-01-30 21:01:23 +04:00
libnss_myhostname_la_LDFLAGS = \
$( AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
2014-07-10 22:38:07 +04:00
-shrext .so.2 \
-Wl,--version-script= $( top_srcdir) /src/nss-myhostname/nss-myhostname.sym
2013-01-30 21:01:23 +04:00
2014-04-14 14:46:09 +04:00
libnss_myhostname_la_LIBADD = \
libsystemd-shared.la \
libsystemd-internal.la
2013-01-30 21:01:23 +04:00
lib_LTLIBRARIES += \
libnss_myhostname.la
e n d i f
2013-07-02 05:47:23 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ M A C H I N E D
systemd_machined_SOURCES = \
src/machine/machined.c \
2013-07-05 08:25:26 +04:00
src/machine/machined.h
systemd_machined_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-machine-core.la
2013-07-05 08:25:26 +04:00
rootlibexec_PROGRAMS += \
systemd-machined
libsystemd_machine_core_la_SOURCES = \
2013-07-02 05:47:23 +04:00
src/machine/machine.c \
src/machine/machine.h \
2014-12-19 20:42:50 +03:00
src/machine/machined-dbus.c \
2014-12-19 22:43:18 +03:00
src/machine/machine-dbus.c \
2014-12-30 02:22:33 +03:00
src/machine/machine-dbus.h \
2014-12-27 03:57:03 +03:00
src/machine/image-dbus.c \
src/machine/image-dbus.h
2013-07-02 05:47:23 +04:00
2013-07-05 08:25:26 +04:00
libsystemd_machine_core_la_LIBADD = \
2013-07-02 05:47:23 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2013-07-02 05:47:23 +04:00
2013-07-05 08:25:26 +04:00
noinst_LTLIBRARIES += \
libsystemd-machine-core.la
2013-07-02 05:47:23 +04:00
machinectl_SOURCES = \
src/machine/machinectl.c
machinectl_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2015-01-08 17:09:12 +03:00
libsystemd-logs.la \
libsystemd-journal-internal.la \
2015-05-15 10:54:10 +03:00
libsystemd-units.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2013-07-02 05:47:23 +04:00
rootbin_PROGRAMS += \
machinectl
2014-02-19 00:09:05 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/machinectl
2013-07-05 08:25:26 +04:00
test_machine_tables_SOURCES = \
src/machine/test-machine-tables.c
test_machine_tables_LDADD = \
libsystemd-machine-core.la
tests += \
test-machine-tables
2013-07-02 05:47:23 +04:00
nodist_systemunit_DATA += \
units/systemd-machined.service
dist_systemunit_DATA += \
2014-09-04 01:34:29 +04:00
units/machine.slice
dist_systemunit_DATA_busnames += \
2013-12-03 07:27:03 +04:00
units/org.freedesktop.machine1.busname
2013-07-02 05:47:23 +04:00
dist_dbussystemservice_DATA += \
src/machine/org.freedesktop.machine1.service
dist_dbuspolicy_DATA += \
src/machine/org.freedesktop.machine1.conf
2014-12-23 23:28:22 +03:00
polkitpolicy_files += \
src/machine/org.freedesktop.machine1.policy
polkitpolicy_in_files += \
src/machine/org.freedesktop.machine1.policy.in
2013-07-29 23:13:29 +04:00
dist_zshcompletion_DATA += \
2014-03-10 18:17:31 +04:00
shell-completion/zsh/_machinectl \
shell-completion/zsh/_sd_machines
2013-07-29 23:13:29 +04:00
2013-07-02 05:47:23 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-machined.service dbus-org.freedesktop.machine1.service
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS += \
org.freedesktop.machine1.busname
2013-07-02 05:47:23 +04:00
EXTRA_DIST += \
2013-07-03 06:55:45 +04:00
units/systemd-machined.service.in
2013-07-02 05:47:23 +04:00
2014-07-11 05:15:21 +04:00
libnss_mymachines_la_SOURCES = \
src/nss-mymachines/nss-mymachines.sym \
src/nss-mymachines/nss-mymachines.c
libnss_mymachines_la_LDFLAGS = \
$( AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-shrext .so.2 \
-Wl,--version-script= $( top_srcdir) /src/nss-mymachines/nss-mymachines.sym
libnss_mymachines_la_LIBADD = \
libsystemd-shared.la \
libsystemd-internal.la
lib_LTLIBRARIES += \
libnss_mymachines.la
2014-12-19 03:59:52 +03:00
2015-01-22 05:57:15 +03:00
e n d i f
# ------------------------------------------------------------------------------
i f E N A B L E _ I M P O R T D
2014-12-19 03:59:52 +03:00
i f H A V E _ L I B C U R L
2015-01-20 17:06:34 +03:00
i f H A V E _ X Z
i f H A V E _ Z L I B
2015-01-21 15:43:55 +03:00
i f H A V E _ B Z I P 2
2015-01-20 17:06:34 +03:00
i f H A V E _ G C R Y P T
2014-12-19 03:59:52 +03:00
2015-01-22 05:57:15 +03:00
rootlibexec_PROGRAMS += \
systemd-importd \
2015-03-05 02:56:08 +03:00
systemd-pull \
2015-03-09 19:55:07 +03:00
systemd-import \
systemd-export
2014-12-19 03:59:52 +03:00
2015-01-22 05:57:15 +03:00
systemd_importd_SOURCES = \
2015-01-22 19:34:54 +03:00
src/import/importd.c
2015-01-22 05:57:15 +03:00
systemd_importd_CFLAGS = \
$( AM_CFLAGS) \
2015-03-05 02:56:08 +03:00
-D SYSTEMD_PULL_PATH = \" $( rootlibexecdir) /systemd-pull\" \
2015-03-09 19:55:07 +03:00
-D SYSTEMD_IMPORT_PATH = \" $( rootlibexecdir) /systemd-import\" \
-D SYSTEMD_EXPORT_PATH = \" $( rootlibexecdir) /systemd-export\"
2015-01-22 05:57:15 +03:00
systemd_importd_LDADD = \
libsystemd-internal.la \
2015-01-23 03:16:31 +03:00
libsystemd-label.la \
2015-01-22 05:57:15 +03:00
libsystemd-shared.la
2015-01-22 19:34:54 +03:00
systemd_pull_SOURCES = \
src/import/pull.c \
2015-03-04 19:07:12 +03:00
src/import/pull-raw.c \
src/import/pull-raw.h \
src/import/pull-tar.c \
src/import/pull-tar.h \
src/import/pull-dkr.c \
src/import/pull-dkr.h \
src/import/pull-job.c \
src/import/pull-job.h \
src/import/pull-common.c \
src/import/pull-common.h \
2015-03-05 02:56:08 +03:00
src/import/import-common.c \
src/import/import-common.h \
2015-03-04 20:53:37 +03:00
src/import/import-compress.c \
src/import/import-compress.h \
2014-12-19 03:59:52 +03:00
src/import/curl-util.c \
src/import/curl-util.h \
src/import/aufs-util.c \
2015-01-16 22:07:25 +03:00
src/import/aufs-util.h \
src/import/qcow2-util.c \
src/import/qcow2-util.h
2014-12-19 03:59:52 +03:00
2015-01-22 19:34:54 +03:00
systemd_pull_CFLAGS = \
2014-12-19 03:59:52 +03:00
$( AM_CFLAGS) \
2015-01-16 20:42:17 +03:00
$( LIBCURL_CFLAGS) \
2015-01-16 22:07:25 +03:00
$( XZ_CFLAGS) \
2015-01-20 17:06:34 +03:00
$( ZLIB_CFLAGS) \
2015-01-21 05:01:13 +03:00
$( GCRYPT_CFLAGS) \
-D VENDOR_KEYRING_PATH = \" $( rootlibexecdir) /import-pubring.gpg\" \
-D USER_KEYRING_PATH = \" $( pkgsysconfdir) /import-pubring.gpg\"
2014-12-19 03:59:52 +03:00
2015-01-22 19:34:54 +03:00
systemd_pull_LDADD = \
2015-01-11 02:25:31 +03:00
libsystemd-label.la \
2015-04-22 23:06:18 +03:00
libsystemd-internal.la \
2014-12-19 03:59:52 +03:00
libsystemd-shared.la \
2015-01-16 20:42:17 +03:00
$( LIBCURL_LIBS) \
2015-01-16 22:07:25 +03:00
$( XZ_LIBS) \
2015-01-20 17:06:34 +03:00
$( ZLIB_LIBS) \
2015-01-21 15:43:55 +03:00
-lbz2 \
2015-01-20 17:06:34 +03:00
$( GCRYPT_LIBS)
2015-01-16 22:07:25 +03:00
2015-03-05 02:56:08 +03:00
systemd_import_SOURCES = \
src/import/import.c \
src/import/import-raw.c \
src/import/import-raw.h \
src/import/import-tar.c \
src/import/import-tar.h \
src/import/import-common.c \
src/import/import-common.h \
src/import/import-compress.c \
src/import/import-compress.h \
src/import/qcow2-util.c \
src/import/qcow2-util.h
systemd_import_CFLAGS = \
$( AM_CFLAGS) \
$( XZ_CFLAGS) \
$( ZLIB_CFLAGS)
systemd_import_LDADD = \
libsystemd-label.la \
2015-04-22 23:06:18 +03:00
libsystemd-internal.la \
2015-03-05 02:56:08 +03:00
libsystemd-shared.la \
$( XZ_LIBS) \
$( ZLIB_LIBS) \
-lbz2
2015-03-09 19:55:07 +03:00
systemd_export_SOURCES = \
src/import/export.c \
src/import/export-tar.c \
src/import/export-tar.h \
src/import/export-raw.c \
src/import/export-raw.h \
src/import/import-common.c \
src/import/import-common.h \
src/import/import-compress.c \
src/import/import-compress.h
systemd_export_CFLAGS = \
$( AM_CFLAGS) \
$( XZ_CFLAGS) \
$( ZLIB_CFLAGS)
systemd_export_LDADD = \
libsystemd-label.la \
2015-04-22 23:06:18 +03:00
libsystemd-internal.la \
2015-03-09 19:55:07 +03:00
libsystemd-shared.la \
$( XZ_LIBS) \
$( ZLIB_LIBS) \
-lbz2
2015-01-22 05:57:15 +03:00
dist_rootlibexec_DATA = \
src/import/import-pubring.gpg
nodist_systemunit_DATA += \
units/systemd-importd.service
EXTRA_DIST += \
units/systemd-importd.service.in
dist_systemunit_DATA_busnames += \
units/org.freedesktop.import1.busname
BUSNAMES_TARGET_WANTS += \
org.freedesktop.import1.busname
SYSTEM_UNIT_ALIASES += \
systemd-importd.service dbus-org.freedesktop.import1.service
dist_dbussystemservice_DATA += \
src/import/org.freedesktop.import1.service
dist_dbuspolicy_DATA += \
src/import/org.freedesktop.import1.conf
polkitpolicy_files += \
src/import/org.freedesktop.import1.policy
polkitpolicy_in_files += \
src/import/org.freedesktop.import1.policy.in
2015-01-16 22:07:25 +03:00
manual_tests += \
test-qcow2
test_qcow2_SOURCES = \
src/import/test-qcow2.c \
src/import/qcow2-util.c \
src/import/qcow2-util.h
test_qcow2_CFLAGS = \
$( AM_CFLAGS) \
$( ZLIB_CFLAGS)
test_qcow2_LDADD = \
libsystemd-internal.la \
2015-01-17 20:11:45 +03:00
libsystemd-label.la \
2015-01-16 22:07:25 +03:00
libsystemd-shared.la \
$( ZLIB_LIBS)
2015-01-21 05:01:13 +03:00
2014-12-19 03:59:52 +03:00
e n d i f
2015-01-20 17:06:34 +03:00
e n d i f
e n d i f
e n d i f
2015-01-21 15:43:55 +03:00
e n d i f
2014-12-19 03:59:52 +03:00
2013-07-02 05:47:23 +04:00
e n d i f
2014-05-19 00:10:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ R E S O L V E D
systemd_resolved_SOURCES = \
src/resolve/resolved.c \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-manager.c \
2014-08-01 18:14:59 +04:00
src/resolve/resolved-manager.h \
2014-08-01 18:04:12 +04:00
src/resolve/resolved-conf.c \
src/resolve/resolved-conf.h \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-bus.c \
2014-08-01 18:14:59 +04:00
src/resolve/resolved-bus.h \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-link.h \
src/resolve/resolved-link.c \
2014-08-14 03:00:15 +04:00
src/resolve/resolved-def.h \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-dns-domain.h \
src/resolve/resolved-dns-domain.c \
2014-07-22 23:48:41 +04:00
src/resolve/resolved-dns-rr.h \
src/resolve/resolved-dns-rr.c \
src/resolve/resolved-dns-question.h \
src/resolve/resolved-dns-question.c \
src/resolve/resolved-dns-answer.h \
src/resolve/resolved-dns-answer.c \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-dns-packet.h \
src/resolve/resolved-dns-packet.c \
src/resolve/resolved-dns-query.h \
src/resolve/resolved-dns-query.c \
2014-07-31 19:46:40 +04:00
src/resolve/resolved-dns-transaction.h \
src/resolve/resolved-dns-transaction.c \
2014-07-16 02:26:02 +04:00
src/resolve/resolved-dns-scope.h \
src/resolve/resolved-dns-scope.c \
src/resolve/resolved-dns-server.h \
src/resolve/resolved-dns-server.c \
2014-07-17 21:38:37 +04:00
src/resolve/resolved-dns-cache.h \
2014-07-29 16:24:02 +04:00
src/resolve/resolved-dns-cache.c \
src/resolve/resolved-dns-zone.h \
src/resolve/resolved-dns-zone.c \
src/resolve/resolved-dns-stream.h \
2014-08-02 03:37:16 +04:00
src/resolve/resolved-dns-stream.c \
src/resolve/dns-type.c \
src/resolve/dns-type.h \
src/resolve/dns_type-from-name.h \
src/resolve/dns_type-to-name.h
2014-05-21 01:31:59 +04:00
2014-05-19 00:10:48 +04:00
nodist_systemd_resolved_SOURCES = \
src/resolve/resolved-gperf.c
2015-03-03 16:33:15 +03:00
gperf_gperf_sources += \
src/resolve/resolved-gperf.gperf
2014-05-19 00:10:48 +04:00
2015-03-03 16:33:15 +03:00
gperf_txt_sources += \
src/resolve/dns_type-list.txt
2014-05-19 00:10:48 +04:00
systemd_resolved_LDADD = \
2014-05-22 04:41:32 +04:00
libsystemd-network.la \
2014-05-19 00:10:48 +04:00
libsystemd-label.la \
libsystemd-internal.la \
2014-07-31 12:19:43 +04:00
libsystemd-shared.la \
2014-08-01 01:43:10 +04:00
$( LIBIDN_LIBS)
2014-05-19 00:10:48 +04:00
rootlibexec_PROGRAMS += \
systemd-resolved
nodist_systemunit_DATA += \
units/systemd-resolved.service
2014-09-04 01:34:29 +04:00
dist_systemunit_DATA_busnames += \
2014-07-16 05:48:10 +04:00
units/org.freedesktop.resolve1.busname
2014-07-16 05:39:09 +04:00
dist_dbuspolicy_DATA += \
src/resolve/org.freedesktop.resolve1.conf
dist_dbussystemservice_DATA += \
src/resolve/org.freedesktop.resolve1.service
2014-05-19 00:10:48 +04:00
EXTRA_DIST += \
2015-03-17 18:37:07 +03:00
units/systemd-resolved.service.m4.in
2014-05-19 00:10:48 +04:00
2014-07-16 05:48:10 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-resolved.service dbus-org.freedesktop.resolve1.service
BUSNAMES_TARGET_WANTS += \
org.freedesktop.resolve1.busname
2014-05-19 00:10:48 +04:00
GENERAL_ALIASES += \
$( systemunitdir) /systemd-resolved.service $( pkgsysconfdir) /system/multi-user.target.wants/systemd-resolved.service
nodist_pkgsysconf_DATA += \
src/resolve/resolved.conf
EXTRA_DIST += \
src/resolve/resolved.conf.in
2014-07-16 02:26:02 +04:00
tests += \
test-dns-domain
test_dns_domain_SOURCES = \
src/resolve/resolved-dns-domain.h \
src/resolve/resolved-dns-domain.c \
src/resolve/test-dns-domain.c
test_dns_domain_LDADD = \
libsystemd-network.la \
libsystemd-label.la \
libsystemd-internal.la \
2014-08-01 01:43:10 +04:00
libsystemd-shared.la \
$( LIBIDN_LIBS)
2014-07-16 02:26:02 +04:00
2014-07-16 05:31:30 +04:00
libnss_resolve_la_SOURCES = \
src/nss-resolve/nss-resolve.sym \
src/nss-resolve/nss-resolve.c
libnss_resolve_la_LDFLAGS = \
$( AM_LDFLAGS) \
-module \
-export-dynamic \
-avoid-version \
-shared \
-shrext .so.2 \
-Wl,--version-script= $( top_srcdir) /src/nss-resolve/nss-resolve.sym
libnss_resolve_la_LIBADD = \
2015-01-11 02:25:31 +03:00
libsystemd-internal.la \
libsystemd-shared.la
2014-07-16 05:31:30 +04:00
lib_LTLIBRARIES += \
libnss_resolve.la
2014-07-17 00:55:23 +04:00
systemd_resolve_host_SOURCES = \
2014-07-30 21:23:27 +04:00
src/resolve-host/resolve-host.c \
src/resolve/resolved-dns-packet.c \
src/resolve/resolved-dns-packet.h \
src/resolve/resolved-dns-rr.c \
src/resolve/resolved-dns-rr.h \
src/resolve/resolved-dns-answer.c \
src/resolve/resolved-dns-answer.h \
src/resolve/resolved-dns-question.c \
src/resolve/resolved-dns-question.h \
src/resolve/resolved-dns-domain.c \
2014-08-02 03:37:16 +04:00
src/resolve/resolved-dns-domain.h \
src/resolve/dns-type.c \
src/resolve/dns-type.h \
src/resolve/dns_type-from-name.h \
src/resolve/dns_type-to-name.h
2014-07-17 00:55:23 +04:00
systemd_resolve_host_LDADD = \
libsystemd-internal.la \
2014-07-31 12:19:43 +04:00
libsystemd-shared.la \
2014-08-01 01:43:10 +04:00
$( LIBIDN_LIBS)
2014-07-17 00:55:23 +04:00
rootlibexec_PROGRAMS += \
systemd-resolve-host
2014-05-19 00:10:48 +04:00
e n d i f
2013-10-17 05:18:36 +04:00
# ------------------------------------------------------------------------------
2013-11-13 00:43:17 +04:00
i f E N A B L E _ N E T W O R K D
2013-10-17 05:18:36 +04:00
rootlibexec_PROGRAMS += \
systemd-networkd
systemd_networkd_SOURCES = \
2014-02-27 02:16:34 +04:00
src/network/networkd.c
systemd_networkd_LDADD = \
2014-11-11 18:13:59 +03:00
libsystemd-networkd-core.la
2014-02-27 02:16:34 +04:00
2015-01-13 15:47:08 +03:00
i f H A V E _ L I B I P T C
systemd_networkd_LDADD += \
libsystemd-fw.la
e n d i f
2014-02-27 02:16:34 +04:00
noinst_LTLIBRARIES += \
libsystemd-networkd-core.la
2014-05-14 03:35:20 +04:00
libsystemd_networkd_core_la_CFLAGS = \
2014-06-02 23:50:50 +04:00
$( AM_CFLAGS)
2014-05-14 03:35:20 +04:00
2014-02-27 02:16:34 +04:00
libsystemd_networkd_core_la_SOURCES = \
networkd-wait-online: improve interoptability and enable by default
To make sure we don't delay boot on systems where (some) network links are managed by someone else
we don't block if something else has successfully brought up a link.
We will still block until all links we are aware of that are managed by networkd have been
configured, but if no such links exist, and someone else have configured a link sufficiently
that it has a carrier, it may be that the link is ready so we should no longer block.
Note that in all likelyhood the link is not ready (no addresses/routes configured),
so whatever network managment daemon configured it should provide a similar wait-online
service to block network-online.target until it is ready.
The aim is to block as long as we know networking is not fully configured, but no longer. This
will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't
know whether networkd is the main/only network manager.
Even in the case networking is fully configured by networkd, the default behavior may not be
sufficient: if two links need to be configured, but the first is fully configured before the
second one appears we will assume the network is up. To work around that, we allow specifying
specific devices to wait for before considering the network up.
This unit is enabled by default, just like systemd-networkd, but will only be pulled in if
anyone pulls in network-online.target.
2014-04-23 19:42:55 +04:00
src/libsystemd-network/network-internal.h \
2013-10-17 05:18:36 +04:00
src/network/networkd.h \
2014-08-06 14:50:53 +04:00
src/network/networkd-link.h \
2014-07-06 16:07:34 +04:00
src/network/networkd-netdev.h \
src/network/networkd-netdev-tunnel.h \
src/network/networkd-netdev-veth.h \
src/network/networkd-netdev-vxlan.h \
src/network/networkd-netdev-vlan.h \
src/network/networkd-netdev-macvlan.h \
2015-01-20 00:24:32 +03:00
src/network/networkd-netdev-ipvlan.h \
2014-07-06 16:07:34 +04:00
src/network/networkd-netdev-dummy.h \
src/network/networkd-netdev-tuntap.h \
src/network/networkd-netdev-bond.h \
src/network/networkd-netdev-bridge.h \
2014-01-22 00:58:08 +04:00
src/network/networkd-netdev.c \
2014-07-06 16:07:34 +04:00
src/network/networkd-netdev-tunnel.c \
src/network/networkd-netdev-veth.c \
src/network/networkd-netdev-vxlan.c \
src/network/networkd-netdev-vlan.c \
src/network/networkd-netdev-macvlan.c \
2015-01-20 00:24:32 +03:00
src/network/networkd-netdev-ipvlan.c \
2014-07-06 16:07:34 +04:00
src/network/networkd-netdev-dummy.c \
src/network/networkd-netdev-tuntap.c \
src/network/networkd-netdev-bond.c \
src/network/networkd-netdev-bridge.c \
src/network/networkd-link.c \
2015-02-04 13:44:37 +03:00
src/network/networkd-link-bus.c \
2014-08-06 17:54:03 +04:00
src/network/networkd-ipv4ll.c \
2014-08-08 14:12:17 +04:00
src/network/networkd-dhcp4.c \
2014-12-10 17:17:34 +03:00
src/network/networkd-dhcp6.c \
2013-10-17 05:18:36 +04:00
src/network/networkd-network.c \
2015-02-08 15:27:56 +03:00
src/network/networkd-network-bus.c \
2013-10-17 05:18:36 +04:00
src/network/networkd-address.c \
src/network/networkd-route.c \
2014-06-18 20:22:14 +04:00
src/network/networkd-manager.c \
2015-02-04 13:44:37 +03:00
src/network/networkd-manager-bus.c \
2014-12-17 18:35:36 +03:00
src/network/networkd-fdb.c \
2014-06-18 20:22:14 +04:00
src/network/networkd-address-pool.c
2013-10-17 05:18:36 +04:00
2014-02-27 02:16:34 +04:00
nodist_libsystemd_networkd_core_la_SOURCES = \
2014-02-20 22:56:50 +04:00
src/network/networkd-network-gperf.c \
2014-05-19 00:10:48 +04:00
src/network/networkd-netdev-gperf.c
2013-10-17 05:18:36 +04:00
2014-02-27 02:16:34 +04:00
libsystemd_networkd_core_la_LIBADD = \
2013-10-17 05:18:36 +04:00
libudev-internal.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2014-02-27 04:24:05 +04:00
libsystemd-network.la \
2014-01-06 02:01:10 +04:00
libsystemd-label.la \
2013-10-17 05:18:36 +04:00
libsystemd-shared.la
2014-02-28 04:02:01 +04:00
rootlibexec_PROGRAMS += \
systemd-networkd-wait-online
2014-05-14 03:35:20 +04:00
systemd_networkd_wait_online_CFLAGS = \
2014-06-02 23:50:50 +04:00
$( AM_CFLAGS)
2014-05-14 03:35:20 +04:00
2014-02-28 04:02:01 +04:00
systemd_networkd_wait_online_SOURCES = \
networkd-wait-online: improve interoptability and enable by default
To make sure we don't delay boot on systems where (some) network links are managed by someone else
we don't block if something else has successfully brought up a link.
We will still block until all links we are aware of that are managed by networkd have been
configured, but if no such links exist, and someone else have configured a link sufficiently
that it has a carrier, it may be that the link is ready so we should no longer block.
Note that in all likelyhood the link is not ready (no addresses/routes configured),
so whatever network managment daemon configured it should provide a similar wait-online
service to block network-online.target until it is ready.
The aim is to block as long as we know networking is not fully configured, but no longer. This
will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't
know whether networkd is the main/only network manager.
Even in the case networking is fully configured by networkd, the default behavior may not be
sufficient: if two links need to be configured, but the first is fully configured before the
second one appears we will assume the network is up. To work around that, we allow specifying
specific devices to wait for before considering the network up.
This unit is enabled by default, just like systemd-networkd, but will only be pulled in if
anyone pulls in network-online.target.
2014-04-23 19:42:55 +04:00
src/libsystemd-network/network-internal.h \
2014-07-16 12:52:47 +04:00
src/network/networkd-wait-online.h \
src/network/networkd-wait-online-link.h \
networkd-wait-online: improve interoptability and enable by default
To make sure we don't delay boot on systems where (some) network links are managed by someone else
we don't block if something else has successfully brought up a link.
We will still block until all links we are aware of that are managed by networkd have been
configured, but if no such links exist, and someone else have configured a link sufficiently
that it has a carrier, it may be that the link is ready so we should no longer block.
Note that in all likelyhood the link is not ready (no addresses/routes configured),
so whatever network managment daemon configured it should provide a similar wait-online
service to block network-online.target until it is ready.
The aim is to block as long as we know networking is not fully configured, but no longer. This
will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't
know whether networkd is the main/only network manager.
Even in the case networking is fully configured by networkd, the default behavior may not be
sufficient: if two links need to be configured, but the first is fully configured before the
second one appears we will assume the network is up. To work around that, we allow specifying
specific devices to wait for before considering the network up.
This unit is enabled by default, just like systemd-networkd, but will only be pulled in if
anyone pulls in network-online.target.
2014-04-23 19:42:55 +04:00
src/network/networkd-wait-online.c \
2014-07-16 12:52:47 +04:00
src/network/networkd-wait-online-manager.c \
src/network/networkd-wait-online-link.c
networkd-wait-online: improve interoptability and enable by default
To make sure we don't delay boot on systems where (some) network links are managed by someone else
we don't block if something else has successfully brought up a link.
We will still block until all links we are aware of that are managed by networkd have been
configured, but if no such links exist, and someone else have configured a link sufficiently
that it has a carrier, it may be that the link is ready so we should no longer block.
Note that in all likelyhood the link is not ready (no addresses/routes configured),
so whatever network managment daemon configured it should provide a similar wait-online
service to block network-online.target until it is ready.
The aim is to block as long as we know networking is not fully configured, but no longer. This
will allow systemd-networkd-wait-online.service to be enabled on any system, even if we don't
know whether networkd is the main/only network manager.
Even in the case networking is fully configured by networkd, the default behavior may not be
sufficient: if two links need to be configured, but the first is fully configured before the
second one appears we will assume the network is up. To work around that, we allow specifying
specific devices to wait for before considering the network up.
This unit is enabled by default, just like systemd-networkd, but will only be pulled in if
anyone pulls in network-online.target.
2014-04-23 19:42:55 +04:00
2014-02-28 04:02:01 +04:00
systemd_networkd_wait_online_LDADD = \
2014-04-29 18:26:09 +04:00
libsystemd-network.la \
libudev-internal.la \
2014-02-28 04:02:01 +04:00
libsystemd-internal.la \
2014-05-22 04:41:32 +04:00
libsystemd-shared.la
2014-02-28 04:02:01 +04:00
2014-08-12 03:41:42 +04:00
rootbin_PROGRAMS += \
networkctl
networkctl_SOURCES = \
src/network/networkctl.c
networkctl_LDADD = \
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2014-08-12 03:41:42 +04:00
libsystemd-shared.la \
libsystemd-network.la
2013-10-17 05:18:36 +04:00
test_network_SOURCES = \
2014-02-27 02:16:34 +04:00
src/network/test-network.c
2013-10-17 05:18:36 +04:00
test_network_LDADD = \
2014-11-11 18:13:59 +03:00
libsystemd-networkd-core.la
2013-10-17 05:18:36 +04:00
2015-01-13 15:47:08 +03:00
i f H A V E _ L I B I P T C
test_network_LDADD += \
libsystemd-fw.la
e n d i f
2014-07-10 06:29:24 +04:00
test_network_tables_SOURCES = \
src/network/test-network-tables.c \
src/shared/test-tables.h
test_network_tables_LDADD = \
libsystemd-networkd-core.la \
libudev-core.la
2015-01-16 17:35:42 +03:00
i f H A V E _ L I B I P T C
test_network_tables_LDADD += \
libsystemd-fw.la
e n d i f
2013-12-11 21:14:52 +04:00
tests += \
2014-07-10 06:29:24 +04:00
test-network \
test-network-tables
2013-10-17 05:18:36 +04:00
2015-02-03 06:59:22 +03:00
dist_systemunit_DATA += \
units/systemd-networkd.socket
2014-05-16 21:44:22 +04:00
nodist_systemunit_DATA += \
units/systemd-networkd.service \
units/systemd-networkd-wait-online.service
2015-02-04 13:44:37 +03:00
dist_systemunit_DATA_busnames += \
units/org.freedesktop.network1.busname
dist_dbussystemservice_DATA += \
src/network/org.freedesktop.network1.service
dist_dbuspolicy_DATA += \
src/network/org.freedesktop.network1.conf
2014-05-16 21:44:22 +04:00
GENERAL_ALIASES += \
2015-02-02 00:13:26 +03:00
$( systemunitdir) /systemd-networkd.socket $( pkgsysconfdir) /system/sockets.target.wants/systemd-networkd.socket \
2014-05-16 21:44:22 +04:00
$( systemunitdir) /systemd-networkd.service $( pkgsysconfdir) /system/multi-user.target.wants/systemd-networkd.service \
2014-06-09 16:48:21 +04:00
$( systemunitdir) /systemd-networkd-wait-online.service $( pkgsysconfdir) /system/network-online.target.wants/systemd-networkd-wait-online.service
2014-05-16 21:44:22 +04:00
2015-02-08 21:43:01 +03:00
SYSTEM_UNIT_ALIASES += \
systemd-networkd.service dbus-org.freedesktop.network1.service
BUSNAMES_TARGET_WANTS += \
org.freedesktop.network1.busname
2015-03-03 16:33:15 +03:00
gperf_gperf_sources += \
2014-02-20 22:56:50 +04:00
src/network/networkd-network-gperf.gperf \
2015-03-03 16:33:15 +03:00
src/network/networkd-netdev-gperf.gperf
EXTRA_DIST += \
2015-05-15 23:59:24 +03:00
units/systemd-networkd.service.m4.in \
2014-05-19 00:10:48 +04:00
units/systemd-networkd-wait-online.service.in
2013-10-17 05:18:36 +04:00
2013-11-13 00:43:17 +04:00
e n d i f
2013-10-17 05:18:36 +04:00
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
i f E N A B L E _ L O G I N D
systemd_logind_SOURCES = \
src/login/logind.c \
2013-07-05 08:25:26 +04:00
src/login/logind.h
nodist_systemd_logind_SOURCES = \
src/login/logind-gperf.c
systemd_logind_LDADD = \
2013-11-07 17:59:16 +04:00
libsystemd-logind-core.la
2013-07-05 08:25:26 +04:00
libsystemd_logind_core_la_SOURCES = \
2013-09-25 19:04:41 +04:00
src/login/logind-core.c \
2011-12-31 12:17:48 +04:00
src/login/logind-device.c \
2012-04-11 05:15:34 +04:00
src/login/logind-device.h \
2012-05-30 17:01:51 +04:00
src/login/logind-button.c \
src/login/logind-button.h \
2012-12-24 01:32:48 +04:00
src/login/logind-action.c \
src/login/logind-action.h \
2011-12-31 12:17:48 +04:00
src/login/logind-seat.c \
2012-04-11 05:15:34 +04:00
src/login/logind-seat.h \
2011-12-31 12:17:48 +04:00
src/login/logind-session.c \
2012-04-11 05:15:34 +04:00
src/login/logind-session.h \
logind: introduce session-devices
A session-device is a device that is bound to a seat and used by a
session-controller to run the session. This currently includes DRM, fbdev
and evdev devices. A session-device can be created via RequestDevice() on
the dbus API of the session. You can drop it via ReleaseDevice() again.
Once the session is destroyed or you drop control of the session, all
session-devices are automatically destroyed.
Session devices follow the session "active" state. A device can be
active/running or inactive/paused. Whenever a session is not the active
session, no session-device of it can be active. That is, if a session is
not in foreground, all session-devices are paused.
Whenever a session becomes active, all devices are resumed/activated by
logind. If it fails, a device may stay paused.
With every session-device you request, you also get a file-descriptor
back. logind keeps a copy of this fd and uses kernel specific calls to
pause/resume the file-descriptors. For example, a DRM fd is muted
by logind as long as a given session is not active. Hence, the fd of the
application is also muted. Once the session gets active, logind unmutes
the fd and the application will get DRM access again.
This, however, requires kernel support. DRM devices provide DRM-Master for
synchronization, evdev devices have EVIOCREVOKE (pending on
linux-input-ML). fbdev devices do not provide such synchronization methods
(and never will).
Note that for evdev devices, we call EVIOCREVOKE once a session gets
inactive. However, this cannot be undone (the fd is still valid but mostly
unusable). So we reopen a new fd once the session is activated and send it
together with the ResumeDevice() signal.
With this infrastructure in place, compositors can now run without
CAP_SYS_ADMIN (that is, without being root). They use RequestControl() to
acquire a session and listen for devices via udev_monitor. For every
device they want to open, they call RequestDevice() on logind. This
returns a fd which they can use now. They no longer have to open the
devices themselves or call any privileged ioctls. This is all done by
logind.
Session-switches are still bound to VTs. Hence, compositors will get
notified via the usual VT mechanisms and can cleanup their state. Once the
VT switch is acknowledged as usual, logind will get notified via sysfs and
pause the old-session's devices and resume the devices of the new session.
To allow using this infrastructure with systems without VTs, we provide
notification signals. logind sends PauseDevice("force") dbus signals to
the current session controller for every device that it pauses. And it
sends ResumeDevice signals for every device that it resumes. For
seats with VTs this is sent _after_ the VT switch is acknowledged. Because
the compositor already acknowledged that it cleaned-up all devices.
However, for seats without VTs, this is used to notify the active
compositor that the session is about to be deactivated. That is, logind
sends PauseDevice("force") for each active device and then performs the
session-switch. The session-switch changes the "Active" property of the
session which can be monitored by the compositor. The new session is
activated and the ResumeDevice events are sent.
For seats without VTs, this is a forced session-switch. As this is not
backwards-compatible (xserver actually crashes, weston drops the related
devices, ..) we also provide an acknowledged session-switch. Note that
this is never used for sessions with VTs. You use the acknowledged
VT-switch on these seats.
An acknowledged session switch sends PauseDevice("pause") instead of
PauseDevice("force") to the active session. It schedules a short timeout
and waits for the session to acknowledge each of them with
PauseDeviceComplete(). Once all are acknowledged, or the session ran out
of time, a PauseDevice("force") is sent for all remaining active devices
and the session switch is performed.
Note that this is only partially implemented, yet, as we don't allow
multi-session without VTs, yet. A follow up commit will hook it up and
implemented the acknowledgements+timeout.
The implementation is quite simple. We use major/minor exclusively to
identify devices on the bus. On RequestDevice() we retrieve the
udev_device from the major/minor and search for an existing "Device"
object. If no exists, we create it. This guarantees us that we are
notified whenever the device changes seats or is removed.
We create a new SessionDevice object and link it to the related Session
and Device. Session->devices is a hashtable to lookup SessionDevice
objects via major/minor. Device->session_devices is a linked list so we
can release all linked session-devices once a device vanishes.
Now we only have to hook this up in seat_set_active() so we correctly
change device states during session-switches. As mentioned earlier, these
are forced state-changes as VTs are currently used exclusively for
multi-session implementations.
Everything else are hooks to release all session-devices once the
controller changes or a session is closed or removed.
2013-09-18 01:39:04 +04:00
src/login/logind-session-device.c \
src/login/logind-session-device.h \
2011-12-31 12:17:48 +04:00
src/login/logind-user.c \
2012-04-11 05:15:34 +04:00
src/login/logind-user.h \
2012-04-16 18:47:33 +04:00
src/login/logind-inhibit.c \
src/login/logind-inhibit.h \
2013-11-20 00:12:59 +04:00
src/login/logind-dbus.c \
2012-04-11 05:15:34 +04:00
src/login/logind-session-dbus.c \
src/login/logind-seat-dbus.c \
2011-12-31 12:17:48 +04:00
src/login/logind-user-dbus.c \
2015-04-22 18:20:42 +03:00
src/login/logind-utmp.c \
2014-03-17 21:28:30 +04:00
src/login/logind-acl.h
2010-03-31 18:29:55 +04:00
2013-07-05 08:25:26 +04:00
libsystemd_logind_core_la_LIBADD = \
2012-04-11 14:30:53 +04:00
libsystemd-label.la \
2013-11-07 17:59:16 +04:00
libudev-internal.la \
2015-04-01 14:55:20 +03:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2012-04-10 16:53:38 +04:00
2013-09-25 19:04:41 +04:00
i f H A V E _ A C L
libsystemd_logind_core_la_SOURCES += \
src/login/logind-acl.c
libsystemd_logind_core_la_LIBADD += \
libsystemd-acl.la
e n d i f
2013-07-05 08:25:26 +04:00
noinst_LTLIBRARIES += \
libsystemd-logind-core.la
2010-08-21 05:57:47 +04:00
2011-12-31 12:17:48 +04:00
rootlibexec_PROGRAMS += \
2015-02-25 21:47:26 +03:00
systemd-logind
2011-12-31 12:17:48 +04:00
2012-03-26 22:58:47 +04:00
loginctl_SOURCES = \
2011-12-31 12:17:48 +04:00
src/login/loginctl.c \
2014-12-23 21:19:11 +03:00
src/login/sysfs-show.h \
2012-04-12 03:51:49 +04:00
src/login/sysfs-show.c
2010-06-18 02:44:57 +04:00
2012-03-26 22:58:47 +04:00
loginctl_LDADD = \
2015-04-01 14:55:20 +03:00
libudev-internal.la \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2015-01-08 16:38:52 +03:00
libsystemd-logs.la \
libsystemd-journal-internal.la \
2014-02-18 21:50:11 +04:00
libsystemd-shared.la
2010-06-15 04:51:55 +04:00
2011-12-31 12:17:48 +04:00
rootbin_PROGRAMS += \
2012-03-26 22:58:47 +04:00
loginctl
2013-03-03 01:34:01 +04:00
dist_bashcompletion_DATA += \
shell-completion/bash/loginctl
2013-07-29 23:03:43 +04:00
dist_zshcompletion_DATA += \
2013-07-29 23:12:15 +04:00
shell-completion/zsh/_loginctl \
shell-completion/zsh/_systemd-inhibit
2013-07-29 23:03:43 +04:00
2012-05-05 02:34:48 +04:00
systemd_inhibit_SOURCES = \
src/login/inhibit.c
systemd_inhibit_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-06 11:33:42 +04:00
libsystemd-shared.la
2012-05-05 02:34:48 +04:00
rootbin_PROGRAMS += \
systemd-inhibit
2011-12-31 12:17:48 +04:00
test_login_SOURCES = \
2014-03-17 21:28:30 +04:00
src/libsystemd/sd-login/test-login.c
2011-12-31 12:17:48 +04:00
test_login_LDADD = \
2014-01-19 09:12:20 +04:00
libsystemd-internal.la \
2012-04-11 14:30:53 +04:00
libsystemd-shared.la
2010-06-18 00:50:06 +04:00
2013-09-16 20:04:20 +04:00
test_login_shared_SOURCES = \
src/login/test-login-shared.c
test_login_shared_LDADD = \
2014-01-19 09:12:20 +04:00
libsystemd-internal.la \
2013-09-16 20:04:20 +04:00
libsystemd-shared.la
2012-04-16 18:47:33 +04:00
test_inhibit_SOURCES = \
src/login/test-inhibit.c
test_inhibit_LDADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2013-11-07 17:59:16 +04:00
libsystemd-shared.la
2012-04-16 18:47:33 +04:00
2013-07-05 08:25:26 +04:00
test_login_tables_SOURCES = \
src/login/test-login-tables.c
test_login_tables_LDADD = \
libsystemd-logind-core.la
2013-04-18 16:40:24 +04:00
manual_tests += \
2012-04-16 18:47:33 +04:00
test-login \
test-inhibit
2010-09-17 03:26:29 +04:00
2013-07-05 08:25:26 +04:00
tests += \
2013-09-16 20:04:20 +04:00
test-login-tables \
test-login-shared
2013-07-05 08:25:26 +04:00
2011-12-31 12:17:48 +04:00
i f H A V E _ P A M
pam_systemd_la_SOURCES = \
2014-06-21 17:45:49 +04:00
src/login/pam_systemd.sym \
2014-06-21 17:44:14 +04:00
src/login/pam_systemd.c
2010-09-23 17:01:41 +04:00
2011-12-31 12:17:48 +04:00
pam_systemd_la_CFLAGS = \
$( AM_CFLAGS) \
$( PAM_CFLAGS) \
-fvisibility= hidden
2010-09-23 17:01:41 +04:00
2011-12-31 12:17:48 +04:00
pam_systemd_la_LDFLAGS = \
2012-04-11 05:29:31 +04:00
$( AM_LDFLAGS) \
2011-12-31 12:17:48 +04:00
-module \
-export-dynamic \
-avoid-version \
-shared \
2014-06-21 17:45:49 +04:00
-Wl,--version-script= $( top_srcdir) /src/login/pam_systemd.sym
2011-12-31 12:17:48 +04:00
pam_systemd_la_LIBADD = \
2014-01-13 20:30:51 +04:00
libsystemd-internal.la \
2012-04-11 14:30:53 +04:00
libsystemd-shared.la \
2012-04-12 20:29:20 +04:00
$( PAM_LIBS)
2010-09-23 17:01:41 +04:00
2011-12-31 12:17:48 +04:00
pamlib_LTLIBRARIES = \
pam_systemd.la
Add pam configuration to allow user sessions to work out of the box
systemd-logind will start user@.service. user@.service unit uses
PAM with service name 'systemd-user' to perform account and session
managment tasks. Previously, the name was 'systemd-shared', it is
now changed to 'systemd-user'.
Most PAM installations use one common setup for different callers.
Based on a quick poll, distributions fall into two camps: those that
have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia,
Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE).
Distributions that have system-auth have just one configuration file
that contains auth, password, account, and session blocks, and
distributions that have common-auth also have common-session,
common-password, and common-account. It is thus impossible to use one
configuration file which would work for everybody. systemd-user now
refers to system-auth, because it seems that the approach with one
file is more popular and also easier, so let's follow that.
2013-09-11 22:31:14 +04:00
dist_pamconf_DATA = \
src/login/systemd-user
2015-02-28 01:26:26 +03:00
2011-12-31 12:17:48 +04:00
e n d i f
2010-09-23 17:01:41 +04:00
2011-12-31 12:17:48 +04:00
nodist_systemunit_DATA += \
2015-02-25 21:47:26 +03:00
units/systemd-logind.service
2013-06-20 08:20:55 +04:00
dist_systemunit_DATA += \
2014-09-04 01:34:29 +04:00
units/user.slice
dist_systemunit_DATA_busnames += \
2013-12-03 07:27:03 +04:00
units/org.freedesktop.login1.busname
2011-03-14 04:40:36 +03:00
2011-12-31 12:17:48 +04:00
dist_dbussystemservice_DATA += \
src/login/org.freedesktop.login1.service
2011-03-14 04:40:36 +03:00
2011-12-31 12:17:48 +04:00
dist_dbuspolicy_DATA += \
src/login/org.freedesktop.login1.conf
2011-03-14 04:40:36 +03:00
2011-12-31 12:17:48 +04:00
dist_pkgsysconf_DATA += \
2012-03-31 01:18:33 +04:00
src/login/logind.conf
2011-03-12 03:03:13 +03:00
2012-07-28 06:43:38 +04:00
polkitpolicy_files += \
src/login/org.freedesktop.login1.policy
2010-06-16 03:58:50 +04:00
2013-01-23 07:24:54 +04:00
INSTALL_DIRS += \
$( systemdstatedir)
MULTI_USER_TARGET_WANTS += \
2015-02-25 21:47:26 +03:00
systemd-logind.service
2013-01-23 07:24:54 +04:00
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES += \
systemd-logind.service dbus-org.freedesktop.login1.service
2010-09-17 03:26:29 +04:00
2013-12-03 07:27:03 +04:00
BUSNAMES_TARGET_WANTS += \
org.freedesktop.login1.busname
2011-12-31 12:17:48 +04:00
dist_udevrules_DATA += \
2012-04-10 21:57:23 +04:00
src/login/70-uaccess.rules \
2012-05-30 17:01:51 +04:00
src/login/70-power-switch.rules
2012-01-22 21:20:42 +04:00
nodist_udevrules_DATA += \
2012-05-31 03:19:11 +04:00
src/login/71-seat.rules \
2012-01-22 21:20:42 +04:00
src/login/73-seat-late.rules
2011-07-15 01:06:31 +04:00
2012-07-28 06:43:38 +04:00
e n d i f
polkitpolicy_in_files += \
src/login/org.freedesktop.login1.policy.in
2015-03-03 16:33:15 +03:00
gperf_gperf_sources += \
src/login/logind-gperf.gperf
2011-12-31 12:17:48 +04:00
EXTRA_DIST += \
2012-05-31 03:19:11 +04:00
src/login/71-seat.rules.in \
2012-01-22 21:20:42 +04:00
src/login/73-seat-late.rules.in \
2015-02-25 21:47:26 +03:00
units/systemd-logind.service.in
2011-12-31 12:17:48 +04:00
# ------------------------------------------------------------------------------
2015-02-28 01:26:26 +03:00
i f H A V E _ P A M
systemd_user_sessions_SOURCES = \
src/user-sessions/user-sessions.c
systemd_user_sessions_LDADD = \
libsystemd-shared.la
rootlibexec_PROGRAMS += \
systemd-user-sessions
nodist_systemunit_DATA += \
units/systemd-user-sessions.service
EXTRA_DIST += \
units/systemd-user-sessions.service.in
MULTI_USER_TARGET_WANTS += \
systemd-user-sessions.service
e n d i f
# ------------------------------------------------------------------------------
2012-09-13 06:01:18 +04:00
i f H A V E _ P Y T H O N _ D E V E L
pkgpyexec_LTLIBRARIES = \
2013-02-06 06:44:46 +04:00
_journal.la \
2013-02-08 23:41:21 +04:00
id128.la \
2013-03-16 03:01:10 +04:00
_daemon.la \
2013-05-09 03:46:49 +04:00
_reader.la \
login.la
2012-09-13 06:01:18 +04:00
_journal_la_SOURCES = \
src/python-systemd/_journal.c
_journal_la_CFLAGS = \
$( AM_CFLAGS) \
2013-03-22 01:16:55 +04:00
-fvisibility= default \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_CFLAGS)
2012-09-13 06:01:18 +04:00
_journal_la_LDFLAGS = \
$( AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_journal_la_LIBADD = \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_LIBS) \
2014-02-19 19:33:09 +04:00
libsystemd.la
2012-09-13 06:01:18 +04:00
2013-02-06 06:44:46 +04:00
id128_la_SOURCES = \
src/python-systemd/id128.c \
2013-02-22 16:33:06 +04:00
src/python-systemd/pyutil.c \
src/python-systemd/pyutil.h
2013-02-06 06:44:46 +04:00
2014-06-17 07:54:47 +04:00
nodist_id128_la_SOURCES = \
src/python-systemd/id128-constants.h
2013-02-06 06:44:46 +04:00
id128_la_CFLAGS = \
$( AM_CFLAGS) \
2013-03-22 01:16:55 +04:00
-fvisibility= default \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_CFLAGS) \
2013-02-06 06:44:46 +04:00
-I$( top_builddir) /src/python-systemd
id128_la_LDFLAGS = \
$( AM_LDFLAGS) \
-shared \
-module \
-avoid-version
id128_la_LIBADD = \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_LIBS) \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd.la
2013-02-06 06:44:46 +04:00
2013-03-16 03:01:10 +04:00
_daemon_la_SOURCES = \
src/python-systemd/_daemon.c \
src/python-systemd/pyutil.c \
src/python-systemd/pyutil.h
_daemon_la_CFLAGS = \
$( AM_CFLAGS) \
2013-03-22 01:16:55 +04:00
-fvisibility= default \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_CFLAGS) \
2013-03-16 03:01:10 +04:00
-I$( top_builddir) /src/python-systemd
_daemon_la_LDFLAGS = \
$( AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_daemon_la_LIBADD = \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_LIBS) \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd.la
2013-03-16 03:01:10 +04:00
2013-02-08 23:41:21 +04:00
_reader_la_SOURCES = \
2013-02-22 16:33:06 +04:00
src/python-systemd/_reader.c \
src/python-systemd/pyutil.c \
src/python-systemd/pyutil.h
2013-02-08 23:41:21 +04:00
_reader_la_CFLAGS = \
$( AM_CFLAGS) \
2013-03-22 01:16:55 +04:00
-fvisibility= default \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_CFLAGS)
2013-02-08 23:41:21 +04:00
_reader_la_LDFLAGS = \
$( AM_LDFLAGS) \
-shared \
-module \
-avoid-version
_reader_la_LIBADD = \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_LIBS) \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd.la
2013-02-08 23:41:21 +04:00
2013-05-09 03:46:49 +04:00
login_la_SOURCES = \
src/python-systemd/login.c \
src/python-systemd/pyutil.c \
src/python-systemd/pyutil.h
login_la_CFLAGS = \
$( AM_CFLAGS) \
-fvisibility= default \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_CFLAGS)
2013-05-09 03:46:49 +04:00
login_la_LDFLAGS = \
$( AM_LDFLAGS) \
-shared \
-module \
-avoid-version
login_la_LIBADD = \
2013-07-26 18:08:15 +04:00
$( PYTHON_DEVEL_LIBS) \
2014-02-23 03:46:26 +04:00
libsystemd-shared.la \
libsystemd.la
2013-05-09 03:46:49 +04:00
2012-09-13 06:01:18 +04:00
dist_pkgpyexec_PYTHON = \
src/python-systemd/journal.py \
2013-03-16 03:01:10 +04:00
src/python-systemd/daemon.py \
2012-09-13 06:01:18 +04:00
src/python-systemd/__init__.py
2013-02-06 06:44:46 +04:00
2013-11-30 03:16:49 +04:00
src/python-systemd/id128-constants.h : src /systemd /sd -messages .h
2013-02-06 06:44:46 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-02-22 16:33:06 +04:00
$( AM_V_GEN) $( SED) -n -r 's/,//g; s/#define (SD_MESSAGE_[A-Z0-9_]+)\s.*/add_id(m, "\1", \1) JOINER/p' <$< >$@
2013-02-06 06:44:46 +04:00
BUILT_SOURCES += \
2015-03-03 16:33:15 +03:00
$( nodist_id128_la_SOURCES)
2012-09-13 06:01:18 +04:00
2013-03-29 06:54:22 +04:00
SPHINXOPTS = -D version = $( VERSION) -D release = $( VERSION)
2013-02-10 00:37:35 +04:00
sphinx-% :
2013-02-20 12:20:35 +04:00
$( AM_V_at) test -n " $( SPHINX_BUILD) " || { echo " *** sphinx-build is not available" ; exit 1; }
2013-03-08 19:27:44 +04:00
$( AM_V_GEN) PYTHONPATH = $( DESTDIR) $( pyexecdir) LD_LIBRARY_PATH = $( DESTDIR) $( libdir) $( SPHINX_BUILD) -b $* $( SPHINXOPTS) $( top_srcdir) /src/python-systemd/docs $( top_builddir) /docs/html/python-systemd/
$( AM_V_at) echo Output has been generated in $( abs_top_builddir) /docs/html/python-systemd/
2013-02-10 00:37:35 +04:00
2013-05-10 02:10:44 +04:00
python-shell :
$( AM_V_at) echo " Starting python with $( DESTDIR) $( pyexecdir) "
$( AM_V_at) PYTHONPATH = $( DESTDIR) $( pyexecdir) LD_LIBRARY_PATH = $( DESTDIR) $( libdir) $( PYTHON)
2013-02-21 21:10:08 +04:00
destdir-sphinx : all
2013-03-06 21:01:59 +04:00
dir = " $$ (mktemp -d /tmp/systemd-install.XXXXXX) " && \
2013-02-21 21:10:08 +04:00
$( MAKE) DESTDIR = " $$ dir " install && \
2013-03-22 01:16:55 +04:00
$( MAKE) DESTDIR = " $$ dir " sphinx-html && \
2013-02-21 21:10:08 +04:00
rm -rf " $$ dir "
2013-03-08 20:03:50 +04:00
e n d i f
2013-03-08 19:27:44 +04:00
CLEAN_LOCAL_HOOKS += clean-sphinx
2014-01-26 20:36:04 +04:00
.PHONY : python -shell destdir -sphinx clean -sphinx clean -python
2013-03-08 19:27:44 +04:00
clean-sphinx :
-rm -rf docs/html/python-systemd/
2013-08-15 20:54:54 +04:00
# Remove Python stuff, e.g. to force rebuilding for a different Python version.
clean-python :
-rm -rf src/python-systemd/.libs src/python-systemd/*.l[ ao]
-rm -f _daemon.la id128.la _journal.la login.la _reader.la
2014-01-19 09:12:20 +04:00
# ------------------------------------------------------------------------------
2014-01-19 17:50:02 +04:00
i f E N A B L E _ C O M P A T _ L I B S
2014-02-20 03:25:37 +04:00
EXTRA_DIST += \
src/compat-libs/linkwarning.h
2014-02-22 22:39:12 +04:00
libsystemd-%.c : src /compat -libs /libsystemd -%.sym
2014-01-19 09:12:20 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2014-02-22 22:39:12 +04:00
$( AM_V_GEN) sed -r -n 's/^ +(sd_.*);/obsolete_lib(\1,$(notdir $(basename $<)));/p' <$< >$@
BUILT_SOURCES += \
libsystemd-journal.c \
libsystemd-login.c \
libsystemd-id128.c \
libsystemd-daemon.c
2014-01-19 09:12:20 +04:00
2014-02-19 19:33:09 +04:00
libsystemd_journal_la_SOURCES = \
libsystemd-journal.c \
src/compat-libs/libsystemd-journal.sym
2014-02-22 22:39:12 +04:00
libsystemd_journal_la_CPPFLAGS = \
2015-05-09 20:08:43 +03:00
$( AM_CPPFLAGS) \
2014-02-22 22:39:12 +04:00
-imacros$( top_srcdir) /src/compat-libs/linkwarning.h
2014-02-19 19:33:09 +04:00
libsystemd_journal_la_LDFLAGS = \
$( AM_LDFLAGS) \
-version-info $( LIBSYSTEMD_JOURNAL_CURRENT) :$( LIBSYSTEMD_JOURNAL_REVISION) :$( LIBSYSTEMD_JOURNAL_AGE) \
-Wl,--version-script= $( top_srcdir) /src/compat-libs/libsystemd-journal.sym
libsystemd_journal_la_LIBADD = \
2014-02-22 22:39:12 +04:00
libsystemd-journal-internal.la \
libsystemd-internal.la \
libsystemd-shared.la
2014-02-19 19:33:09 +04:00
2014-01-19 09:12:20 +04:00
libsystemd_login_la_SOURCES = \
libsystemd-login.c \
2014-01-19 17:50:02 +04:00
src/compat-libs/libsystemd-login.sym
2014-01-19 09:12:20 +04:00
2014-02-22 22:39:12 +04:00
libsystemd_login_la_CPPFLAGS = \
2015-05-09 20:08:43 +03:00
$( AM_CPPFLAGS) \
2014-02-22 22:39:12 +04:00
-imacros$( top_srcdir) /src/compat-libs/linkwarning.h
2014-01-19 09:12:20 +04:00
libsystemd_login_la_LDFLAGS = \
$( AM_LDFLAGS) \
-version-info $( LIBSYSTEMD_LOGIN_CURRENT) :$( LIBSYSTEMD_LOGIN_REVISION) :$( LIBSYSTEMD_LOGIN_AGE) \
2014-01-19 17:50:02 +04:00
-Wl,--version-script= $( top_srcdir) /src/compat-libs/libsystemd-login.sym
2014-01-19 09:12:20 +04:00
libsystemd_login_la_LIBADD = \
2014-02-22 22:39:12 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-01-19 09:12:20 +04:00
2014-01-26 01:05:08 +04:00
libsystemd_id128_la_SOURCES = \
libsystemd-id128.c \
src/compat-libs/libsystemd-id128.sym
2014-02-22 22:39:12 +04:00
libsystemd_id128_la_CPPFLAGS = \
2015-05-09 20:08:43 +03:00
$( AM_CPPFLAGS) \
2014-02-22 22:39:12 +04:00
-imacros$( top_srcdir) /src/compat-libs/linkwarning.h
2014-01-26 01:05:08 +04:00
libsystemd_id128_la_LDFLAGS = \
$( AM_LDFLAGS) \
-version-info $( LIBSYSTEMD_ID128_CURRENT) :$( LIBSYSTEMD_ID128_REVISION) :$( LIBSYSTEMD_ID128_AGE) \
-Wl,--version-script= $( top_srcdir) /src/compat-libs/libsystemd-id128.sym
libsystemd_id128_la_LIBADD = \
2014-02-22 22:39:12 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-01-26 01:05:08 +04:00
2014-02-18 21:50:11 +04:00
libsystemd_daemon_la_SOURCES = \
libsystemd-daemon.c \
src/compat-libs/libsystemd-daemon.sym
2014-02-22 22:39:12 +04:00
libsystemd_daemon_la_CPPFLAGS = \
2015-05-09 20:08:43 +03:00
$( AM_CPPFLAGS) \
2014-02-22 22:39:12 +04:00
-imacros$( top_srcdir) /src/compat-libs/linkwarning.h
2014-02-18 21:50:11 +04:00
libsystemd_daemon_la_LDFLAGS = \
$( AM_LDFLAGS) \
-version-info $( LIBSYSTEMD_DAEMON_CURRENT) :$( LIBSYSTEMD_DAEMON_REVISION) :$( LIBSYSTEMD_DAEMON_AGE) \
-Wl,--version-script= $( top_srcdir) /src/compat-libs/libsystemd-daemon.sym
libsystemd_daemon_la_LIBADD = \
2014-02-22 22:39:12 +04:00
libsystemd-internal.la \
libsystemd-shared.la
2014-01-19 09:12:20 +04:00
lib_LTLIBRARIES += \
2014-02-19 19:33:09 +04:00
libsystemd-journal.la \
2014-01-26 01:05:08 +04:00
libsystemd-login.la \
2014-02-18 21:50:11 +04:00
libsystemd-id128.la \
libsystemd-daemon.la
2014-01-19 09:12:20 +04:00
pkgconfiglib_DATA += \
2014-02-20 03:54:42 +04:00
src/compat-libs/libsystemd-journal.pc \
2014-01-26 01:05:08 +04:00
src/compat-libs/libsystemd-login.pc \
2014-02-18 21:50:11 +04:00
src/compat-libs/libsystemd-id128.pc \
src/compat-libs/libsystemd-daemon.pc
2014-01-19 09:12:20 +04:00
# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed
2014-01-26 01:05:08 +04:00
compat-lib-install-hook :
2014-01-19 09:12:20 +04:00
libname = libsystemd-login.so && $( move-to-rootlibdir)
2014-02-22 18:22:00 +04:00
libname = libsystemd-journal.so && $( move-to-rootlibdir)
2014-01-26 01:05:08 +04:00
libname = libsystemd-id128.so && $( move-to-rootlibdir)
2014-02-18 21:50:11 +04:00
libname = libsystemd-daemon.so && $( move-to-rootlibdir)
2014-01-19 09:12:20 +04:00
2014-01-26 01:05:08 +04:00
compat-lib-uninstall-hook :
2014-01-19 09:12:20 +04:00
rm -f $( DESTDIR) $( rootlibdir) /libsystemd-login.so*
2014-02-22 18:22:00 +04:00
rm -f $( DESTDIR) $( rootlibdir) /libsystemd-journal.so*
2014-01-26 01:05:08 +04:00
rm -f $( DESTDIR) $( rootlibdir) /libsystemd-id128.so*
2014-02-18 21:50:11 +04:00
rm -f $( DESTDIR) $( rootlibdir) /libsystemd-daemon.so*
2014-01-19 09:12:20 +04:00
2014-01-26 01:05:08 +04:00
INSTALL_EXEC_HOOKS += compat-lib-install-hook
UNINSTALL_EXEC_HOOKS += compat-lib-uninstall-hook
2014-01-19 17:50:02 +04:00
e n d i f
2014-01-26 01:05:08 +04:00
EXTRA_DIST += \
2014-02-20 04:22:12 +04:00
src/compat-libs/libsystemd-journal.pc.in \
2014-01-26 01:05:08 +04:00
src/compat-libs/libsystemd-login.pc.in \
2014-02-18 21:50:11 +04:00
src/compat-libs/libsystemd-id128.pc.in \
src/compat-libs/libsystemd-daemon.pc.in
2014-01-26 01:05:08 +04:00
2012-09-13 06:01:18 +04:00
# ------------------------------------------------------------------------------
2013-03-29 21:59:51 +04:00
substitutions = \
'|rootlibexecdir=$(rootlibexecdir)|' \
'|rootbindir=$(rootbindir)|' \
'|bindir=$(bindir)|' \
'|SYSTEMCTL=$(rootbindir)/systemctl|' \
'|SYSTEMD_NOTIFY=$(rootbindir)/systemd-notify|' \
'|pkgsysconfdir=$(pkgsysconfdir)|' \
'|SYSTEM_CONFIG_UNIT_PATH=$(pkgsysconfdir)/system|' \
'|USER_CONFIG_UNIT_PATH=$(pkgsysconfdir)/user|' \
'|pkgdatadir=$(pkgdatadir)|' \
'|systemunitdir=$(systemunitdir)|' \
'|userunitdir=$(userunitdir)|' \
'|systempresetdir=$(systempresetdir)|' \
'|userpresetdir=$(userpresetdir)|' \
'|udevhwdbdir=$(udevhwdbdir)|' \
'|udevrulesdir=$(udevrulesdir)|' \
'|catalogdir=$(catalogdir)|' \
'|tmpfilesdir=$(tmpfilesdir)|' \
sysusers: add minimal tool to reconstruct /etc/passwd and /etc/group from static files
systemd-sysusers is a tool to reconstruct /etc/passwd and /etc/group
from static definition files that take a lot of inspiration from
tmpfiles snippets. These snippets should carry information about system
users only. To make sure it is not misused for normal users these
snippets only allow configuring UID and gecos field for each user, but
do not allow configuration of the home directory or shell, which is
necessary for real login users.
The purpose of this tool is to enable state-less systems that can
populate /etc with the minimal files necessary, solely from static data
in /usr. systemd-sysuser is additive only, and will never override
existing users.
This tool will create these files directly, and not via some user
database abtsraction layer. This is appropriate as this tool is supposed
to run really early at boot, and is only useful for creating system
users, and system users cannot be stored in remote databases anyway.
The tool is also useful to be invoked from RPM scriptlets, instead of
useradd. This allows moving from imperative user descriptions in RPM to
declarative descriptions.
The UID/GID for a user/group to be created can either be chosen dynamic,
or fixed, or be read from the owner of a file in the file system, in
order to support reconstructing the correct IDs for files that shall be
owned by them.
This also adds a minimal user definition file, that should be
sufficient for most basic systems. Distributions are expected to patch
these files and augment the contents, for example with fixed UIDs for
the users where that's necessary.
2014-06-13 00:54:02 +04:00
'|sysusersdir=$(sysusersdir)|' \
2013-03-29 21:59:51 +04:00
'|sysctldir=$(sysctldir)|' \
2013-08-02 06:58:03 +04:00
'|systemgeneratordir=$(systemgeneratordir)|' \
'|usergeneratordir=$(usergeneratordir)|' \
2014-03-31 07:08:02 +04:00
'|CERTIFICATEROOT=$(CERTIFICATEROOT)|' \
2013-03-29 21:59:51 +04:00
'|PACKAGE_VERSION=$(PACKAGE_VERSION)|' \
'|PACKAGE_NAME=$(PACKAGE_NAME)|' \
'|PACKAGE_URL=$(PACKAGE_URL)|' \
2013-11-13 07:05:16 +04:00
'|RANDOM_SEED_DIR=$(localstatedir)/lib/systemd/|' \
2013-09-18 02:28:35 +04:00
'|RANDOM_SEED=$(localstatedir)/lib/systemd/random-seed|' \
2013-03-29 21:59:51 +04:00
'|prefix=$(prefix)|' \
'|exec_prefix=$(exec_prefix)|' \
'|libdir=$(libdir)|' \
'|includedir=$(includedir)|' \
'|VERSION=$(VERSION)|' \
'|rootprefix=$(rootprefix)|' \
'|udevlibexecdir=$(udevlibexecdir)|' \
'|SUSHELL=$(SUSHELL)|' \
2015-01-23 20:35:20 +03:00
'|SULOGIN=$(SULOGIN)|' \
2013-03-29 21:59:51 +04:00
'|DEBUGTTY=$(DEBUGTTY)|' \
'|KILL=$(KILL)|' \
2013-06-15 00:56:39 +04:00
'|KMOD=$(KMOD)|' \
2013-07-12 13:14:54 +04:00
'|MKDIR_P=$(MKDIR_P)|' \
2013-03-29 21:59:51 +04:00
'|QUOTAON=$(QUOTAON)|' \
'|QUOTACHECK=$(QUOTACHECK)|' \
'|SYSTEM_SYSVINIT_PATH=$(sysvinitdir)|' \
'|VARLOGDIR=$(varlogdir)|' \
'|RC_LOCAL_SCRIPT_PATH_START=$(RC_LOCAL_SCRIPT_PATH_START)|' \
'|RC_LOCAL_SCRIPT_PATH_STOP=$(RC_LOCAL_SCRIPT_PATH_STOP)|' \
'|PYTHON=$(PYTHON)|' \
2014-05-06 19:02:11 +04:00
'|PYTHON_BINARY=$(PYTHON_BINARY)|' \
2014-05-16 21:44:22 +04:00
'|NTP_SERVERS=$(NTP_SERVERS)|' \
2014-05-21 04:31:22 +04:00
'|DNS_SERVERS=$(DNS_SERVERS)|' \
'|systemuidmax=$(SYSTEM_UID_MAX)|' \
2014-06-13 01:22:27 +04:00
'|systemgidmax=$(SYSTEM_GID_MAX)|' \
2014-07-01 01:09:42 +04:00
'|TTY_GID=$(TTY_GID)|' \
'|systemsleepdir=$(systemsleepdir)|' \
'|binfmtdir=$(binfmtdir)|' \
'|modulesloaddir=$(modulesloaddir)|'
2013-03-29 21:59:51 +04:00
2010-05-17 03:34:36 +04:00
SED_PROCESS = \
2010-05-18 01:02:28 +04:00
$( AM_V_GEN) $( MKDIR_P) $( dir $@ ) && \
2013-03-29 21:59:51 +04:00
$( SED) $( subst '|,-e ' s| @,$( subst = ,\@ | ,$( subst | ',|g' ,$( substitutions) ) ) ) \
2012-07-17 19:58:14 +04:00
< $< > $@
2010-04-13 07:18:12 +04:00
2013-11-30 03:16:49 +04:00
units/% : units /%.in
2010-05-17 03:34:36 +04:00
$( SED_PROCESS)
2013-11-30 03:16:49 +04:00
man/% : man /%.in
2010-05-17 03:34:36 +04:00
$( SED_PROCESS)
2012-01-14 03:37:35 +04:00
2013-11-30 03:16:49 +04:00
sysctl.d/% : sysctl .d /%.in
2012-01-14 03:37:35 +04:00
$( SED_PROCESS)
2010-05-17 03:34:36 +04:00
2013-11-30 03:16:49 +04:00
%.pc : %.pc .in
2010-06-22 01:27:18 +04:00
$( SED_PROCESS)
2014-03-31 07:08:02 +04:00
%.conf : %.conf .in
$( SED_PROCESS)
2013-11-30 03:16:49 +04:00
src/core/macros.% : src /core /macros .%.in
2012-06-22 00:14:17 +04:00
$( SED_PROCESS)
2013-11-30 03:16:49 +04:00
src/%.policy.in : src /%.policy .in .in
2011-03-12 03:15:30 +03:00
$( SED_PROCESS)
2014-07-15 03:24:46 +04:00
shell-completion/% : shell -completion /%.in
$( SED_PROCESS)
2013-11-30 03:16:49 +04:00
%.rules : %.rules .in
2011-06-29 06:14:43 +04:00
$( SED_PROCESS)
2014-05-06 19:02:11 +04:00
%.conf : %.conf .in
$( SED_PROCESS)
2013-11-30 03:16:49 +04:00
%.sh : %.sh .in
2012-04-03 23:24:46 +04:00
$( SED_PROCESS)
$( AM_V_GEN) chmod +x $@
2011-08-01 02:43:05 +04:00
src/%.c : src /%.gperf
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-01-24 07:30:12 +04:00
$( AM_V_GPERF) $( GPERF) < $< > $@
2011-08-01 02:43:05 +04:00
src/% : src /%.m 4
2012-07-31 01:57:50 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-01-24 07:20:23 +04:00
$( AM_V_M4) $( M4) -P $( M4_DEFINES) < $< > $@
2011-08-01 02:43:05 +04:00
2014-11-28 17:59:59 +03:00
sysusers.d/% : sysusers .d /%.m 4
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_M4) $( M4) -P $( M4_DEFINES) < $< > $@
2014-08-27 19:45:41 +04:00
tmpfiles.d/% : tmpfiles .d /%.m 4
$( AM_V_at) $( MKDIR_P) $( dir $@ )
$( AM_V_M4) $( M4) -P $( M4_DEFINES) < $< > $@
2013-11-30 03:16:49 +04:00
units/% : units /%.m 4
2013-12-27 21:08:04 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-01-30 06:18:19 +04:00
$( AM_V_M4) $( M4) -P $( M4_DEFINES) -DFOR_SYSTEM= 1 < $< > $@
2010-05-17 03:34:36 +04:00
2014-12-11 16:56:33 +03:00
units/user/% : units /user /%.m 4
2013-12-27 21:08:04 +04:00
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-01-30 06:18:19 +04:00
$( AM_V_M4) $( M4) -P $( M4_DEFINES) -DFOR_USER= 1 < $< > $@
2010-05-16 23:12:12 +04:00
2013-02-14 01:56:43 +04:00
i f E N A B L E _ P O L K I T
2014-07-04 22:43:14 +04:00
nodist_polkitpolicy_DATA = \
2012-07-28 06:43:38 +04:00
$( polkitpolicy_files) \
2012-04-12 15:34:18 +04:00
$( polkitpolicy_in_in_files:.policy.in.in= .policy)
2013-02-14 01:56:43 +04:00
e n d i f
2012-04-12 15:34:18 +04:00
EXTRA_DIST += \
$( polkitpolicy_in_files) \
$( polkitpolicy_in_in_files)
2013-01-30 21:14:44 +04:00
# ------------------------------------------------------------------------------
2012-08-25 03:57:03 +04:00
i f E N A B L E _ M A N P A G E S
2014-03-13 05:39:31 +04:00
man/custom-entities.ent : configure .ac
2013-03-29 22:22:27 +04:00
$( AM_V_GEN) $( MKDIR_P) $( dir $@ )
$( AM_V_GEN) ( echo '<?xml version="1.0" encoding="utf-8" ?>' && \
2014-02-12 09:55:38 +04:00
printf '$(subst ' | ,<!ENTITY ,$( subst = , " , $( subst | ',">\n,$(substitutions))))' ) \
2013-03-29 22:22:27 +04:00
> $@ # '
DISTCLEANFILES += \
man/custom-entities.ent
2010-06-23 04:26:15 +04:00
XSLTPROC_FLAGS = \
--nonet \
2014-02-12 09:55:38 +04:00
--xinclude \
2012-04-14 20:05:06 +04:00
--stringparam man.output.quietly 1 \
2012-07-13 23:54:03 +04:00
--stringparam funcsynopsis.style ansi \
--stringparam man.authors.section.enabled 0 \
2013-03-13 07:57:09 +04:00
--stringparam man.copyright.section.enabled 0 \
2013-03-29 22:22:27 +04:00
--stringparam systemd.version $( VERSION) \
--path '$(builddir)/man:$(srcdir)/man'
2010-06-23 04:26:15 +04:00
2010-05-18 00:45:52 +04:00
XSLTPROC_PROCESS_MAN = \
2013-03-29 22:22:27 +04:00
$( AM_V_XSLT) $( XSLTPROC) -o $@ $( XSLTPROC_FLAGS) $( srcdir) /man/custom-man.xsl $<
2010-05-16 01:06:41 +04:00
2010-05-18 00:45:52 +04:00
XSLTPROC_PROCESS_HTML = \
2013-03-29 22:22:27 +04:00
$( AM_V_XSLT) $( XSLTPROC) -o $@ $( XSLTPROC_FLAGS) $( srcdir) /man/custom-html.xsl $<
2010-05-16 01:06:41 +04:00
2013-03-29 22:22:27 +04:00
man/%.1 : man /%.xml man /custom -man .xsl man /custom -entities .ent
2010-06-23 02:31:54 +04:00
$( XSLTPROC_PROCESS_MAN)
2013-03-29 22:22:27 +04:00
man/%.3 : man /%.xml man /custom -man .xsl man /custom -entities .ent
2010-06-23 03:49:57 +04:00
$( XSLTPROC_PROCESS_MAN)
2013-03-29 22:22:27 +04:00
man/%.5 : man /%.xml man /custom -man .xsl man /custom -entities .ent
2010-05-18 00:45:52 +04:00
$( XSLTPROC_PROCESS_MAN)
2013-03-29 22:22:27 +04:00
man/%.7 : man /%.xml man /custom -man .xsl man /custom -entities .ent
2010-05-18 00:45:52 +04:00
$( XSLTPROC_PROCESS_MAN)
2013-03-29 22:22:27 +04:00
man/%.8 : man /%.xml man /custom -man .xsl man /custom -entities .ent
2010-06-23 02:31:54 +04:00
$( XSLTPROC_PROCESS_MAN)
2013-03-29 22:22:27 +04:00
man/%.html : man /%.xml man /custom -html .xsl man /custom -entities .ent
2010-05-18 00:45:52 +04:00
$( XSLTPROC_PROCESS_HTML)
2013-03-08 20:03:50 +04:00
d e f i n e h t m l - a l i a s
2013-03-13 08:55:32 +04:00
$( AM_V_LN) $( LN_S) -f $( notdir $<) $@
2013-03-08 20:03:50 +04:00
e n d e f
2010-05-18 01:29:10 +04:00
e n d i f
2010-05-16 01:06:41 +04:00
2013-03-13 21:24:06 +04:00
EXTRA_DIST += \
man/custom-html.xsl \
man/custom-man.xsl
2013-01-30 21:14:44 +04:00
# ------------------------------------------------------------------------------
2012-10-17 22:03:21 +04:00
i f H A V E _ S Y S V _ C O M P A T
sysvinit_DATA = \
docs/sysvinit/README
varlog_DATA = \
docs/var-log/README
docs/sysvinit/README : docs /sysvinit /README .in
$( SED_PROCESS)
docs/var-log/README : docs /var -log /README .in
$( SED_PROCESS)
2012-10-22 19:20:18 +04:00
CLEANFILES += \
docs/sysvinit/README \
docs/var-log/README
2012-10-17 22:03:21 +04:00
e n d i f
2013-01-11 00:42:31 +04:00
EXTRA_DIST += \
docs/sysvinit/README.in \
docs/var-log/README.in
2013-01-23 07:24:54 +04:00
SOCKETS_TARGET_WANTS += \
2015-04-23 18:30:23 +03:00
systemd-initctl.socket
2013-01-23 07:24:54 +04:00
2014-09-24 19:25:00 +04:00
i f H A V E _ U T M P
2013-01-24 06:41:30 +04:00
i f H A V E _ S Y S V _ C O M P A T
2015-02-18 22:17:49 +03:00
MULTI_USER_TARGET_WANTS += \
2013-01-23 07:24:54 +04:00
systemd-update-utmp-runlevel.service
2015-02-18 22:17:49 +03:00
GRAPHICAL_TARGET_WANTS += \
2013-01-23 07:24:54 +04:00
systemd-update-utmp-runlevel.service
2015-02-18 22:17:49 +03:00
RESCUE_TARGET_WANTS += \
2013-01-23 07:24:54 +04:00
systemd-update-utmp-runlevel.service
2013-01-24 06:41:30 +04:00
e n d i f
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
2013-05-16 02:19:03 +04:00
SYSINIT_TARGET_WANTS += \
2014-09-24 19:25:00 +04:00
systemd-update-utmp.service
e n d i f
SYSINIT_TARGET_WANTS += \
2014-08-05 14:17:09 +04:00
systemd-update-done.service
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
2013-01-23 07:24:54 +04:00
LOCAL_FS_TARGET_WANTS += \
systemd-remount-fs.service \
2015-02-24 19:23:53 +03:00
tmp.mount \
var-lib-machines.mount
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
2013-01-23 07:24:54 +04:00
MULTI_USER_TARGET_WANTS += \
getty.target \
2015-02-28 01:26:26 +03:00
systemd-ask-password-wall.path
update-done: add minimal tool to manage system updates for /etc and /var, if /usr has changed
In order to support offline updates to /usr, we need to be able to run
certain tasks on next boot-up to bring /etc and /var in line with the
updated /usr. Hence, let's devise a mechanism how we can detect whether
/etc or /var are not up-to-date with /usr anymore: we keep "touch
files" in /etc/.updated and /var/.updated that are mtime-compared with
/usr. This means:
Whenever the vendor OS tree in /usr is updated, and any services that
shall be executed at next boot shall be triggered, it is sufficient to
update the mtime of /usr itself. At next boot, if /etc/.updated and/or
/var/.updated is older than than /usr (or missing), we know we have to
run the update tools once. After that is completed we need to update the
mtime of these files to the one of /usr, to keep track that we made the
necessary updates, and won't repeat them on next reboot.
A subsequent commit adds a new ConditionNeedsUpdate= condition that
allows checking on boot whether /etc or /var are outdated and need
updating.
This is an early step to allow booting up with an empty /etc, with
automatic rebuilding of the necessary cache files or user databases
therein, as well as supporting later updates of /usr that then propagate
to /etc and /var again.
2014-06-13 14:43:49 +04:00
2013-01-23 07:24:54 +04:00
SYSINIT_TARGET_WANTS += \
dev-hugepages.mount \
dev-mqueue.mount \
sys-kernel-config.mount \
sys-kernel-debug.mount \
sys-fs-fuse-connections.mount \
systemd-sysctl.service \
systemd-ask-password-console.path
2013-06-02 12:54:44 +04:00
2013-01-24 06:41:30 +04:00
i f H A V E _ S Y S V _ C O M P A T
2013-01-23 08:51:51 +04:00
SYSTEM_UNIT_ALIASES += \
poweroff.target runlevel0.target \
rescue.target runlevel1.target \
multi-user.target runlevel2.target \
multi-user.target runlevel3.target \
multi-user.target runlevel4.target \
graphical.target runlevel5.target \
2013-01-24 06:41:30 +04:00
reboot.target runlevel6.target
e n d i f
2013-01-30 21:14:44 +04:00
2013-01-24 06:41:30 +04:00
SYSTEM_UNIT_ALIASES += \
2013-01-23 08:51:51 +04:00
graphical.target default.target \
reboot.target ctrl-alt-del.target \
getty@.service autovt@.service
USER_UNIT_ALIASES += \
$( systemunitdir) /shutdown.target shutdown.target \
$( systemunitdir) /sockets.target sockets.target \
2013-03-26 00:20:08 +04:00
$( systemunitdir) /timers.target timers.target \
$( systemunitdir) /paths.target paths.target \
2013-01-23 08:51:51 +04:00
$( systemunitdir) /bluetooth.target bluetooth.target \
$( systemunitdir) /printer.target printer.target \
2013-03-26 01:32:59 +04:00
$( systemunitdir) /sound.target sound.target \
$( systemunitdir) /smartcard.target smartcard.target
2013-01-23 08:51:51 +04:00
2014-09-04 01:34:29 +04:00
i f E N A B L E _ K D B U S
USER_UNIT_ALIASES += \
$( systemunitdir) /busnames.target busnames.target
e n d i f
2013-01-23 08:51:51 +04:00
GENERAL_ALIASES += \
$( systemunitdir) /remote-fs.target $( pkgsysconfdir) /system/multi-user.target.wants/remote-fs.target \
$( systemunitdir) /getty@.service $( pkgsysconfdir) /system/getty.target.wants/getty@tty1.service \
$( pkgsysconfdir) /user $( sysconfdir) /xdg/systemd/user \
2014-03-03 20:10:16 +04:00
$( dbussystemservicedir) /org.freedesktop.systemd1.service $( dbussessionservicedir) /org.freedesktop.systemd1.service
2013-01-23 08:51:51 +04:00
2013-01-24 06:41:30 +04:00
i f H A V E _ S Y S V _ C O M P A T
2013-01-23 08:51:51 +04:00
INSTALL_DIRS += \
$( systemunitdir) /runlevel1.target.wants \
$( systemunitdir) /runlevel2.target.wants \
$( systemunitdir) /runlevel3.target.wants \
$( systemunitdir) /runlevel4.target.wants \
2013-01-24 06:41:30 +04:00
$( systemunitdir) /runlevel5.target.wants
e n d i f
2013-01-30 21:14:44 +04:00
2013-01-24 06:41:30 +04:00
INSTALL_DIRS += \
2013-01-23 08:51:51 +04:00
$( prefix) /lib/modules-load.d \
$( sysconfdir) /modules-load.d \
2013-10-28 23:11:10 +04:00
$( prefix) /lib/systemd/network \
$( sysconfdir) /systemd/network \
2013-01-23 08:51:51 +04:00
$( prefix) /lib/sysctl.d \
$( sysconfdir) /sysctl.d \
2013-03-26 04:00:14 +04:00
$( prefix) /lib/kernel/install.d \
$( sysconfdir) /kernel/install.d \
2013-01-23 08:51:51 +04:00
$( systemshutdowndir) \
$( systemsleepdir) \
$( systemgeneratordir) \
$( usergeneratordir) \
\
$( userunitdir) \
$( pkgsysconfdir) /system \
$( pkgsysconfdir) /system/multi-user.target.wants \
$( pkgsysconfdir) /system/getty.target.wants \
$( pkgsysconfdir) /user \
$( dbussessionservicedir) \
$( sysconfdir) /xdg/systemd
2011-02-08 20:47:32 +03:00
2011-12-31 12:17:48 +04:00
install-exec-hook : $( INSTALL_EXEC_HOOKS )
2011-12-31 09:02:42 +04:00
2012-11-17 02:08:27 +04:00
uninstall-hook : $( UNINSTALL_DATA_HOOKS ) $( UNINSTALL_EXEC_HOOKS )
2011-07-15 03:31:06 +04:00
2013-01-23 08:51:51 +04:00
install-data-hook : $( INSTALL_DATA_HOOKS )
2011-07-15 03:31:06 +04:00
2012-04-03 23:24:46 +04:00
distclean-local : $( DISTCLEAN_LOCAL_HOOKS )
2013-03-08 19:27:44 +04:00
clean-local : $( CLEAN_LOCAL_HOOKS )
2012-04-17 01:32:22 +04:00
rm -rf $( abs_srcdir) /install-tree
2012-12-03 23:15:22 +04:00
rm -f $( abs_srcdir) /hwdb/usb.ids $( abs_srcdir) /hwdb/pci.ids $( abs_srcdir) /hwdb/oui.txt \
2013-03-22 01:16:55 +04:00
$( abs_srcdir) /hwdb/iab.txt
2012-04-17 01:32:22 +04:00
2010-05-16 01:06:41 +04:00
DISTCHECK_CONFIGURE_FLAGS = \
2010-06-07 21:40:25 +04:00
--with-dbuspolicydir= $$ dc_install_base/$( dbuspolicydir) \
--with-dbussessionservicedir= $$ dc_install_base/$( dbussessionservicedir) \
--with-dbussystemservicedir= $$ dc_install_base/$( dbussystemservicedir) \
2013-03-04 00:32:49 +04:00
--with-bashcompletiondir= $$ dc_install_base/$( bashcompletiondir) \
2013-07-25 09:57:05 +04:00
--with-zshcompletiondir= $$ dc_install_base/$( zshcompletiondir) \
2010-06-22 01:27:18 +04:00
--with-pamlibdir= $$ dc_install_base/$( pamlibdir) \
Add pam configuration to allow user sessions to work out of the box
systemd-logind will start user@.service. user@.service unit uses
PAM with service name 'systemd-user' to perform account and session
managment tasks. Previously, the name was 'systemd-shared', it is
now changed to 'systemd-user'.
Most PAM installations use one common setup for different callers.
Based on a quick poll, distributions fall into two camps: those that
have system-auth (Redhat, Fedora, CentOS, Arch, Gentoo, Mageia,
Mandriva), and those that have common-auth (Debian, Ubuntu, OpenSUSE).
Distributions that have system-auth have just one configuration file
that contains auth, password, account, and session blocks, and
distributions that have common-auth also have common-session,
common-password, and common-account. It is thus impossible to use one
configuration file which would work for everybody. systemd-user now
refers to system-auth, because it seems that the approach with one
file is more popular and also easier, so let's follow that.
2013-09-11 22:31:14 +04:00
--with-pamconfdir= $$ dc_install_base/$( pamconfdir) \
2012-04-03 23:24:46 +04:00
--with-rootprefix= $$ dc_install_base \
2013-12-03 07:27:03 +04:00
--disable-split-usr \
2014-02-19 23:52:48 +04:00
--enable-kdbus \
--enable-compat-libs
2012-04-17 19:03:38 +04:00
2012-11-20 21:19:44 +04:00
i f H A V E _ S Y S V _ C O M P A T
DISTCHECK_CONFIGURE_FLAGS += \
--with-sysvinit-path= $$ dc_install_base/$( sysvinitdir) \
2013-01-08 05:37:37 +04:00
--with-sysvrcnd-path= $$ dc_install_base/$( sysvrcnddir)
2013-01-11 00:43:20 +04:00
e l s e
DISTCHECK_CONFIGURE_FLAGS += \
--with-sysvinit-path= \
--with-sysvrcnd-path=
2012-11-20 21:19:44 +04:00
e n d i f
2014-06-17 07:54:52 +04:00
i f H A V E _ P Y T H O N
DISTCHECK_CONFIGURE_FLAGS += \
--with-python
e n d i f
2012-04-17 19:03:38 +04:00
i f E N A B L E _ G T K _ D O C
DISTCHECK_CONFIGURE_FLAGS += \
2012-04-03 23:24:46 +04:00
--enable-gtk-doc
2012-04-17 19:03:38 +04:00
e n d i f
2012-02-13 04:03:33 +04:00
2014-06-17 07:54:53 +04:00
#
# Require python when making dist
#
2015-01-28 05:22:26 +03:00
.PHONY : dist -check -python dist -check -compat -libs dist -check -help
2014-06-17 07:54:53 +04:00
dist-check-python :
i f ! H A V E _ P Y T H O N
@echo "*** python and python-lxml module must be installed and enabled in order to make dist"
@false
e n d i f
2014-06-17 07:54:54 +04:00
dist-check-compat-libs :
i f ! E N A B L E _ C O M P A T _ L I B S
@echo "*** compat-libs must be enabled in order to make dist"
@false
e n d i f
2015-01-28 05:22:26 +03:00
dist-check-help : $( rootbin_PROGRAMS ) $( bin_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: " ; \
$$ i --help | awk 'length > 80' | grep -E --color= yes '.{80}' ; \
exit 1; \
fi ; done
2014-06-17 07:54:54 +04:00
dist : dist -check -python dist -check -compat -libs
2014-06-17 07:54:53 +04:00
2014-03-26 04:26:44 +04:00
# check "broken" platforms limited toolchains for link breakage before we release
2014-03-26 16:12:47 +04:00
.PHONY : linkcheck
linkcheck :
2014-03-26 22:22:17 +04:00
$( MAKE) CFLAGS = '-fno-lto' LDFLAGS = '-Wl,-fuse-ld=gold -Wl,--as-needed -Wl,--no-gc-sections' distcheck
2014-03-26 04:26:44 +04:00
2014-01-26 20:36:04 +04:00
.PHONY : hwdb -update
2012-10-22 20:23:08 +04:00
hwdb-update :
2013-01-02 23:48:24 +04:00
( cd $( top_srcdir) /hwdb && \
wget -N http://www.linux-usb.org/usb.ids \
2014-05-22 04:06:17 +04:00
http://pci-ids.ucw.cz/v2.2/pci.ids \
http://standards.ieee.org/develop/regauth/oui/oui.txt \
http://standards.ieee.org/develop/regauth/iab/iab.txt && \
2012-10-22 20:23:08 +04:00
./ids-update.pl )
2014-01-26 20:36:04 +04:00
.PHONY : kdbus -update
2013-04-12 01:09:29 +04:00
kdbus-update :
2014-04-11 00:02:35 +04:00
( cd $( top_srcdir) /src/libsystemd/sd-bus/ && \
2013-04-12 01:09:29 +04:00
wget -N https://d-bus.googlecode.com/git/kdbus.h )
2014-03-26 16:06:46 +04:00
.PHONY : git -tag
git-tag :
git tag -s " v $( VERSION) " -m " systemd $( VERSION) "
www_target = www.freedesktop.org:/srv/www.freedesktop.org/www/software/systemd
2014-01-26 20:36:04 +04:00
.PHONY : upload
2014-03-11 23:57:17 +04:00
upload : all check dist
2014-03-26 16:06:46 +04:00
scp systemd-$( VERSION) .tar.xz $( www_target)
2010-07-09 06:56:45 +04:00
2014-01-26 20:36:04 +04:00
.PHONY : doc -sync
2013-02-21 21:10:08 +04:00
doc-sync : all destdir -sphinx
2012-04-19 21:00:35 +04:00
gtkdoc-rebase --html-dir= docs/libudev/html --online
2013-05-03 07:54:00 +04:00
rsync -rlv --delete docs/libudev/html/ --omit-dir-times $( www_target) /libudev/
2012-04-19 21:00:35 +04:00
gtkdoc-rebase --html-dir= docs/gudev/html --online
2013-05-03 07:54:00 +04:00
rsync -rlv --delete docs/gudev/html/ --omit-dir-times $( www_target) /gudev/
rsync -rlv --delete-excluded --include= "*.html" --exclude= "*" --omit-dir-times man/ $( www_target) /man/
rsync -rlv --delete --omit-dir-times docs/html/python-systemd/ $( www_target) /python-systemd/
2012-04-14 01:50:52 +04:00
2014-12-11 01:19:55 +03:00
.PHONY : gardel
gardel : upload
scp man/*.html gardel:public/systemd-man/
.PHONY : lennart -fedora
lennart-fedora :
2014-03-26 16:06:46 +04:00
cp -v systemd-$( VERSION) .tar.xz /home/lennart/git.fedora/systemd/
2012-04-17 01:32:22 +04:00
2014-01-26 20:36:04 +04:00
.PHONY : install -tree
2012-04-17 01:32:22 +04:00
install-tree : all
rm -rf $( abs_srcdir) /install-tree
2013-02-21 21:10:08 +04:00
$( MAKE) install DESTDIR = $( abs_srcdir) /install-tree
2012-04-17 01:32:22 +04:00
tree $( abs_srcdir) /install-tree
2013-10-09 06:02:54 +04:00
# Let's run all tests of the test suite, but under valgrind. Let's
# exclude the one perl script we have in there
2014-01-26 20:36:04 +04:00
.PHONY : valgrind -tests
2013-10-09 06:02:54 +04:00
valgrind-tests : $( TESTS )
2013-11-11 07:17:25 +04:00
$( AM_V_GEN) for f in $( filter-out %.pl, $^) ; do \
2014-01-01 05:19:58 +04:00
if file $$ f | grep -q shell; then \
echo -e " $$ {x}Skipping non-binary $$ f " ; else \
2013-12-31 21:51:46 +04:00
echo -e " $$ {x}Running $$ f " ; \
2014-05-22 04:06:17 +04:00
libtool --mode= execute valgrind -q --leak-check= full --max-stackframe= 5242880 --error-exitcode= 55 $( builddir) /$$ f ; fi ; \
2013-12-31 21:51:46 +04:00
x = "\n\n" ; \
2013-11-07 20:26:01 +04:00
done
2013-11-13 04:02:28 +04:00
exported-% : %
2014-06-21 18:50:11 +04:00
$( AM_V_GEN) $( NM) -g --defined-only $( builddir) /.libs/$( <:.la= .so) 2>& 1 /dev/null | grep " T " | cut -d" " -f3 > $@
2013-11-13 04:02:28 +04:00
exported : $( addprefix exported -, $ ( lib_LTLIBRARIES ) )
$( AM_V_GEN) cat $^ > $@
2013-11-11 02:51:22 +04:00
2014-01-26 20:36:04 +04:00
.PHONY : check -api -docs
2013-11-11 02:51:22 +04:00
check-api-docs : exported man
2013-11-11 07:17:25 +04:00
$( AM_V_GEN) for symbol in ` cat exported` ; do \
2013-11-07 20:26:01 +04:00
if test -f $( builddir) /man/$$ symbol.html ; then \
echo " Symbol $$ symbol() is documented. " ; \
else \
echo " ‣ Symbol $$ symbol() lacks documentation. " ; \
fi ; \
2013-11-11 07:17:25 +04:00
done
2013-11-08 19:52:42 +04:00
OBJECT_VARIABLES := $( filter %_OBJECTS,$( .VARIABLES) )
ALL_OBJECTS := $( foreach v,$( OBJECT_VARIABLES) ,$( $( v) ) )
2013-11-09 17:00:33 +04:00
undefined defined : $( ALL_OBJECTS )
2013-11-08 19:52:42 +04:00
$( AM_V_GEN) for f in $( ALL_OBJECTS) ; do \
2014-06-21 18:50:11 +04:00
$( NM) -g --$@ -only ` echo $( builddir) /" $$ f " | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,' ` ; \
2013-11-09 17:00:33 +04:00
done | cut -c 20- | cut -d @ -f 1 | sort -u > $@
2013-11-08 19:52:42 +04:00
CLEANFILES += \
defined \
undefined
2014-01-26 20:36:04 +04:00
.PHONY : check -api -unused
2013-11-11 02:51:22 +04:00
check-api-unused : defined undefined exported
( cat exported undefined ) | sort -u | diff -u - defined | grep ^+ | grep -v ^+++ | cut -c2-
2013-11-11 07:17:25 +04:00
2014-02-10 13:37:11 +04:00
.PHONY : check -includes
check-includes : $( top_srcdir ) /tools /check -includes .pl
$( AM_V_GEN) find * -name '*.[hcS]' -type f -print | sort -u \
| xargs $( top_srcdir) /tools/check-includes.pl
EXTRA_DIST += \
$( top_srcdir) /tools/check-includes.pl
2013-11-11 07:17:25 +04:00
# Stupid test that everything purported to be exported really is
d e f i n e g e n e r a t e - s y m - t e s t
$( AM_V_at) $( MKDIR_P) $( dir $@ )
2013-11-16 07:38:12 +04:00
$( AM_V_at) printf '#include <stdio.h>\n' > $@
$( AM_V_at) printf '#include "%s"\n' $( notdir $( filter %.h, $^) ) >> $@
$( AM_V_at) printf 'void* functions[] = {\n' >> $@
$( AM_V_GEN) sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@
$( AM_V_at) printf '};\nint main(void) {\n' >> $@
$( AM_V_at) printf 'unsigned i; for (i=0;i<sizeof(functions)/sizeof(void*);i++) printf("%%p\\n", functions[i]);\n' >> $@
$( AM_V_at) printf 'return 0; }\n' >> $@
2013-11-11 07:17:25 +04:00
e n d e f
2014-01-13 20:30:51 +04:00
test-libsystemd-sym.c : \
2014-02-19 23:16:31 +04:00
$( top_builddir) /src/libsystemd/libsystemd.sym \
2014-02-19 19:33:09 +04:00
src/systemd/sd-journal.h \
src/systemd/sd-daemon.h \
src/systemd/sd-login.h \
src/systemd/sd-bus.h \
2014-04-29 17:44:31 +04:00
src/systemd/sd-utf8.h \
2014-07-11 05:13:24 +04:00
src/systemd/sd-resolve.h \
src/systemd/sd-path.h
2013-11-11 07:17:25 +04:00
$( generate-sym-test)
2014-02-19 19:33:09 +04:00
test-libudev-sym.c : \
src/libudev/libudev.sym \
src/udev/udev.h
$( generate-sym-test)
test_libsystemd_sym_SOURCES = \
test-libsystemd-sym.c
test_libsystemd_sym_LDADD = \
libsystemd.la
test_libudev_sym_SOURCES = \
test-libudev-sym.c
2014-04-13 09:35:50 +04:00
test_libudev_sym_CFLAGS = \
$( AM_CFLAGS) \
-Wno-deprecated-declarations
2014-02-19 19:33:09 +04:00
test_libudev_sym_LDADD = \
libudev.la
BUILT_SOURCES += \
$( test_libsystemd_sym_SOURCES) \
$( test_libudev_sym_SOURCES)
tests += \
test-libsystemd-sym \
test-libudev-sym
2014-01-22 15:28:43 +04:00
.PHONY : cppcheck
2013-12-16 03:04:40 +04:00
cppcheck :
2013-12-25 22:00:12 +04:00
cppcheck --enable= all -q $( top_srcdir)
2013-11-24 17:56:56 +04:00
# Used to extract compile flags for YCM.
print-% :
@echo $( $* )
2014-02-24 21:34:12 +04:00
git-contrib :
@git shortlog -s ` git describe --abbrev= 0` .. | cut -c8- | awk '{ print $$0 "," }' | sort -u
2014-10-15 03:31:23 +04:00
EXTRA_DIST += \
tools/gdb-sd_dump_hashmaps.py
2015-01-21 05:01:13 +03:00
list-keys :
gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model= always --keyring= $( srcdir) /src/import/import-pubring.gpg --list-keys
add-key :
gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model= always --keyring= $( srcdir) /src/import/import-pubring.gpg --import -