The cirros image was rebuilt against the 3.13.0-83 kernel, drivers e1000e, igbvf...
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / package / systemd / systemd.mk
diff --git a/cirros-testvm/src-cirros/buildroot-2015.05/package/systemd/systemd.mk b/cirros-testvm/src-cirros/buildroot-2015.05/package/systemd/systemd.mk
new file mode 100644 (file)
index 0000000..98bda02
--- /dev/null
@@ -0,0 +1,214 @@
+################################################################################
+#
+# systemd
+#
+################################################################################
+
+SYSTEMD_VERSION = 219
+SYSTEMD_SITE = http://www.freedesktop.org/software/systemd
+SYSTEMD_SOURCE = systemd-$(SYSTEMD_VERSION).tar.xz
+SYSTEMD_LICENSE = LGPLv2.1+; GPLv2+ for udev; MIT-like license for few source files listed in README
+SYSTEMD_LICENSE_FILES = LICENSE.GPL2 LICENSE.LGPL2.1 LICENSE.MIT
+SYSTEMD_INSTALL_STAGING = YES
+SYSTEMD_DEPENDENCIES = \
+       host-intltool \
+       libcap \
+       util-linux \
+       kmod \
+       host-gperf
+
+SYSTEMD_PROVIDES = udev
+SYSTEMD_AUTORECONF = YES
+
+# Make sure that systemd will always be built after busybox so that we have
+# a consistent init setup between two builds
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+SYSTEMD_DEPENDENCIES += busybox
+endif
+
+SYSTEMD_CONF_OPTS += \
+       --with-rootprefix= \
+       --with-rootlibdir=/lib \
+       --enable-static=no \
+       --disable-manpages \
+       --disable-selinux \
+       --disable-pam \
+       --disable-libcryptsetup \
+       --with-dbuspolicydir=/etc/dbus-1/system.d \
+       --with-dbussessionservicedir=/usr/share/dbus-1/services \
+       --with-dbussystemservicedir=/usr/share/dbus-1/system-services \
+       --enable-split-usr \
+       --disable-efi \
+       --disable-tests \
+       --disable-dbus \
+       --without-python
+
+SYSTEMD_CFLAGS = $(TARGET_CFLAGS) -fno-lto
+
+# Override path to kmod, used in kmod-static-nodes.service
+SYSTEMD_CONF_ENV = \
+       CFLAGS="$(SYSTEMD_CFLAGS)" \
+       ac_cv_path_KMOD=/usr/bin/kmod
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_COMPAT),y)
+SYSTEMD_CONF_OPTS += --enable-compat-libs
+else
+SYSTEMD_CONF_OPTS += --disable-compat-libs
+endif
+
+ifeq ($(BR2_PACKAGE_ACL),y)
+SYSTEMD_CONF_OPTS += --enable-acl
+SYSTEMD_DEPENDENCIES += acl
+else
+SYSTEMD_CONF_OPTS += --disable-acl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
+SYSTEMD_CONF_OPTS += --enable-gudev
+SYSTEMD_DEPENDENCIES += libglib2
+else
+SYSTEMD_CONF_OPTS += --disable-gudev
+endif
+
+ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
+SYSTEMD_CONF_OPTS += --enable-seccomp
+SYSTEMD_DEPENDENCIES += libseccomp
+else
+SYSTEMD_CONF_OPTS += --disable-seccomp
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_ALL_EXTRAS),y)
+SYSTEMD_DEPENDENCIES += \
+       xz              \
+       libgcrypt
+SYSTEMD_CONF_OPTS +=   \
+       --enable-xz     \
+       --enable-gcrypt \
+       --with-libgcrypt-prefix=$(STAGING_DIR)/usr
+else
+SYSTEMD_CONF_OPTS +=   \
+       --disable-xz    \
+       --disable-gcrypt
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY),y)
+SYSTEMD_DEPENDENCIES += libmicrohttpd
+else
+SYSTEMD_CONF_OPTS += --disable-microhttpd
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_NETWORKD),y)
+SYSTEMD_CONF_OPTS += --enable-networkd
+define SYSTEMD_INSTALL_RESOLVCONF_HOOK
+       ln -sf ../run/systemd/resolve/resolv.conf \
+               $(TARGET_DIR)/etc/resolv.conf
+endef
+else
+SYSTEMD_CONF_OPTS += --disable-networkd
+define SYSTEMD_INSTALL_SERVICE_NETWORK
+       $(INSTALL) -D -m 644 package/systemd/network.service \
+               $(TARGET_DIR)/etc/systemd/system/network.service
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
+       ln -fs ../network.service \
+               $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/network.service
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_TIMESYNCD),y)
+SYSTEMD_CONF_OPTS += --enable-timesyncd
+define SYSTEMD_INSTALL_SERVICE_TIMESYNC
+       mkdir -p $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants
+       ln -sf ../../../../lib/systemd/system/systemd-timesyncd.service \
+               $(TARGET_DIR)/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
+endef
+else
+SYSTEMD_CONF_OPTS += --disable-timesyncd
+endif
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_SMACK_SUPPORT),y)
+SYSTEMD_CONF_OPTS += --enable-smack
+else
+SYSTEMD_CONF_OPTS += --disable-smack
+endif
+
+ifeq ($(BR2_PACKAGE_BASH),)
+SYSTEMD_CONF_OPTS += --with-bashcompletiondir=
+endif
+
+ifeq ($(BR2_PACKAGE_ZSH),)
+SYSTEMD_CONF_OPTS += --with-zshcompletiondir=
+endif
+
+# mq_getattr needs -lrt
+SYSTEMD_MAKE_OPTS += LIBS=-lrt
+SYSTEMD_MAKE_OPTS += LDFLAGS+=-ldl
+
+define SYSTEMD_INSTALL_INIT_HOOK
+       ln -fs ../lib/systemd/systemd $(TARGET_DIR)/sbin/init
+       ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/halt
+       ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/poweroff
+       ln -fs ../bin/systemctl $(TARGET_DIR)/sbin/reboot
+
+       ln -fs ../../../lib/systemd/system/multi-user.target $(TARGET_DIR)/etc/systemd/system/default.target
+endef
+
+define SYSTEMD_INSTALL_MACHINEID_HOOK
+       touch $(TARGET_DIR)/etc/machine-id
+endef
+
+define SYSTEMD_SANITIZE_PATH_IN_UNITS
+       find $(TARGET_DIR)/lib/systemd/system -name '*.service' \
+               -exec $(SED) 's,$(HOST_DIR),,g' {} \;
+endef
+
+# Disable ldconfig.service, as /sbin/ldconfig is not available when the
+# target is built with a glibc-based toolchain.
+define SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK
+       rm -f $(TARGET_DIR)/lib/systemd/system/sysinit.target.wants/ldconfig.service
+endef
+
+SYSTEMD_POST_INSTALL_TARGET_HOOKS += \
+       SYSTEMD_INSTALL_INIT_HOOK \
+       SYSTEMD_INSTALL_MACHINEID_HOOK \
+       SYSTEMD_INSTALL_RESOLVCONF_HOOK \
+       SYSTEMD_DISABLE_LDCONFIG_SERVICE_HOOK \
+       SYSTEMD_SANITIZE_PATH_IN_UNITS
+
+define SYSTEMD_USERS
+       systemd-journal -1 systemd-journal -1 * /var/log/journal - - Journal
+       systemd-journal-gateway -1 systemd-journal-gateway -1 * /var/log/journal - - Journal Gateway
+       systemd-journal-remote -1 systemd-journal-remote -1 * /var/log/journal/remote - - Journal Remote
+       systemd-journal-upload -1 systemd-journal-upload -1 * - - - Journal Upload
+       systemd-resolve -1 systemd-resolve -1 * - - - Network Name Resolution Manager
+       systemd-bus-proxy -1 systemd-bus-proxy -1 * - - - Proxy D-Bus messages to/from a bus
+       systemd-timesync -1 systemd-timesync -1 * - - - Network Time Synchronization
+       systemd-network -1 systemd-network -1 * - - - Network Manager
+       - - input -1 * - - - Input device group
+endef
+
+define SYSTEMD_DISABLE_SERVICE_TTY1
+       rm -f $(TARGET_DIR)/etc/systemd/system/getty.target.wants/getty@tty1.service
+endef
+
+ifneq ($(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT)),)
+# systemd needs getty.service for VTs and serial-getty.service for serial ttys
+define SYSTEMD_INSTALL_SERVICE_TTY
+       if echo $(BR2_TARGET_GENERIC_GETTY_PORT) | egrep -q 'tty[0-9]*$$'; \
+       then \
+               SERVICE="getty"; \
+       else \
+               SERVICE="serial-getty"; \
+       fi; \
+       ln -fs ../../../../lib/systemd/system/$${SERVICE}@.service \
+               $(TARGET_DIR)/etc/systemd/system/getty.target.wants/$${SERVICE}@$(BR2_TARGET_GENERIC_GETTY_PORT).service
+endef
+endif
+
+define SYSTEMD_INSTALL_INIT_SYSTEMD
+       $(SYSTEMD_DISABLE_SERVICE_TTY1)
+       $(SYSTEMD_INSTALL_SERVICE_TTY)
+       $(SYSTEMD_INSTALL_SERVICE_NETWORK)
+       $(SYSTEMD_INSTALL_SERVICE_TIMESYNC)
+endef
+
+$(eval $(autotools-package))