Control: reassign -1 gcc-4.9

On Tue, 01 May 2012 14:01:19 +0200 Matthias Klose <d...@debian.org> wrote:
> clone 631427 -1
> reassign -1 debhelper
> retitle -1 dh_strip should handle both host and target objects
> thanks
>
> On 23.06.2011 21:17, Adam Borowski wrote:
> > Package: src:gcc-4.6
> > Version: 4.6.0-14
> > Severity: normal
> >
> > Hi!
> >
> > When building a cross compiler, there are two problems:
> >
> > 1. hardcoded use of gcc-4.4 without a declared build-dependency.
>
> now uses gcc. You can't always rely on newer gcc versions for non primary or 
> non
> secondary architectures.
>
> > 2. dh_strip is used both on objects for the build and host arch.  This does
> > not work.  You'd need to either:
> > a) call either native or cross strip appropriately
> > b) build-depend on binutils-multiarch
> > c) Loic Minier suggested there is some way to force dh_strip to do a),
> >    although for whatever reason it doesn't work in current unstable
>
> these packages can contain both code for the host and the target. dh_strip
> should either provide a way to handle these automatically, or accept an option
> for the strip binary to use (and then -X could be used to not strip some 
> objects).
>
>

dh_strip can do it now with setting DEB_HOST_GNU_TYPE
The attached patch can fix this bug.

>
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-d.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-d.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-d.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-d.mk
@@ -117,7 +117,7 @@
        debian/dh_doclink -p$(p_libphobos) $(p_base)
 endif
 
-       dh_strip -p$(p_libphobos)
+       $(cross_strip) dh_strip -p$(p_libphobos)
        dh_compress -p$(p_libphobos)
        dh_fixperms -p$(p_libphobos)
        dh_shlibdeps -p$(p_libphobos)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-fortran.mk
@@ -97,7 +97,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
@@ -137,7 +137,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_rmemptydirs -p$(p_l)
 
-       dh_strip -p$(p_l)
+       $(cross_strip) dh_strip -p$(p_l)
        dh_compress -p$(p_l)
        dh_fixperms -p$(p_l)
        $(cross_shlibdeps) dh_shlibdeps -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-go.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-go.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-go.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-go.mk
@@ -101,7 +101,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libasan.mk
@@ -35,7 +35,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libatomic.mk
@@ -30,7 +30,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libcilkrts.mk
@@ -35,7 +35,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libgcc.mk
@@ -157,7 +157,7 @@
        debian/dh_doclink -p$(2) $(p_base)
        debian/dh_rmemptydirs -p$(2)
 
-       dh_strip -p$(2)
+       $(cross_strip) $(cross_strip) dh_strip -p$(2)
        dh_compress -p$(2)
        $(cross_shlibdeps) dh_shlibdeps -p$(2)
        $(call cross_mangle_substvars,$(2))
@@ -285,7 +285,7 @@
        debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_base))
        debian/dh_rmemptydirs -p$(p_l)
        debian/dh_rmemptydirs -p$(p_d)
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
 
        # see Debian #533843 for the __aeabi symbol handling; this construct is
        # just to include the symbols for dpkg versions older than 1.15.3 which
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libgomp.mk
@@ -30,7 +30,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libitm.mk
@@ -30,7 +30,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-liblsan.mk
@@ -35,7 +35,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libobjc.mk
@@ -65,7 +65,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l) -Xlibobjc_gc.so
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libquadmath.mk
@@ -30,7 +30,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_doclink -p$(p_d) $(p_base)
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libstdcxx.mk
@@ -200,7 +200,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_rmemptydirs -p$(p_l)
 
-       dh_strip -p$(p_l) 
--dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch)
+       $(cross_strip) dh_strip -p$(p_l) 
--dbg-package=$(1)-$(BASE_VERSION)-dbg$(cross_lib_arch)
        dh_compress -p$(p_l)
        dh_fixperms -p$(p_l)
 
@@ -237,7 +237,7 @@
        $(if $(filter yes,$(with_lib$(2)cxx)),
                cp -a $(d)/$(usr_lib$(2))/libstdc++.so.*[0-9] \
                        $(d_d)/$(usr_lib$(2))/.;
-               dh_strip -p$(p_d) --keep-debug;
+               $(cross_strip) dh_strip -p$(p_d) --keep-debug;
                $(if $(filter yes,$(with_common_libs)),, # if !with_common_libs
                        # remove the debug symbols for libstdc++
                        # built by a newer version of GCC
@@ -291,7 +291,7 @@
        debian/dh_doclink -p$(p_l) $(p_base)
        debian/dh_rmemptydirs -p$(p_l)
 
-       dh_strip -p$(p_l)
+       $(cross_strip) dh_strip -p$(p_l)
        dh_compress -p$(p_l)
        dh_fixperms -p$(p_l)
        dh_shlibdeps -p$(p_l)
@@ -436,7 +436,7 @@
 ifeq ($(with_libcxx),yes)
        cp -a $(d)/$(usr_lib)/libstdc++.so.*[0-9] \
                $(d_dbg)/$(usr_lib)/
-       dh_strip -p$(p_dbg) --keep-debug
+       $(cross_strip) dh_strip -p$(p_dbg) --keep-debug
        rm -f $(d_dbg)/$(usr_lib)/libstdc++.so.*[0-9]
 endif
 
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libtsan.mk
@@ -37,7 +37,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libubsan.mk
@@ -35,7 +35,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk 
gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk
--- gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk
+++ gcc-4.9-4.9.1/debian/rules.d/binary-libvtv.mk
@@ -35,7 +35,7 @@
                cp debian/$(p_l).overrides 
debian/$(p_l)/usr/share/lintian/overrides/$(p_l); \
        fi
 
-       dh_strip -p$(p_l) --dbg-package=$(p_d)
+       $(cross_strip) dh_strip -p$(p_l) --dbg-package=$(p_d)
        dh_compress -p$(p_l) -p$(p_d)
        dh_fixperms -p$(p_l) -p$(p_d)
        $(cross_makeshlibs) dh_makeshlibs -p$(p_l)
diff -u gcc-4.9-4.9.1/debian/rules.defs gcc-4.9-4.9.1/debian/rules.defs
--- gcc-4.9-4.9.1/debian/rules.defs
+++ gcc-4.9-4.9.1/debian/rules.defs
@@ -199,6 +199,7 @@
 
   lib_binaries := indep_binaries
   cross_shlibdeps =  DEB_HOST_ARCH=$(TARGET) ARCH=$(DEB_TARGET_ARCH) 
MAKEFLAGS="CC=something"
+  cross_strip = DEB_HOST_GNU_TYPE=$(DEB_TARGET_GNU_TYPE)
   cross_gencontrol = DEB_HOST_ARCH=$(TARGET)
   cross_makeshlibs = DEB_HOST_ARCH=$(TARGET)
   cross_clean = DEB_HOST_ARCH=$(TARGET)

Reply via email to