kumquat-buildroot/package/restorecond/restorecond.mk
Fabrice Fontaine a81de0654d package/restorecond: fix build with BR2_TIME_BITS_64
Do not remove _FILE_OFFSET_BITS=64 from CFLAGS and CPPFLAGS to avoid the
following build failure with BR2_TIME_BITS_64 raised since commit
3c427c6472:

In file included from /home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/features.h:394,
                 from /home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/fts.h:53,
                 from restore.h:6,
                 from restore.c:1:
/home/fabrice/buildroot/output/host/mips-buildroot-linux-gnu/sysroot/usr/include/features-time64.h:26:5: error: #error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
   26 | #   error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
      |     ^~~~~

Indeed, this LFS workaround was there since the addititon of the package
in commit 9d6da7a264 and is only needed to
fix a build failure with the old codesourcery-arm toolchain from 2014
which uses glibc < 2.23. as glibc 2.23 was released in February 2016:
https://sourceware.org/glibc/wiki/Release/2.23, drop this workaround as
already done for libselinux in commit
c1fa9bc2f7. A follow-up patch will also
drop codesourcery-arm toolchain.

Fixes: 3c427c6472
 - No autobuilder failures (yet)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 85acd9b5b9)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2024-03-20 21:35:26 +01:00

48 lines
1.7 KiB
Makefile

################################################################################
#
# restorecond
#
################################################################################
RESTORECOND_VERSION = 3.5
RESTORECOND_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(RESTORECOND_VERSION)
RESTORECOND_LICENSE = GPL-2.0
RESTORECOND_LICENSE_FILES = LICENSE
RESTORECOND_DEPENDENCIES = libglib2 libsepol libselinux dbus-glib
RESTORECOND_MAKE_OPTS += \
$(TARGET_CONFIGURE_OPTS) \
ARCH="$(BR2_ARCH)"
# We need to pass DESTDIR at build time because it's used by
# restorecond build system to find headers and libraries.
define RESTORECOND_BUILD_CMDS
$(MAKE) -C $(@D) $(RESTORECOND_MAKE_OPTS) DESTDIR=$(STAGING_DIR) all
endef
define RESTORECOND_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/restorecond/S02restorecond \
$(TARGET_DIR)/etc/init.d/S02restorecond
endef
define RESTORECOND_INSTALL_INIT_SYSTEMD
$(INSTALL) -m 0644 -D $(@D)/restorecond.service \
$(TARGET_DIR)/usr/lib/systemd/system/restorecond.service
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
ln -fs ../../../../usr/lib/systemd/system/restorecond.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/restorecond.service
$(INSTALL) -m 0600 -D $(@D)/org.selinux.Restorecond.service \
$(TARGET_DIR)/etc/systemd/system/org.selinux.Restorecond.service
endef
define RESTORECOND_INSTALL_TARGET_CMDS
$(INSTALL) -m 0644 -D $(@D)/restorecond.conf $(TARGET_DIR)/etc/selinux/restorecond.conf
$(INSTALL) -m 0644 -D $(@D)/restorecond_user.conf $(TARGET_DIR)/etc/selinux/restorecond_user.conf
$(INSTALL) -m 0755 -D $(@D)/restorecond $(TARGET_DIR)/usr/sbin/restorecond
endef
$(eval $(generic-package))