ea6ddd3671
Explicitly do not install udev rules and systemd units when installing the host version of e2fsprogs, as we do not need those files when calling host tools provided by e2fsprogs from Buildroot. This fixes a weird issue I encountered: host-e2fsprogs was built and installed without any issue when building an image from scratch. But any attempt to rebuild host-e2fsprogs alone was failing during the installation steps as it tried to install files to the host system. This is because e2fsprogs' build system (autotools) is using the prefix given at configuration time when installing its binaries, configuration files, man pages, etc... but not when installing its systemd units and udev rules. The issue did not arise when building it from scratch, as host-e2fsprogs do not have a dependency on host-udev/systemd, so its configure script did not automatically enable udev/systemd installation steps at first. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
81 lines
2.7 KiB
Makefile
81 lines
2.7 KiB
Makefile
################################################################################
|
|
#
|
|
# e2fsprogs
|
|
#
|
|
################################################################################
|
|
|
|
E2FSPROGS_VERSION = 1.45.6
|
|
E2FSPROGS_SOURCE = e2fsprogs-$(E2FSPROGS_VERSION).tar.xz
|
|
E2FSPROGS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/people/tytso/e2fsprogs/v$(E2FSPROGS_VERSION)
|
|
E2FSPROGS_LICENSE = GPL-2.0, MIT-like with advertising clause (libss and libet)
|
|
E2FSPROGS_LICENSE_FILES = NOTICE lib/ss/mit-sipb-copyright.h lib/et/internal.h
|
|
E2FSPROGS_INSTALL_STAGING = YES
|
|
|
|
# Use libblkid and libuuid from util-linux for host and target packages.
|
|
# This prevents overriding them with e2fsprogs' ones, which may cause
|
|
# problems for other packages.
|
|
E2FSPROGS_DEPENDENCIES = host-pkgconf util-linux
|
|
HOST_E2FSPROGS_DEPENDENCIES = host-pkgconf host-util-linux
|
|
|
|
# e4defrag doesn't build on older systems like RHEL5.x, and we don't
|
|
# need it on the host anyway.
|
|
# Disable fuse2fs as well to avoid carrying over deps, and it's unused
|
|
HOST_E2FSPROGS_CONF_OPTS = \
|
|
--disable-defrag \
|
|
--disable-e2initrd-helper \
|
|
--disable-fuse2fs \
|
|
--disable-libblkid \
|
|
--disable-libuuid \
|
|
--disable-testio-debug \
|
|
--enable-symlink-install \
|
|
--enable-elf-shlibs \
|
|
--with-crond-dir=no \
|
|
--with-udev-rules-dir=no \
|
|
--with-systemd-unit-dir=no
|
|
|
|
# Set the binary directories to "/bin" and "/sbin", as busybox does,
|
|
# so that we do not end up with two versions of e2fs tools.
|
|
E2FSPROGS_CONF_OPTS = \
|
|
--bindir=/bin \
|
|
--sbindir=/sbin \
|
|
$(if $(BR2_STATIC_LIBS),--disable-elf-shlibs,--enable-elf-shlibs) \
|
|
$(if $(BR2_PACKAGE_E2FSPROGS_DEBUGFS),--enable-debugfs,--disable-debugfs) \
|
|
$(if $(BR2_PACKAGE_E2FSPROGS_E2IMAGE),--enable-imager,--disable-imager) \
|
|
$(if $(BR2_PACKAGE_E2FSPROGS_E4DEFRAG),--enable-defrag,--disable-defrag) \
|
|
$(if $(BR2_PACKAGE_E2FSPROGS_FSCK),--enable-fsck,--disable-fsck) \
|
|
$(if $(BR2_PACKAGE_E2FSPROGS_RESIZE2FS),--enable-resizer,--disable-resizer) \
|
|
--disable-uuidd \
|
|
--disable-libblkid \
|
|
--disable-libuuid \
|
|
--disable-e2initrd-helper \
|
|
--disable-testio-debug \
|
|
--disable-rpath \
|
|
--enable-symlink-install
|
|
|
|
ifeq ($(BR2_PACKAGE_E2FSPROGS_FUSE2FS),y)
|
|
E2FSPROGS_CONF_OPTS += --enable-fuse2fs
|
|
E2FSPROGS_DEPENDENCIES += libfuse
|
|
else
|
|
E2FSPROGS_CONF_OPTS += --disable-fuse2fs
|
|
endif
|
|
|
|
ifeq ($(BR2_nios2),y)
|
|
E2FSPROGS_CONF_ENV += ac_cv_func_fallocate=no
|
|
endif
|
|
|
|
E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true
|
|
|
|
HOST_E2FSPROGS_CONF_ENV += ac_cv_path_LDCONFIG=true
|
|
|
|
E2FSPROGS_INSTALL_STAGING_OPTS = \
|
|
DESTDIR=$(STAGING_DIR) \
|
|
install-libs
|
|
|
|
# Package does not build in parallel due to improper make rules
|
|
define HOST_E2FSPROGS_INSTALL_CMDS
|
|
$(HOST_MAKE_ENV) $(MAKE1) -C $(@D) install install-libs
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|