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

Reply via email to