Package: src:glibc
Version:
Tags: patch

The patch fixes building multilib enabled stage1 cross, by doing the call xx
dance for stage1 as well, as well as generating the debhelper files for multilib
stage1 packages.
--- glibc-2.19/debian/rules.d/debhelper.mk.orig 2014-10-22 21:10:46.131349002 
+0200
+++ glibc-2.19/debian/rules.d/debhelper.mk      2014-10-22 21:20:07.863363493 
+0200
@@ -201,19 +201,30 @@
        templates="libc-dev" ;\
        pass="" ; \
        suffix="" ;\
+       case "$$curpass:$$slibdir" in \
+         libc:*) \
+           ;; \
+         *:/lib32 | *:/lib64 | *:/libx32 | *:/lib/arm-linux-gnueabi*) \
+           pass="-alt" \
+           suffix="-$(curpass)" \
+           ;; \
+       esac ; \
        for t in $$templates ; do \
          for s in debian/$$t$$pass.* ; do \
            t=`echo $$s | sed -e "s#libc\(.*\)$$pass#$(libc)\1$$suffix#"` ; \
+           echo "Generating $$t ..."; \
            if [ "$$s" != "$$t" ] ; then \
              cp $$s $$t ; \
            fi ; \
-           sed -e "s#TMPDIR#debian/tmp-$$curpass#g" -i $$t; \
-           sed -e "s#RTLDDIR#$$rtlddir#g" -i $$t; \
-           sed -e "s#SLIBDIR#$$slibdir#g" -i $$t; \
+           sed -i \
+               -e "/LIBDIR.*.a /d" \
+               -e "s#TMPDIR#debian/tmp-$$curpass#g" \
+               -e "s#RTLDDIR#$$rtlddir#g" \
+               -e "s#SLIBDIR#$$slibdir#g" \
+               -e "s#LIBDIR#$$libdir#g" \
+             $$t; \
          done ; \
        done
-
-       sed -e "/LIBDIR.*.a /d" -e "s#LIBDIR#lib#g" -i 
debian/$(libc)-dev.install
 else
 $(patsubst %,debhelper_%,$(GLIBC_PASSES)) :: debhelper_% : $(stamp)debhelper_%
 $(stamp)debhelper_%: $(stamp)debhelper-common $(stamp)install_%
--- glibc-2.19/debian/rules.d/build.mk.orig     2014-10-23 15:14:45.302186092 
+0200
+++ glibc-2.19/debian/rules.d/build.mk  2014-10-23 15:15:37.194572346 +0200
@@ -165,10 +165,10 @@
            cross-compiling=yes install_root=$(CURDIR)/debian/tmp-$(curpass)    
\
            install-bootstrap-headers=yes install-headers )
 
-       install -d $(CURDIR)/debian/tmp-$(curpass)/lib
-       install -m 644 $(DEB_BUILDDIR)/csu/crt[1in].o 
$(CURDIR)/debian/tmp-$(curpass)/lib
-       ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \
-               -o $(CURDIR)/debian/tmp-$(curpass)/lib/libc.so
+       install -d $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)
+       install -m 644 $(DEB_BUILDDIR)/csu/crt[1in].o 
$(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)/.
+       $(call xx,CC) -nostdlib -nostartfiles -shared -x c /dev/null \
+               -o $(CURDIR)/debian/tmp-$(curpass)/$(call xx,libdir)/libc.so
 else
        : # FIXME: why just needed for ARM multilib?
        case "$(curpass)" in \
@@ -209,6 +209,7 @@
          $(MAKE) -f debian/generate-supported.mk IN=localedata/SUPPORTED \
            OUT=debian/tmp-$(curpass)/usr/share/i18n/SUPPORTED; \
        fi
+endif
 
        # Create the multiarch directories, and the configuration file in 
/etc/ld.so.conf.d
        if [ $(curpass) = libc ]; then \
@@ -230,6 +231,7 @@
          mv debian/tmp-$(curpass)/usr/include/ieee754.h 
debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
        fi
 
+ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
        # For our biarch libc, add an ld.so.conf.d configuration; this
        # is needed because multiarch libc Replaces: libc6-i386 for ld.so, and
        # the multiarch ld.so doesn't look at the (non-standard) /lib32, so we

Reply via email to