Package: libselinux Version: 2.0.98-1 Severity: wishlist Tags: patch Hi,
I'm currently working on cross-building bits of Debian and libselinux fails to build correctly. There's already cross-build support in the build system, but the package build forces compilation using the native headers for the build system rather than those for the target system. The attached patch fixes this. There may be more tweaks required to make this work with multi-arch in the near future; I'll happily supply more patches as/when required for that. Cheers, -- Steve McIntyre [email protected]
diff -u libselinux-2.0.98/debian/changelog libselinux-2.0.98/debian/changelog --- libselinux-2.0.98/debian/changelog +++ libselinux-2.0.98/debian/changelog @@ -1,3 +1,9 @@ +libselinux (2.0.98-1.1) unstable; urgency=low + + * Non-maintainer upload for armhf/cross patches + + -- Steve McIntyre <[email protected]> Wed, 15 Jun 2011 16:29:47 +0100 + libselinux (2.0.98-1) unstable; urgency=low * New upstream release diff -u libselinux-2.0.98/debian/local-vars.mk libselinux-2.0.98/debian/local-vars.mk --- libselinux-2.0.98/debian/local-vars.mk +++ libselinux-2.0.98/debian/local-vars.mk @@ -25,7 +25,12 @@ TMPTOP = $(SRCTOP)/debian/$(package) LINTIANDIR = $(TMPTOP)/usr/share/lintian/overrides -PREFIX = /usr +ifeq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) + PREFIX = /usr +else + PREFIX = /usr/$(DEB_HOST_GNU_TYPE) +endif + BINDIR = $(TMPTOP)$(PREFIX)/bin LIBDIR = $(TMPTOP)/lib INCLUDE = $(TMPTOP)$(PREFIX)/include diff -u libselinux-2.0.98/debian/local.mk libselinux-2.0.98/debian/local.mk --- libselinux-2.0.98/debian/local.mk +++ libselinux-2.0.98/debian/local.mk @@ -62,10 +62,10 @@ $(checkdir) $(REASON) @test -d debian/stamp/build || mkdir -p debian/stamp/build - $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + $(MAKE) PREFIX="$(PREFIX)" CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LIBSEPOLDIR=$(LIBSEPOLDIR) ARCH=$(DEB_HOST_ARCH) -C src \ swigify - $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + $(MAKE) PREFIX="$(PREFIX)" CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LIBSEPOLDIR=$(LIBSEPOLDIR) ARCH=$(DEB_HOST_ARCH) all $(MAKE) -C src libselinux.pc $(check-libraries) @@ -80,7 +80,7 @@ $(checkdir) $(REASON) @test -d debian/stamp/build || mkdir -p debian/stamp/build - $(MAKE) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" rubywrap + $(MAKE) PREFIX="$(PREFIX)" CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" rubywrap $(check-libraries) @echo done > $@ @@ -156,7 +156,7 @@ rm -f src/audit2why.lo src/audit2why.so; \ $(MAKE) -C src DESTDIR=$(TMPTOP) PYLIBVER=python$$version \ PYTHONLIBDIR=$(TMPTOP)$(PYTHONLIBDIRTOP)/python$$version/ \ - CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ + CC="$(CC)" PREFIX="$(PREFIX)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ LIBSEPOLDIR=$(LIBSEPOLDIR) ARCH=$(DEB_HOST_ARCH) \ pywrap install-pywrap; \ if [ -d $(EXTENSIONS_DIR)/python$$version/site-packages ]; then \ diff -u libselinux-2.0.98/debian/common/copt.mk libselinux-2.0.98/debian/common/copt.mk --- libselinux-2.0.98/debian/common/copt.mk +++ libselinux-2.0.98/debian/common/copt.mk @@ -15,12 +15,13 @@ ## ############################################################################### -PREFIX := /usr # set CC to $(DEB_HOST_GNU_TYPE)-gcc only if a cross-build is detected ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) CC=$(DEB_HOST_GNU_TYPE)-gcc + PREFIX := /usr/$(DEB_HOST_GNU_TYPE) else CC = cc + PREFIX := /usr endif # Policy 10.1 says to make this the default

