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

Bug#958674: glibc: refactor generation of multilib include symlinks



Source: glibc
Version: 2.30-4
Severity: wishlist
Tags: patch
Control: block 798955 by -1

Hi Aurelien,

as you might have noticed, I resumed work on the long-standing multiarch
glibc headers issue. It seems that we're mostly done with prerequisites
now. Most patches with the exception of a qmake one have been filed a
while ago, so it seems like time to move forward a little.

The resulting patch to glibc is not entirely trivial, so I've tried to
split it into more manageable pieces:

 * This bug: Refactor generation of multilib include symlinks. It is
   essentially pulling a pile of duplicated code into a make define. As
   such it can be considered a cleanup patch (net -160 lines) and does
   not affect resulting packages in an observable way. It is readily
   applicable.

 * #798955 will receive an updated patch after applying this one. The
   updated patch is much smaller, which makes it easier to review.

Please don't let this patch sit in the bts for long. Either you like my
approach of splitting the diff and can apply it. Fine. Or you disagree
with it on some level. In that case, I'd like to learn your reason and
have this bug closed and tagged wontfix.

Helmut
diff --minimal -Nru glibc-2.30/debian/changelog glibc-2.30/debian/changelog
--- glibc-2.30/debian/changelog	2020-03-25 13:56:56.000000000 +0100
+++ glibc-2.30/debian/changelog	2020-04-24 08:02:13.000000000 +0200
@@ -1,3 +1,10 @@
+glibc (2.30-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Refactor generation of multilib include symlinks. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Fri, 24 Apr 2020 08:02:13 +0200
+
 glibc (2.30-4) unstable; urgency=medium
 
   [ Aurelien Jarno ]
diff --minimal -Nru glibc-2.30/debian/rules.d/build.mk glibc-2.30/debian/rules.d/build.mk
--- glibc-2.30/debian/rules.d/build.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/rules.d/build.mk	2020-04-24 08:02:08.000000000 +0200
@@ -2,6 +2,16 @@
 # PASS_VAR, we need to call all variables as $(call xx,VAR)
 # This little bit of magic makes it possible:
 xx=$(if $($(curpass)_$(1)),$($(curpass)_$(1)),$($(1)))
+define generic_multilib_extra_pkg_install
+set -e; \
+mkdir -p debian/$(1)/usr/include/sys; \
+ln -sf $(DEB_HOST_GNU_TYPE)/bits debian/$(1)/usr/include/; \
+ln -sf $(DEB_HOST_GNU_TYPE)/gnu debian/$(1)/usr/include/; \
+ln -sf $(DEB_HOST_GNU_TYPE)/fpu_control.h debian/$(1)/usr/include/; \
+for i in `ls debian/tmp-libc/usr/include/$(DEB_HOST_GNU_TYPE)/sys`; do \
+	ln -sf ../$(DEB_HOST_GNU_TYPE)/sys/$$i debian/$(1)/usr/include/sys/$$i; \
+done
+endef
 
 ifneq ($(filter stage1,$(DEB_BUILD_PROFILES)),)
     libc_extra_config_options = $(extra_config_options) --disable-sanity-checks \
diff --minimal -Nru glibc-2.30/debian/sysdeps/amd64.mk glibc-2.30/debian/sysdeps/amd64.mk
--- glibc-2.30/debian/sysdeps/amd64.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/amd64.mk	2020-04-24 08:02:08.000000000 +0200
@@ -20,21 +20,13 @@
 
 define libc6-dev-i386_extra_pkg_install
 
-mkdir -p debian/libc6-dev-i386/usr/include
-ln -sf x86_64-linux-gnu/bits debian/libc6-dev-i386/usr/include/
-ln -sf x86_64-linux-gnu/gnu debian/libc6-dev-i386/usr/include/
-ln -sf x86_64-linux-gnu/fpu_control.h debian/libc6-dev-i386/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-i386)
 
 mkdir -p debian/libc6-dev-i386/usr/include/x86_64-linux-gnu/gnu
 cp -a debian/tmp-i386/usr/include/gnu/lib-names-32.h \
 	debian/tmp-i386/usr/include/gnu/stubs-32.h \
 	debian/libc6-dev-i386/usr/include/x86_64-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-i386/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/x86_64-linux-gnu/sys` ; do \
-        ln -sf ../x86_64-linux-gnu/sys/$$i debian/libc6-dev-i386/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-i386_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/armel.mk glibc-2.30/debian/sysdeps/armel.mk
--- glibc-2.30/debian/sysdeps/armel.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/armel.mk	2020-04-24 08:02:08.000000000 +0200
@@ -15,21 +15,13 @@
 #
 #define libc6-dev-armhf_extra_pkg_install
 #
-#mkdir -p debian/libc6-dev-armhf/usr/include
-#ln -sf arm-linux-gnueabi/bits debian/libc6-dev-armhf/usr/include/
-#ln -sf arm-linux-gnueabi/gnu debian/libc6-dev-armhf/usr/include/
-#ln -sf arm-linux-gnueabi/fpu_control.h debian/libc6-dev-armhf/usr/include/
+#$(call generic_multilib_extra_pkg_install,libc6-dev-armhf)
 #
 #mkdir -p debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu
 #cp -a debian/tmp-armhf/usr/include/gnu/lib-names-hard.h \
 #	debian/tmp-armhf/usr/include/gnu/stubs-hard.h \
 #	debian/libc6-dev-armhf/usr/include/arm-linux-gnueabi/gnu
 #
-#mkdir -p debian/libc6-dev-armhf/usr/include/sys
-#for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabi/sys` ; do \
-#	ln -sf ../arm-linux-gnueabi/sys/$$i debian/libc6-dev-armhf/usr/include/sys/$$i ; \
-#done
-#
 #endef
 #
 #define libc6-armhf_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/armhf.mk glibc-2.30/debian/sysdeps/armhf.mk
--- glibc-2.30/debian/sysdeps/armhf.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/armhf.mk	2020-04-24 08:02:08.000000000 +0200
@@ -26,21 +26,13 @@
 #
 #define libc6-dev-armel_extra_pkg_install
 #
-#mkdir -p debian/libc6-dev-armel/usr/include
-#ln -sf arm-linux-gnueabihf/bits debian/libc6-dev-armel/usr/include/
-#ln -sf arm-linux-gnueabihf/gnu debian/libc6-dev-armel/usr/include/
-#ln -sf arm-linux-gnueabihf/fpu_control.h debian/libc6-dev-armel/usr/include/
+#$(call generic_multilib_extra_pkg_install,libc6-dev-armel)
 #
 #mkdir -p debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu
 #cp -a debian/tmp-armel/usr/include/gnu/lib-names-soft.h \
 #	debian/tmp-armel/usr/include/gnu/stubs-soft.h \
 #	debian/libc6-dev-armel/usr/include/arm-linux-gnueabihf/gnu
 #
-#mkdir -p debian/libc6-dev-armel/usr/include/sys
-#for i in `ls debian/tmp-libc/usr/include/arm-linux-gnueabihf/sys` ; do \
-#	ln -sf ../arm-linux-gnueabihf/sys/$$i debian/libc6-dev-armel/usr/include/sys/$$i ; \
-#done
-#
 #endef
 #
 #define libc6-armel_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/i386.mk glibc-2.30/debian/sysdeps/i386.mk
--- glibc-2.30/debian/sysdeps/i386.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/i386.mk	2020-04-24 08:02:08.000000000 +0200
@@ -50,21 +50,13 @@
 
 define libc6-dev-amd64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-amd64/usr/include
-ln -sf i386-linux-gnu/bits debian/libc6-dev-amd64/usr/include/
-ln -sf i386-linux-gnu/gnu debian/libc6-dev-amd64/usr/include/
-ln -sf i386-linux-gnu/fpu_control.h debian/libc6-dev-amd64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-amd64)
 
 mkdir -p debian/libc6-dev-amd64/usr/include/i386-linux-gnu/gnu
 cp -a debian/tmp-amd64/usr/include/gnu/lib-names-64.h \
 	debian/tmp-amd64/usr/include/gnu/stubs-64.h \
 	debian/libc6-dev-amd64/usr/include/i386-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-amd64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/i386-linux-gnu/sys` ; do \
-	ln -sf ../i386-linux-gnu/sys/$$i debian/libc6-dev-amd64/usr/include/sys/$$i ; \
-done
-
 endef
 
 # build x32 ABI alternative library
diff --minimal -Nru glibc-2.30/debian/sysdeps/kfreebsd-amd64.mk glibc-2.30/debian/sysdeps/kfreebsd-amd64.mk
--- glibc-2.30/debian/sysdeps/kfreebsd-amd64.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/kfreebsd-amd64.mk	2020-04-24 08:02:08.000000000 +0200
@@ -16,21 +16,13 @@
 
 define libc0.1-dev-i386_extra_pkg_install
 
-mkdir -p debian/libc0.1-dev-i386/usr/include
-ln -s x86_64-kfreebsd-gnu/bits debian/libc0.1-dev-i386/usr/include/
-ln -s x86_64-kfreebsd-gnu/gnu debian/libc0.1-dev-i386/usr/include/
-ln -s x86_64-kfreebsd-gnu/fpu_control.h debian/libc0.1-dev-i386/usr/include/
+$(call generic_multilib_extra_pkg_install,libc0.1-dev-i386)
 
 mkdir -p debian/libc0.1-dev-i386/usr/include/x86_64-kfreebsd-gnu/gnu
 cp -a debian/tmp-i386/usr/include/gnu/lib-names-32.h \
 	debian/tmp-i386/usr/include/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
-for i in `ls debian/tmp-libc/usr/include/x86_64-kfreebsd-gnu/sys` ; do \
-	ln -s ../x86_64-kfreebsd-gnu/sys/$$i debian/libc0.1-dev-i386/usr/include/sys/$$i ; \
-done
-
 cp -a debian/tmp-i386/usr/include/sys/vm86.h \
         debian/libc0.1-dev-i386/usr/include/sys
 
diff --minimal -Nru glibc-2.30/debian/sysdeps/mips.mk glibc-2.30/debian/sysdeps/mips.mk
--- glibc-2.30/debian/sysdeps/mips.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mips.mk	2020-04-24 08:02:08.000000000 +0200
@@ -25,21 +25,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mips-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mips-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mips-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
 	debian/libc6-dev-mips64/usr/include/mips-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mips-linux-gnu/sys` ; do \
-	ln -sf ../mips-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mipsn32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mips64.mk glibc-2.30/debian/sysdeps/mips64.mk
--- glibc-2.30/debian/sysdeps/mips64.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mips64.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mipsn32_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include
-ln -sf mips64-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
-ln -sf mips64-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
-ln -sf mips64-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mipsn32)
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
 cp -a debian/tmp-mipsn32/usr/include/gnu/lib-names-n32_hard.h \
 	debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
 	debian/libc6-dev-mipsn32/usr/include/mips64-linux-gnuabi64/gnu
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mips64-linux-gnuabi64/sys` ; do \
-        ln -sf ../mips64-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mips64el.mk glibc-2.30/debian/sysdeps/mips64el.mk
--- glibc-2.30/debian/sysdeps/mips64el.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mips64el.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mipsn32_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include
-ln -sf mips64el-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
-ln -sf mips64el-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
-ln -sf mips64el-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mipsn32)
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
 cp -a debian/tmp-mipsn32/usr/include/gnu/lib-names-n32_hard.h \
 	debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard.h \
 	debian/libc6-dev-mipsn32/usr/include/mips64el-linux-gnuabi64/gnu
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mips64el-linux-gnuabi64/sys` ; do \
-        ln -sf ../mips64el-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mips64r6.mk glibc-2.30/debian/sysdeps/mips64r6.mk
--- glibc-2.30/debian/sysdeps/mips64r6.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mips64r6.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mipsn32_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include
-ln -sf mipsisa64r6-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
-ln -sf mipsisa64r6-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
-ln -sf mipsisa64r6-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mipsn32)
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mipsisa64r6-linux-gnuabi64/gnu
 cp -a debian/tmp-mipsn32/usr/include/gnu/lib-names-n32_hard_2008.h \
 	debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard_2008.h \
 	debian/libc6-dev-mipsn32/usr/include/mipsisa64r6-linux-gnuabi64/gnu
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa64r6-linux-gnuabi64/sys` ; do \
-	ln -sf ../mipsisa64r6-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mips64r6el.mk glibc-2.30/debian/sysdeps/mips64r6el.mk
--- glibc-2.30/debian/sysdeps/mips64r6el.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mips64r6el.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mipsn32_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include
-ln -sf mipsisa64r6el-linux-gnuabi64/bits debian/libc6-dev-mipsn32/usr/include/
-ln -sf mipsisa64r6el-linux-gnuabi64/gnu debian/libc6-dev-mipsn32/usr/include/
-ln -sf mipsisa64r6el-linux-gnuabi64/fpu_control.h debian/libc6-dev-mipsn32/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mipsn32)
 
 mkdir -p debian/libc6-dev-mipsn32/usr/include/mipsisa64r6el-linux-gnuabi64/gnu
 cp -a debian/tmp-mipsn32/usr/include/gnu/lib-names-n32_hard_2008.h \
 	debian/tmp-mipsn32/usr/include/gnu/stubs-n32_hard_2008.h \
 	debian/libc6-dev-mipsn32/usr/include/mipsisa64r6el-linux-gnuabi64/gnu
 
-mkdir -p debian/libc6-dev-mipsn32/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa64r6el-linux-gnuabi64/sys` ; do \
-	ln -sf ../mipsisa64r6el-linux-gnuabi64/sys/$$i debian/libc6-dev-mipsn32/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsel.mk glibc-2.30/debian/sysdeps/mipsel.mk
--- glibc-2.30/debian/sysdeps/mipsel.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsel.mk	2020-04-24 08:02:08.000000000 +0200
@@ -25,21 +25,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mipsel-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mipsel-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mipsel-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsel-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
 	debian/libc6-dev-mips64/usr/include/mipsel-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsel-linux-gnu/sys` ; do \
-	ln -sf ../mipsel-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mipsn32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsn32.mk glibc-2.30/debian/sysdeps/mipsn32.mk
--- glibc-2.30/debian/sysdeps/mipsn32.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsn32.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mips64-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mips64-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mips64-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
 	debian/libc6-dev-mips64/usr/include/mips64-linux-gnuabin32/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mips64-linux-gnuabin32/sys` ; do \
-	ln -sf ../mips64-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsn32el.mk glibc-2.30/debian/sysdeps/mipsn32el.mk
--- glibc-2.30/debian/sysdeps/mipsn32el.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsn32el.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mips64el-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mips64el-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mips64el-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard.h \
 	debian/libc6-dev-mips64/usr/include/mips64el-linux-gnuabin32/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mips64el-linux-gnuabin32/sys` ; do \
-	ln -sf ../mips64el-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsn32r6.mk glibc-2.30/debian/sysdeps/mipsn32r6.mk
--- glibc-2.30/debian/sysdeps/mipsn32r6.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsn32r6.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mipsisa64r6-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa64r6-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa64r6-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsisa64r6-linux-gnuabin32/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard_2008.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard_2008.h \
 	debian/libc6-dev-mips64/usr/include/mipsisa64r6-linux-gnuabin32/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa64r6-linux-gnuabin32/sys` ; do \
-	ln -sf ../mipsisa64r6-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsn32r6el.mk glibc-2.30/debian/sysdeps/mipsn32r6el.mk
--- glibc-2.30/debian/sysdeps/mipsn32r6el.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsn32r6el.mk	2020-04-24 08:02:08.000000000 +0200
@@ -28,21 +28,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mipsisa64r6el-linux-gnuabin32/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa64r6el-linux-gnuabin32/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa64r6el-linux-gnuabin32/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsisa64r6el-linux-gnuabin32/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard_2008.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard_2008.h \
 	debian/libc6-dev-mips64/usr/include/mipsisa64r6el-linux-gnuabin32/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa64r6el-linux-gnuabin32/sys` ; do \
-	ln -sf ../mipsisa64r6el-linux-gnuabin32/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mips32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsr6.mk glibc-2.30/debian/sysdeps/mipsr6.mk
--- glibc-2.30/debian/sysdeps/mipsr6.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsr6.mk	2020-04-24 08:02:08.000000000 +0200
@@ -25,21 +25,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mipsisa32r6-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa32r6-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa32r6-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsisa32r6-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard_2008.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard_2008.h \
 	debian/libc6-dev-mips64/usr/include/mipsisa32r6-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa32r6-linux-gnu/sys` ; do \
-	ln -sf ../mipsisa32r6-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mipsn32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/mipsr6el.mk glibc-2.30/debian/sysdeps/mipsr6el.mk
--- glibc-2.30/debian/sysdeps/mipsr6el.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/mipsr6el.mk	2020-04-24 08:02:08.000000000 +0200
@@ -25,21 +25,13 @@
 
 define libc6-dev-mips64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-mips64/usr/include
-ln -sf mipsisa32r6el-linux-gnu/bits debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa32r6el-linux-gnu/gnu debian/libc6-dev-mips64/usr/include/
-ln -sf mipsisa32r6el-linux-gnu/fpu_control.h debian/libc6-dev-mips64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-mips64)
 
 mkdir -p debian/libc6-dev-mips64/usr/include/mipsisa32r6el-linux-gnu/gnu
 cp -a debian/tmp-mips64/usr/include/gnu/lib-names-n64_hard_2008.h \
 	debian/tmp-mips64/usr/include/gnu/stubs-n64_hard_2008.h \
 	debian/libc6-dev-mips64/usr/include/mipsisa32r6el-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-mips64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/mipsisa32r6el-linux-gnu/sys` ; do \
-	ln -sf ../mipsisa32r6el-linux-gnu/sys/$$i debian/libc6-dev-mips64/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-dev-mipsn32_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/powerpc.mk glibc-2.30/debian/sysdeps/powerpc.mk
--- glibc-2.30/debian/sysdeps/powerpc.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/powerpc.mk	2020-04-24 08:02:08.000000000 +0200
@@ -17,21 +17,13 @@
 
 define libc6-dev-ppc64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-ppc64/usr/include
-ln -s powerpc-linux-gnu/bits debian/libc6-dev-ppc64/usr/include/
-ln -s powerpc-linux-gnu/gnu debian/libc6-dev-ppc64/usr/include/
-ln -s powerpc-linux-gnu/fpu_control.h debian/libc6-dev-ppc64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-ppc64)
 
 mkdir -p debian/libc6-dev-ppc64/usr/include/powerpc-linux-gnu/gnu
 cp -a debian/tmp-ppc64/usr/include/gnu/lib-names-64-v1.h \
 	debian/tmp-ppc64/usr/include/gnu/stubs-64-v1.h \
 	debian/libc6-dev-ppc64/usr/include/powerpc-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-ppc64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/powerpc-linux-gnu/sys` ; do \
-	ln -s ../powerpc-linux-gnu/sys/$$i debian/libc6-dev-ppc64/usr/include/sys/$$i ; \
-done
-
 endef
 
 endif # multilib
diff --minimal -Nru glibc-2.30/debian/sysdeps/ppc64.mk glibc-2.30/debian/sysdeps/ppc64.mk
--- glibc-2.30/debian/sysdeps/ppc64.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/ppc64.mk	2020-04-24 08:02:08.000000000 +0200
@@ -19,21 +19,13 @@
 
 define libc6-dev-powerpc_extra_pkg_install
 
-mkdir -p debian/libc6-dev-powerpc/usr/include
-ln -s powerpc64-linux-gnu/bits debian/libc6-dev-powerpc/usr/include/
-ln -s powerpc64-linux-gnu/gnu debian/libc6-dev-powerpc/usr/include/
-ln -s powerpc64-linux-gnu/fpu_control.h debian/libc6-dev-powerpc/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-powerpc)
 
 mkdir -p debian/libc6-dev-powerpc/usr/include/powerpc64-linux-gnu/gnu
 cp -a debian/tmp-powerpc/usr/include/gnu/lib-names-32.h \
 	debian/tmp-powerpc/usr/include/gnu/stubs-32.h \
 	debian/libc6-dev-powerpc/usr/include/powerpc64-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-powerpc/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/powerpc64-linux-gnu/sys` ; do \
-	ln -s ../powerpc64-linux-gnu/sys/$$i debian/libc6-dev-powerpc/usr/include/sys/$$i ; \
-done
-
 endef
 
 # create a symlink for the 32 bit dynamic linker in /lib
diff --minimal -Nru glibc-2.30/debian/sysdeps/s390x.mk glibc-2.30/debian/sysdeps/s390x.mk
--- glibc-2.30/debian/sysdeps/s390x.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/s390x.mk	2020-04-24 08:02:08.000000000 +0200
@@ -19,21 +19,13 @@
 
 define libc6-dev-s390_extra_pkg_install
 
-mkdir -p debian/libc6-dev-s390/usr/include
-ln -s s390x-linux-gnu/bits debian/libc6-dev-s390/usr/include/
-ln -s s390x-linux-gnu/gnu debian/libc6-dev-s390/usr/include/
-ln -s s390x-linux-gnu/fpu_control.h debian/libc6-dev-s390/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-s390)
 
 mkdir -p debian/libc6-dev-s390/usr/include/s390x-linux-gnu/gnu
 cp -a debian/tmp-s390/usr/include/gnu/lib-names-32.h \
 	debian/tmp-s390/usr/include/gnu/stubs-32.h \
 	debian/libc6-dev-s390/usr/include/s390x-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-s390/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/s390x-linux-gnu/sys` ; do \
-	ln -s ../s390x-linux-gnu/sys/$$i debian/libc6-dev-s390/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-s390_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/sparc.mk glibc-2.30/debian/sysdeps/sparc.mk
--- glibc-2.30/debian/sysdeps/sparc.mk	2020-03-11 22:13:40.000000000 +0100
+++ glibc-2.30/debian/sysdeps/sparc.mk	2020-04-24 08:02:08.000000000 +0200
@@ -20,21 +20,13 @@
 
 define libc6-dev-sparc64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-sparc64/usr/include
-ln -s sparc-linux-gnu/bits debian/libc6-dev-sparc64/usr/include/
-ln -s sparc-linux-gnu/gnu debian/libc6-dev-sparc64/usr/include/
-ln -s sparc-linux-gnu/fpu_control.h debian/libc6-dev-sparc64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-sparc64)
 
 mkdir -p debian/libc6-dev-sparc64/usr/include/sparc-linux-gnu/gnu
 cp -a debian/tmp-sparc64/usr/include/gnu/lib-names-64.h \
 	debian/tmp-sparc64/usr/include/gnu/stubs-64.h \
 	debian/libc6-dev-sparc64/usr/include/sparc-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-sparc64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/sparc-linux-gnu/sys` ; do \
-	ln -s ../sparc-linux-gnu/sys/$$i debian/libc6-dev-sparc64/usr/include/sys/$$i ; \
-done
-
 endef
 
 endif # multilib
diff --minimal -Nru glibc-2.30/debian/sysdeps/sparc64.mk glibc-2.30/debian/sysdeps/sparc64.mk
--- glibc-2.30/debian/sysdeps/sparc64.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/sparc64.mk	2020-04-24 08:02:08.000000000 +0200
@@ -22,21 +22,13 @@
 
 define libc6-dev-sparc_extra_pkg_install
 
-mkdir -p debian/libc6-dev-sparc/usr/include
-ln -s sparc64-linux-gnu/bits debian/libc6-dev-sparc/usr/include/
-ln -s sparc64-linux-gnu/gnu debian/libc6-dev-sparc/usr/include/
-ln -s sparc64-linux-gnu/fpu_control.h debian/libc6-dev-sparc/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-sparc)
 
 mkdir -p debian/libc6-dev-sparc/usr/include/sparc64-linux-gnu/gnu
 cp -a debian/tmp-sparc/usr/include/gnu/lib-names-32.h \
 	debian/tmp-sparc/usr/include/gnu/stubs-32.h \
 	debian/libc6-dev-sparc/usr/include/sparc64-linux-gnu/gnu
 
-mkdir -p debian/libc6-dev-sparc/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/sparc64-linux-gnu/sys` ; do \
-	ln -s ../sparc64-linux-gnu/sys/$$i debian/libc6-dev-sparc/usr/include/sys/$$i ; \
-done
-
 endef
 
 define libc6-sparc_extra_pkg_install
diff --minimal -Nru glibc-2.30/debian/sysdeps/x32.mk glibc-2.30/debian/sysdeps/x32.mk
--- glibc-2.30/debian/sysdeps/x32.mk	2020-03-25 13:36:06.000000000 +0100
+++ glibc-2.30/debian/sysdeps/x32.mk	2020-04-24 08:02:08.000000000 +0200
@@ -22,21 +22,13 @@
 
 define libc6-dev-amd64_extra_pkg_install
 
-mkdir -p debian/libc6-dev-amd64/usr/include
-ln -s x86_64-linux-gnux32/bits debian/libc6-dev-amd64/usr/include/
-ln -s x86_64-linux-gnux32/gnu debian/libc6-dev-amd64/usr/include/
-ln -s x86_64-linux-gnux32/fpu_control.h debian/libc6-dev-amd64/usr/include/
+$(call generic_multilib_extra_pkg_install,libc6-dev-amd64)
 
 mkdir -p debian/libc6-dev-amd64/usr/include/x86_64-linux-gnux32/gnu
 cp -a debian/tmp-amd64/usr/include/gnu/lib-names-64.h \
 	debian/tmp-amd64/usr/include/gnu/stubs-64.h \
 	debian/libc6-dev-amd64/usr/include/x86_64-linux-gnux32/gnu
 
-mkdir -p debian/libc6-dev-amd64/usr/include/sys
-for i in `ls debian/tmp-libc/usr/include/x86_64-linux-gnux32/sys`; do \
-	ln -s ../x86_64-linux-gnux32/sys/$$i debian/libc6-dev-amd64/usr/include/sys/$$i ; \
-done
-
 endef
 
 # build 32-bit (i386) alternative library

Reply to: