c5bd8af65e
systemd is increasingly expecting things to live in /usr/bin, /usr/sbin or /usr/lib nad not in /bin, /sbin or /lib. It has inherited those expectations from a Fedora change: https://fedoraproject.org/wiki/Features/UsrMove Note however, that systemd does support /usr being on a separate filesystem; it just expects an initramfs to mount it before the final switchroot over to the actual rootfs. But the traditional use-case for Buildroot is not to boot with an initramfs; although that is totally feasible, that's probably not what is commonly done in the vast majority of cases. However, a lot of packages still install stuff directly into /bin, /sbin or /lib, which systemd may need early-on in the boot process, even before it may have a chance to mount /usr. Even though we can tell systemd, at configure-time, where it should expect programs to be at runtime, it does not make sense to go head-first against an upstream wa^Hill. Add an option so that /bin, /sbin and /lib be symlinks to /usr/bin and /usr/sbin. That option is forcibly enabled when the init system is systemd. Note: we need not handle /lib32 or /lib64, as they already are symlinks to /lib, which means they will automatically be redirected to /usr/lib, as /usr/lib32 and /usr/lib64 already are. Furthermore, this means we're no longer supporting a split-usr setup, so the corresponding configure options have been removed as well for systemd and, when using a merged /usr, for eudev as well. In Buildroot, we decided (with this patch) not to support a split-usr when systemd is used as an init system. This is a design decision, not a systemd issue. Thus the select is with BR2_INIT_SYSTEMD rather than with BR2_PACKAGE_SYSTEMD. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Mike Williams <mike@mikebwilliams.com> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Baruch Siach <baruch@tkos.co.il> Tested-by: Mike Williams <mike@mikebwilliams.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
71 lines
1.7 KiB
Makefile
71 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# eudev
|
|
#
|
|
################################################################################
|
|
|
|
EUDEV_VERSION = 3.1.2
|
|
EUDEV_SOURCE = eudev-$(EUDEV_VERSION).tar.gz
|
|
EUDEV_SITE = http://dev.gentoo.org/~blueness/eudev
|
|
EUDEV_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
|
|
EUDEV_LICENSE_FILES = COPYING
|
|
EUDEV_INSTALL_STAGING = YES
|
|
|
|
# configure.ac is patched by:
|
|
# 0002-build-sys-check-for-mallinfo.patch
|
|
# 0003-build-sys-check-for-strndupa.patch
|
|
EUDEV_AUTORECONF = YES
|
|
|
|
# mq_getattr is in librt
|
|
EUDEV_CONF_ENV += LIBS=-lrt
|
|
|
|
EUDEV_CONF_OPTS = \
|
|
--disable-manpages \
|
|
--sbindir=/sbin \
|
|
--libexecdir=/lib \
|
|
--with-firmware-path=/lib/firmware \
|
|
--disable-introspection \
|
|
--enable-libkmod
|
|
|
|
EUDEV_DEPENDENCIES = host-gperf host-pkgconf util-linux kmod
|
|
EUDEV_PROVIDES = udev
|
|
|
|
ifeq ($(BR2_ROOTFS_MERGED_USR),)
|
|
EUDEV_CONF_OPTS += --with-rootlibdir=/lib --enable-split-usr
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_EUDEV_RULES_GEN),y)
|
|
EUDEV_CONF_OPTS += --enable-rule_generator
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_EUDEV_ENABLE_HWDB),y)
|
|
EUDEV_CONF_OPTS += --enable-hwdb
|
|
else
|
|
EUDEV_CONF_OPTS += --disable-hwdb
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
|
|
EUDEV_CONF_OPTS += --enable-gudev
|
|
EUDEV_DEPENDENCIES += libglib2
|
|
else
|
|
EUDEV_CONF_OPTS += --disable-gudev
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
|
|
EUDEV_CONF_OPTS += --enable-selinux
|
|
EUDEV_DEPENDENCIES += libselinux
|
|
else
|
|
EUDEV_CONF_OPTS += --disable-selinux
|
|
endif
|
|
|
|
define EUDEV_INSTALL_INIT_SYSV
|
|
$(INSTALL) -D -m 0755 package/eudev/S10udev $(TARGET_DIR)/etc/init.d/S10udev
|
|
endef
|
|
|
|
# Required by default rules for input devices
|
|
define EUDEV_USERS
|
|
- - input -1 * - - - Input device group
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|