[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#798955: Moving glibc headers from /usr/include to /usr/include/$(DEB_HOST_MULTIARCH)



Source: glibc
Version: 2.21-0experimental1
Severity: wishlist
Tags: patch moreinfo

Hi,

On a multiarch-enabled Debian system, there is an impossibility to
install libc0.1-dev, libc0.3-dev, libc6-dev, and libc6.1-dev binary
packages at the same time, because glibc headers are all installed
in /usr/include.  Therefore, it does not allow us to install (in a
simple multiarch manner) several dependencies needed to cross-compile
for another target, e.g. cross-compiling for an amd64 target on a
hurd-i386 host.

This patch moves those headers from /usr/include to
/usr/include/$(DEB_HOST_MULTIARCH) and removes conflicts between
libc0.1-dev, libc0.3-dev, libc6-dev, and libc6.1-dev binary packages.

So far, Helmut rebuilt ~100 packages fine with that include-moved
glibc.  Right now, we are waiting for a Debian access to Amazon
instances to rebuild the entire archive against that patched glibc
and to deal with possible FTBFS.  Tracking can be done on [0].

Regards,

[0] <https://wiki.debian.org/Multiarch/GlibcHeaders>
-- 
 .''`.   Aurélien Gérôme
: :'  :
`. `'`   Debian Developer
  `-     Unix Sys & Net Admin
diff -ruN orig/glibc-2.21/debian/changelog glibc-2.21/debian/changelog
--- orig/glibc-2.21/debian/changelog	2015-08-29 00:45:01.000000000 +0200
+++ glibc-2.21/debian/changelog	2015-09-14 01:50:54.855732954 +0200
@@ -1,3 +1,12 @@
+glibc (2.21-0experimental1+multiarchheaders.1) UNRELEASED; urgency=medium
+
+  * Support for multiarch headers: move headers from /usr/include
+    to /usr/include/$(DEB_HOST_MULTIARCH).
+  * Remove conflicts between libc0.1-dev, libc0.3-dev, libc6-dev,
+    and libc6.1-dev.
+
+ -- Aurélien Gérôme <ag@debian.org>  Mon, 14 Sep 2015 01:45:00 +0200
+
 glibc (2.21-0experimental1) experimental; urgency=medium
 
   [ Samuel Thibault ]
diff -ruN orig/glibc-2.21/debian/control glibc-2.21/debian/control
--- orig/glibc-2.21/debian/control	2015-08-29 00:37:20.000000000 +0200
+++ glibc-2.21/debian/control	2015-09-13 23:21:24.140541212 +0200
@@ -194,7 +194,6 @@
 Suggests: glibc-doc, manpages-dev
 Provides: libc-dev, libc6-dev [alpha hurd-i386 kfreebsd-i386 kfreebsd-amd64]
 Breaks: binutils (<< 2.20.1-1), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x]
-Conflicts: libc6.1-dev, libc0.1-dev, libc0.3-dev,
 Description: GNU C Library: Development Libraries and Header Files
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.
@@ -280,7 +279,6 @@
 Suggests: glibc-doc, manpages-dev
 Provides: libc-dev, libc6-dev [alpha hurd-i386 kfreebsd-i386 kfreebsd-amd64]
 Breaks: binutils (<< 2.20.1-1), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x]
-Conflicts: libc6-dev, libc0.1-dev, libc0.3-dev,
 Description: GNU C Library: Development Libraries and Header Files
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.
@@ -366,7 +364,6 @@
 Suggests: glibc-doc, manpages-dev
 Provides: libc-dev, libc6-dev [alpha hurd-i386 kfreebsd-i386 kfreebsd-amd64]
 Breaks: binutils (<< 2.20.1-1), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x]
-Conflicts: libc6-dev, libc6.1-dev, libc0.1-dev,
 Description: GNU C Library: Development Libraries and Header Files
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.
@@ -452,7 +449,6 @@
 Suggests: glibc-doc, manpages-dev
 Provides: libc-dev, libc6-dev [alpha hurd-i386 kfreebsd-i386 kfreebsd-amd64]
 Breaks: binutils (<< 2.20.1-1), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x]
-Conflicts: libc6-dev, libc6.1-dev, libc0.3-dev,
 Description: GNU C Library: Development Libraries and Header Files
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.
diff -ruN orig/glibc-2.21/debian/control.in/libc glibc-2.21/debian/control.in/libc
--- orig/glibc-2.21/debian/control.in/libc	2015-08-29 00:36:30.000000000 +0200
+++ glibc-2.21/debian/control.in/libc	2015-09-13 23:36:45.432784047 +0200
@@ -37,7 +37,6 @@
 Suggests: glibc-doc, manpages-dev
 Provides: libc-dev, libc6-dev [alpha hurd-i386 kfreebsd-i386 kfreebsd-amd64]
 Breaks: binutils (<< 2.20.1-1), binutils-gold (<< 2.20.1-11), cmake (<< 2.8.4+dfsg.1-5), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2), gcc-4.6 (<< 4.6.0-12), make (<< 3.81-8.1), pkg-config (<< 0.26-1), libjna-java (<< 3.2.7-4), liblouis-dev (<< 2.3.0-2), liblouisxml-dev (<< 2.4.0-2), libhwloc-dev (<< 1.2-3), check (<< 0.9.10-6.1+b1) [s390x]
-Conflicts: @libc-dev-conflict@
 Description: GNU C Library: Development Libraries and Header Files
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.
diff -ruN orig/glibc-2.21/debian/rules glibc-2.21/debian/rules
--- orig/glibc-2.21/debian/rules	2015-08-29 00:36:30.000000000 +0200
+++ glibc-2.21/debian/rules	2015-09-13 19:22:22.796018573 +0200
@@ -89,7 +89,7 @@
 sysconfdir=/etc
 libexecdir=$(prefix)/lib
 rootsbindir=/sbin
-includedir=$(prefix)/include
+includedir=$(prefix)/include/$(DEB_HOST_MULTIARCH)
 docdir=$(prefix)/share/doc
 mandir=$(prefix)/share/man
 sbindir=$(prefix)/sbin
diff -ruN orig/glibc-2.21/debian/rules.d/build.mk glibc-2.21/debian/rules.d/build.mk
--- orig/glibc-2.21/debian/rules.d/build.mk	2015-08-23 00:24:40.000000000 +0200
+++ glibc-2.21/debian/rules.d/build.mk	2015-09-13 23:43:14.248533196 +0200
@@ -217,13 +217,6 @@
 	    echo "/lib/$(DEB_HOST_GNU_TYPE)" >> $$conffile; \
 	    echo "/usr/lib/$(DEB_HOST_GNU_TYPE)" >> $$conffile; \
 	  fi; \
-	  mkdir -p debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/bits debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/gnu debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/sys debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/fpu_control.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/a.out.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
-	  mv debian/tmp-$(curpass)/usr/include/ieee754.h debian/tmp-$(curpass)/usr/include/$(DEB_HOST_MULTIARCH); \
 	fi
 
 ifeq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
diff -ruN orig/glibc-2.21/debian/rules.d/control.mk glibc-2.21/debian/rules.d/control.mk
--- orig/glibc-2.21/debian/rules.d/control.mk	2015-03-24 07:52:12.000000000 +0100
+++ glibc-2.21/debian/rules.d/control.mk	2015-09-13 23:36:15.917417570 +0200
@@ -9,7 +9,6 @@
 $(patsubst %,debian/control.in/%,$(libc_packages)) :: debian/control.in/% : debian/control.in/libc debian/rules.d/control.mk
 	sed -e "s%@libc@%$*%g" \
 	    -e "s%@archs@%$($(subst .,_,$*)_archs)%g" \
-	    -e "s%@libc-dev-conflict@%$(foreach arch,$(filter-out $*,$(libc_packages)),$(arch)-dev,)%g" \
 	    < $< > $@
 
 debian/control: $(stamp)control
diff -ruN orig/glibc-2.21/debian/sysdeps/amd64.mk glibc-2.21/debian/sysdeps/amd64.mk
--- orig/glibc-2.21/debian/sysdeps/amd64.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/amd64.mk	2015-09-13 22:55:52.101504801 +0200
@@ -22,7 +22,7 @@
 ln -sf x86_64-linux-gnu/fpu_control.h debian/libc6-dev-i386/usr/include/
 
 mkdir -p debian/libc6-dev-i386/usr/include/x86_64-linux-gnu/gnu
-cp -a debian/tmp-i386/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-i386/usr/include/x86_64-linux-gnu/gnu/stubs-32.h \
         debian/libc6-dev-i386/usr/include/x86_64-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-i386/usr/include/sys
@@ -53,7 +53,7 @@
 define libc6-dev-x32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-x32/usr/include/x86_64-linux-gnu/gnu
-cp -a debian/tmp-x32/usr/include/gnu/stubs-x32.h \
+cp -a debian/tmp-x32/usr/include/x86_64-linux-gnu/gnu/stubs-x32.h \
 	debian/libc6-dev-x32/usr/include/x86_64-linux-gnu/gnu/
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/i386.mk glibc-2.21/debian/sysdeps/i386.mk
--- orig/glibc-2.21/debian/sysdeps/i386.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/i386.mk	2015-09-13 23:08:10.265532354 +0200
@@ -67,7 +67,7 @@
 ln -sf i386-linux-gnu/fpu_control.h debian/libc6-dev-amd64/usr/include/
 
 mkdir -p debian/libc6-dev-amd64/usr/include/i386-linux-gnu/gnu
-cp -a debian/tmp-amd64/usr/include/gnu/stubs-64.h \
+cp -a debian/tmp-amd64/usr/include/i386-linux-gnu/gnu/stubs-64.h \
         debian/libc6-dev-amd64/usr/include/i386-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-amd64/usr/include/sys
@@ -93,7 +93,7 @@
 define libc6-dev-x32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-x32/usr/include/i386-linux-gnu/gnu
-cp -a debian/tmp-x32/usr/include/gnu/stubs-x32.h \
+cp -a debian/tmp-x32/usr/include/i386-linux-gnu/gnu/stubs-x32.h \
 	debian/libc6-dev-x32/usr/include/i386-linux-gnu/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/kfreebsd-amd64.mk glibc-2.21/debian/sysdeps/kfreebsd-amd64.mk
--- orig/glibc-2.21/debian/sysdeps/kfreebsd-amd64.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/kfreebsd-amd64.mk	2015-09-13 23:09:18.068082573 +0200
@@ -23,7 +23,7 @@
 ln -s x86_64-kfreebsd-gnu/fpu_control.h debian/libc0.1-dev-i386/usr/include/
 
 mkdir -p debian/libc0.1-dev-i386/usr/include/x86_64-kfreebsd-gnu/gnu
-cp -a debian/tmp-i386/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-i386/usr/include/x86_64-kfreebsd-gnu/gnu/stubs-32.h \
         debian/libc0.1-dev-i386/usr/include/x86_64-kfreebsd-gnu/gnu
 
 mkdir -p debian/libc0.1-dev-i386/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/mips64el.mk glibc-2.21/debian/sysdeps/mips64el.mk
--- orig/glibc-2.21/debian/sysdeps/mips64el.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mips64el.mk	2015-09-13 23:11:07.641739053 +0200
@@ -38,7 +38,7 @@
 ln -sf mips64el-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
-cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+cp -a debian/tmp-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu/stubs-n32_hard.h \
         debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
@@ -51,7 +51,7 @@
 define libc6-dev-mips32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabi64/gnu
-cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+cp -a debian/tmp-mips32/usr/include/mips64el-linux-gnuabi64/gnu/stubs-o32_hard.h \
         debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabi64/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/mips64.mk glibc-2.21/debian/sysdeps/mips64.mk
--- orig/glibc-2.21/debian/sysdeps/mips64.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mips64.mk	2015-09-13 23:12:03.860536396 +0200
@@ -38,7 +38,7 @@
 ln -sf mips64-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
-cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+cp -a debian/tmp-mipsn32/usr/include/mips64-linux-gnuabi64/gnu/stubs-n32_hard.h \
         debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
@@ -51,7 +51,7 @@
 define libc6-dev-mips32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabi64/gnu
-cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+cp -a debian/tmp-mips32/usr/include/mips64-linux-gnuabi64/gnu/stubs-o32_hard.h \
         debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabi64/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/mipsel.mk glibc-2.21/debian/sysdeps/mipsel.mk
--- orig/glibc-2.21/debian/sysdeps/mipsel.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mipsel.mk	2015-09-13 23:12:36.651834827 +0200
@@ -37,7 +37,7 @@
 ln -sf mipsel-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsel-linux-gnu/gnu
-cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+cp -a debian/tmp-mips64/usr/include/mipsel-linux-gnu/gnu/stubs-n64_hard.h \
         debian/libc6-dev-mips64/usr/include/mipsel-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
@@ -50,7 +50,7 @@
 define libc6-dev-mipsn32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mipsel-linux-gnu/gnu
-cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+cp -a debian/tmp-mipsn32/usr/include/mipsel-linux-gnu/gnu/stubs-n32_hard.h \
         debian/libc6-dev-mipsn32/usr/include/mipsel-linux-gnu/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/mips.mk glibc-2.21/debian/sysdeps/mips.mk
--- orig/glibc-2.21/debian/sysdeps/mips.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mips.mk	2015-09-13 23:12:59.623343317 +0200
@@ -37,7 +37,7 @@
 ln -sf mips-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips-linux-gnu/gnu
-cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+cp -a debian/tmp-mips64/usr/include/mips-linux-gnu/gnu/stubs-n64_hard.h \
         debian/libc6-dev-mips64/usr/include/mips-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
@@ -50,7 +50,7 @@
 define libc6-dev-mipsn32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mips-linux-gnu/gnu
-cp -a debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
+cp -a debian/tmp-mipsn32/usr/include/mips-linux-gnu/gnu/stubs-n32_hard.h \
         debian/libc6-dev-mipsn32/usr/include/mips-linux-gnu/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/mipsn32el.mk glibc-2.21/debian/sysdeps/mipsn32el.mk
--- orig/glibc-2.21/debian/sysdeps/mipsn32el.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mipsn32el.mk	2015-09-13 23:13:28.462726212 +0200
@@ -38,7 +38,7 @@
 ln -sf mips64el-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
-cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+cp -a debian/tmp-mips64/usr/include/mips64el-linux-gnuabin32/gnu/stubs-n64_hard.h \
         debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
@@ -51,7 +51,7 @@
 define libc6-dev-mips32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabin32/gnu
-cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+cp -a debian/tmp-mips32/usr/include/mips64el-linux-gnuabin32/gnu/stubs-o32_hard.h \
         debian/libc6-dev-mips32/usr/include/mips64el-linux-gnuabin32/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/mipsn32.mk glibc-2.21/debian/sysdeps/mipsn32.mk
--- orig/glibc-2.21/debian/sysdeps/mipsn32.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/mipsn32.mk	2015-09-13 23:13:53.234196116 +0200
@@ -38,7 +38,7 @@
 ln -sf mips64-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
-cp -a debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
+cp -a debian/tmp-mips64/usr/include/mips64-linux-gnuabin32/gnu/stubs-n64_hard.h \
         debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
 
 mkdir -p debian/libc6-dev-mips64/usr/include/sys
@@ -51,7 +51,7 @@
 define libc6-dev-mips32_extra_pkg_install
 
 mkdir -p debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabin32/gnu
-cp -a debian/tmp-mips32/usr/include/gnu/stubs-o32_hard.h \
+cp -a debian/tmp-mips32/usr/include/mips64-linux-gnuabin32/gnu/stubs-o32_hard.h \
         debian/libc6-dev-mips32/usr/include/mips64-linux-gnuabin32/gnu
 
 endef
diff -ruN orig/glibc-2.21/debian/sysdeps/powerpc.mk glibc-2.21/debian/sysdeps/powerpc.mk
--- orig/glibc-2.21/debian/sysdeps/powerpc.mk	2015-03-18 12:13:49.000000000 +0100
+++ glibc-2.21/debian/sysdeps/powerpc.mk	2015-09-13 23:14:18.609653059 +0200
@@ -21,7 +21,7 @@
 ln -s powerpc-linux-gnu/fpu_control.h debian/libc6-dev-ppc64/usr/include/
 
 mkdir -p debian/libc6-dev-ppc64/usr/include/powerpc-linux-gnu/gnu
-cp -a debian/tmp-ppc64/usr/include/gnu/stubs-64-v1.h \
+cp -a debian/tmp-ppc64/usr/include/powerpc-linux-gnu/gnu/stubs-64-v1.h \
         debian/libc6-dev-ppc64/usr/include/powerpc-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-ppc64/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/ppc64.mk glibc-2.21/debian/sysdeps/ppc64.mk
--- orig/glibc-2.21/debian/sysdeps/ppc64.mk	2015-03-18 12:13:49.000000000 +0100
+++ glibc-2.21/debian/sysdeps/ppc64.mk	2015-09-13 23:14:45.961067675 +0200
@@ -21,7 +21,7 @@
 ln -s powerpc64-linux-gnu/fpu_control.h debian/libc6-dev-powerpc/usr/include/
 
 mkdir -p debian/libc6-dev-powerpc/usr/include/powerpc64-linux-gnu/gnu
-cp -a debian/tmp-powerpc/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-powerpc/usr/include/powerpc64-linux-gnu/gnu/stubs-32.h \
         debian/libc6-dev-powerpc/usr/include/powerpc64-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-powerpc/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/s390x.mk glibc-2.21/debian/sysdeps/s390x.mk
--- orig/glibc-2.21/debian/sysdeps/s390x.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/s390x.mk	2015-09-13 23:15:02.100722229 +0200
@@ -20,7 +20,7 @@
 ln -s s390x-linux-gnu/fpu_control.h debian/libc6-dev-s390/usr/include/
 
 mkdir -p debian/libc6-dev-s390/usr/include/s390x-linux-gnu/gnu
-cp -a debian/tmp-s390/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-s390/usr/include/s390x-linux-gnu/gnu/stubs-32.h \
         debian/libc6-dev-s390/usr/include/s390x-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-s390/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/sparc64.mk glibc-2.21/debian/sysdeps/sparc64.mk
--- orig/glibc-2.21/debian/sysdeps/sparc64.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/sparc64.mk	2015-09-13 23:15:20.196334902 +0200
@@ -23,7 +23,7 @@
 ln -s sparc64-linux-gnu/fpu_control.h debian/libc6-dev-sparc/usr/include/
 
 mkdir -p debian/libc6-dev-sparc/usr/include/sparc64-linux-gnu/gnu
-cp -a debian/tmp-sparc/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-sparc/usr/include/sparc64-linux-gnu/gnu/stubs-32.h \
         debian/libc6-dev-sparc/usr/include/sparc64-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-sparc/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/sparc.mk glibc-2.21/debian/sysdeps/sparc.mk
--- orig/glibc-2.21/debian/sysdeps/sparc.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/sparc.mk	2015-09-13 23:15:47.767744718 +0200
@@ -21,7 +21,7 @@
 ln -s sparc-linux-gnu/fpu_control.h debian/libc6-dev-sparc64/usr/include/
 
 mkdir -p debian/libc6-dev-sparc64/usr/include/sparc-linux-gnu/gnu
-cp -a debian/tmp-sparc64/usr/include/gnu/stubs-64.h \
+cp -a debian/tmp-sparc64/usr/include/sparc-linux-gnu/gnu/stubs-64.h \
         debian/libc6-dev-sparc64/usr/include/sparc-linux-gnu/gnu
 
 mkdir -p debian/libc6-dev-sparc64/usr/include/sys
diff -ruN orig/glibc-2.21/debian/sysdeps/x32.mk glibc-2.21/debian/sysdeps/x32.mk
--- orig/glibc-2.21/debian/sysdeps/x32.mk	2015-03-16 17:03:45.000000000 +0100
+++ glibc-2.21/debian/sysdeps/x32.mk	2015-09-13 23:16:25.366939816 +0200
@@ -22,7 +22,7 @@
 ln -s x86_64-linux-gnux32/fpu_control.h debian/libc6-dev-amd64/usr/include/
 
 mkdir -p debian/libc6-dev-amd64/usr/include/x86_64-linux-gnux32/gnu
-cp -a debian/tmp-amd64/usr/include/gnu/stubs-64.h \
+cp -a debian/tmp-amd64/usr/include/x86_64-linux-gnux32/gnu/stubs-64.h \
 	debian/libc6-dev-amd64/usr/include/x86_64-linux-gnux32/gnu
 
 mkdir -p debian/libc6-dev-amd64/usr/include/sys
@@ -48,7 +48,7 @@
 define libc6-dev-i386_extra_pkg_install
 
 mkdir -p debian/libc6-dev-i386/usr/include/x86_64-linux-gnux32/gnu
-cp -a debian/tmp-i386/usr/include/gnu/stubs-32.h \
+cp -a debian/tmp-i386/usr/include/x86_64-linux-gnux32/gnu/stubs-32.h \
 	debian/libc6-dev-i386/usr/include/x86_64-linux-gnux32/gnu
 
 endef

Reply to: