Bug#958674: glibc: refactor generation of multilib include symlinks
Hi,
On 2020-04-24 11:24, Helmut Grohne wrote:
> 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.
On the principle I am fine with it, it's a nice cleanup. Now I still
have one comment about it, see below.
> 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; \
DEB_HOST_GNU_TYPE doesn't look correct here. What we want here is the
multiarch path, not the gnu triplet. They are similar on most
architectures, but differ at least on i386.
Aurelien
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
Reply to: