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

Bug#634821: libgcc1: filename change breaks old gcc



Jonathan Nieder wrote:

> 2. Would it make sense to introduce a new package libgcc1-multiarch
>    and make libgcc1 into a compatibility package that ships a symlink
>
> 	/lib/libgcc_s.so.1 -> /lib/$arch/libgcc_s.so.1
>
>    for the sake of smooth partial upgrades?

i.e., something like this?  (Plus the analagous change for libgomp.
Unfortunately building gcc takes a while and this is untested hence
likely to be broken; please treat it as pseudocode.)

 debian/changelog                                   |   14 ++++++
 debian/control                                     |   13 +++++-
 debian/control.m4                                  |   17 ++++++-
 ...mbols.alpha => libgcc1-multiarch.symbols.alpha} |    2 +-
 ...mbols.amd64 => libgcc1-multiarch.symbols.amd64} |    2 +-
 ...mbols.armel => libgcc1-multiarch.symbols.armel} |    2 +-
 ...mbols.armhf => libgcc1-multiarch.symbols.armhf} |    2 +-
 ...rd-i386 => libgcc1-multiarch.symbols.hurd-i386} |    2 +-
 ...freebsd-i386 => libgcc1-multiarch.symbols.i386} |    2 +-
 ...symbols.ia64 => libgcc1-multiarch.symbols.ia64} |    2 +-
 ...64 => libgcc1-multiarch.symbols.kfreebsd-amd64} |    2 +-
 ...386 => libgcc1-multiarch.symbols.kfreebsd-i386} |    2 +-
 ...symbols.lpia => libgcc1-multiarch.symbols.lpia} |    2 +-
 ...symbols.mips => libgcc1-multiarch.symbols.mips} |    2 +-
 ...ols.mipsel => libgcc1-multiarch.symbols.mipsel} |    2 +-
 ...s.powerpc => libgcc1-multiarch.symbols.powerpc} |    2 +-
 ...mbols.ppc64 => libgcc1-multiarch.symbols.ppc64} |    2 +-
 ...symbols.s390 => libgcc1-multiarch.symbols.s390} |    2 +-
 ...1.symbols.sh4 => libgcc1-multiarch.symbols.sh4} |    2 +-
 ...mbols.sparc => libgcc1-multiarch.symbols.sparc} |    2 +-
 ...s.sparc64 => libgcc1-multiarch.symbols.sparc64} |    2 +-
 debian/rules.d/binary-libgcc.mk                    |   46 +++++++++++++++++++-
 22 files changed, 104 insertions(+), 22 deletions(-)
 rename debian/{libgcc1.symbols.alpha => libgcc1-multiarch.symbols.alpha} (98%)
 rename debian/{libgcc1.symbols.amd64 => libgcc1-multiarch.symbols.amd64} (98%)
 rename debian/{libgcc1.symbols.armel => libgcc1-multiarch.symbols.armel} (98%)
 rename debian/{libgcc1.symbols.armhf => libgcc1-multiarch.symbols.armhf} (98%)
 rename debian/{libgcc1.symbols.hurd-i386 => libgcc1-multiarch.symbols.hurd-i386} (98%)
 rename debian/{libgcc1.symbols.kfreebsd-i386 => libgcc1-multiarch.symbols.i386} (98%)
 rename debian/{libgcc1.symbols.ia64 => libgcc1-multiarch.symbols.ia64} (98%)
 rename debian/{libgcc1.symbols.kfreebsd-amd64 => libgcc1-multiarch.symbols.kfreebsd-amd64} (98%)
 rename debian/{libgcc1.symbols.i386 => libgcc1-multiarch.symbols.kfreebsd-i386} (98%)
 rename debian/{libgcc1.symbols.lpia => libgcc1-multiarch.symbols.lpia} (98%)
 rename debian/{libgcc1.symbols.mips => libgcc1-multiarch.symbols.mips} (99%)
 rename debian/{libgcc1.symbols.mipsel => libgcc1-multiarch.symbols.mipsel} (99%)
 rename debian/{libgcc1.symbols.powerpc => libgcc1-multiarch.symbols.powerpc} (98%)
 rename debian/{libgcc1.symbols.ppc64 => libgcc1-multiarch.symbols.ppc64} (98%)
 rename debian/{libgcc1.symbols.s390 => libgcc1-multiarch.symbols.s390} (98%)
 rename debian/{libgcc1.symbols.sh4 => libgcc1-multiarch.symbols.sh4} (98%)
 rename debian/{libgcc1.symbols.sparc => libgcc1-multiarch.symbols.sparc} (98%)
 rename debian/{libgcc1.symbols.sparc64 => libgcc1-multiarch.symbols.sparc64} (98%)

diff --git a/debian/changelog b/debian/changelog
index 384210df..8fd5c0d2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,17 @@
+gcc-4.6 (4.6.1-4.1) local; urgency=low
+
+  * Make libgcc1 package provide /lib/libgcc_s.so.1 to simplify
+    upgrades, since the gcc packages in squeeze use the latter as
+    the target of a symlink.
+    - Rename current libgcc1 package to libgcc1-multiarch.
+    - Introduce libgcc1 compatibility package, which depends on
+      libgcc1-multiarch and provides /lib/libgcc_s.so.1 as a symlink
+      pointing to the new path.
+    - Update libgcc1 symbols file to allow libgcc1-multiarch as an
+      alternate dependency.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 20 Jul 2011 02:29:18 -0500
+
 gcc-4.6 (4.6.1-4) unstable; urgency=low
 
   * Update to SVN 20110714 (r176280) from the gcc-4_6-branch.
diff --git a/debian/control b/debian/control
index 7447ffcd..7b7b0926 100644
--- a/debian/control
+++ b/debian/control
@@ -25,6 +25,17 @@ Description: GCC, the GNU Compiler Collection (base package)
 Package: libgcc1
 Architecture: any
 Section: libs
+Priority: optional
+Depends: gcc-4.6-base (= ${gcc:Version}), libgcc1-multiarch (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (compatibility symlink)
+ This package exists to ensure a smooth upgrade by providing a symlink
+ so GCC’s support library is available from /lib/libgcc_s.so.1 where
+ old versions of GCC expect to find it. It may be safely removed if
+ no other package depends on it.
+
+Package: libgcc1-multiarch
+Architecture: any
+Section: libs
 Priority: required
 Depends: gcc-4.6-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
 Multi-Arch: same
@@ -39,7 +50,7 @@ Package: libgcc1-dbg
 Architecture: any
 Section: debug
 Priority: extra
-Depends: gcc-4.6-base (= ${gcc:Version}), libgcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
+Depends: gcc-4.6-base (= ${gcc:Version}), libgcc1-multiarch (= ${gcc:EpochVersion}), ${misc:Depends}
 Multi-Arch: same
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
diff --git a/debian/control.m4 b/debian/control.m4
index d084a6df..8c2ad326 100644
--- a/debian/control.m4
+++ b/debian/control.m4
@@ -158,7 +158,20 @@ Description: GCC, the GNU Compiler Collection (gnat base package)
 ')`'dnl ada
 
 ifenabled(`libgcc',`
-Package: libgcc1`'LS
+ifdef(`TARGET', `', `
+Package: libgcc1
+Architecture: any
+Section: libs
+Priority: optional
+Depends: BASEDEP, libgcc1-multiarch (= ${gcc:EpochVersion}), ${misc:Depends}
+Description: GCC support library (compatibility symlink)
+ This package exists to ensure a smooth upgrade by providing a symlink
+ so GCC’s support library is available from /lib/libgcc_s.so.1 where
+ old versions of GCC expect to find it. It may be safely removed if
+ no other package depends on it.
+')
+
+Package: libgcc1`'ifdef(`TARGET',LS,`-multiarch')
 Architecture: ifdef(`TARGET',`all',`any')
 Section: ifdef(`TARGET',`devel',`libs')
 Priority: ifdef(`TARGET',`extra',required)
@@ -182,7 +195,7 @@ Package: libgcc1-dbg`'LS
 Architecture: ifdef(`TARGET',`all',`any')
 Section: debug
 Priority: extra
-Depends: BASEDEP, libgcc1`'LS (= ${gcc:EpochVersion}), ${misc:Depends}
+Depends: BASEDEP, libgcc1`'ifdef(`TARGET',LS,`-multiarch') (= ${gcc:EpochVersion}), ${misc:Depends}
 ifdef(`TARGET',`',ifdef(`MULTIARCH', `Multi-Arch: same
 '))`'dnl
 Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
diff --git a/debian/libgcc1.symbols.alpha b/debian/libgcc1-multiarch.symbols.alpha
similarity index 98%
rename from debian/libgcc1.symbols.alpha
rename to debian/libgcc1-multiarch.symbols.alpha
index 27975551..03ba0cbf 100644
--- a/debian/libgcc1.symbols.alpha
+++ b/debian/libgcc1-multiarch.symbols.alpha
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.amd64 b/debian/libgcc1-multiarch.symbols.amd64
similarity index 98%
rename from debian/libgcc1.symbols.amd64
rename to debian/libgcc1-multiarch.symbols.amd64
index 28926d14..766521f8 100644
--- a/debian/libgcc1.symbols.amd64
+++ b/debian/libgcc1-multiarch.symbols.amd64
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.armel b/debian/libgcc1-multiarch.symbols.armel
similarity index 98%
rename from debian/libgcc1.symbols.armel
rename to debian/libgcc1-multiarch.symbols.armel
index 886604f3..a94b5322 100644
--- a/debian/libgcc1.symbols.armel
+++ b/debian/libgcc1-multiarch.symbols.armel
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
 (ignore-blacklist)#include "libgcc1.symbols.aeabi"
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
diff --git a/debian/libgcc1.symbols.armhf b/debian/libgcc1-multiarch.symbols.armhf
similarity index 98%
rename from debian/libgcc1.symbols.armhf
rename to debian/libgcc1-multiarch.symbols.armhf
index 886604f3..a94b5322 100644
--- a/debian/libgcc1.symbols.armhf
+++ b/debian/libgcc1-multiarch.symbols.armhf
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
 (ignore-blacklist)#include "libgcc1.symbols.aeabi"
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
diff --git a/debian/libgcc1.symbols.hurd-i386 b/debian/libgcc1-multiarch.symbols.hurd-i386
similarity index 98%
rename from debian/libgcc1.symbols.hurd-i386
rename to debian/libgcc1-multiarch.symbols.hurd-i386
index 049adbe6..fbf53c17 100644
--- a/debian/libgcc1.symbols.hurd-i386
+++ b/debian/libgcc1-multiarch.symbols.hurd-i386
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 4.2.1
  GCC_3.3.1@GCC_3.3.1 4.2.1
  GCC_3.3@GCC_3.3 4.2.1
diff --git a/debian/libgcc1.symbols.kfreebsd-i386 b/debian/libgcc1-multiarch.symbols.i386
similarity index 98%
rename from debian/libgcc1.symbols.kfreebsd-i386
rename to debian/libgcc1-multiarch.symbols.i386
index fd9b1aa8..e210a451 100644
--- a/debian/libgcc1.symbols.kfreebsd-i386
+++ b/debian/libgcc1-multiarch.symbols.i386
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.ia64 b/debian/libgcc1-multiarch.symbols.ia64
similarity index 98%
rename from debian/libgcc1.symbols.ia64
rename to debian/libgcc1-multiarch.symbols.ia64
index 3212dd87..00c6c072 100644
--- a/debian/libgcc1.symbols.ia64
+++ b/debian/libgcc1-multiarch.symbols.ia64
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3.2@GCC_3.3.2 1:4.1.1
diff --git a/debian/libgcc1.symbols.kfreebsd-amd64 b/debian/libgcc1-multiarch.symbols.kfreebsd-amd64
similarity index 98%
rename from debian/libgcc1.symbols.kfreebsd-amd64
rename to debian/libgcc1-multiarch.symbols.kfreebsd-amd64
index a3c0435a..3281cb87 100644
--- a/debian/libgcc1.symbols.kfreebsd-amd64
+++ b/debian/libgcc1-multiarch.symbols.kfreebsd-amd64
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.i386 b/debian/libgcc1-multiarch.symbols.kfreebsd-i386
similarity index 98%
rename from debian/libgcc1.symbols.i386
rename to debian/libgcc1-multiarch.symbols.kfreebsd-i386
index fd9b1aa8..e210a451 100644
--- a/debian/libgcc1.symbols.i386
+++ b/debian/libgcc1-multiarch.symbols.kfreebsd-i386
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.lpia b/debian/libgcc1-multiarch.symbols.lpia
similarity index 98%
rename from debian/libgcc1.symbols.lpia
rename to debian/libgcc1-multiarch.symbols.lpia
index 2a71fc94..fcf5c38c 100644
--- a/debian/libgcc1.symbols.lpia
+++ b/debian/libgcc1-multiarch.symbols.lpia
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.mips b/debian/libgcc1-multiarch.symbols.mips
similarity index 99%
rename from debian/libgcc1.symbols.mips
rename to debian/libgcc1-multiarch.symbols.mips
index ca9f1df5..6e8531fc 100644
--- a/debian/libgcc1.symbols.mips
+++ b/debian/libgcc1-multiarch.symbols.mips
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3.4@GCC_3.3.4 1:4.1.1
diff --git a/debian/libgcc1.symbols.mipsel b/debian/libgcc1-multiarch.symbols.mipsel
similarity index 99%
rename from debian/libgcc1.symbols.mipsel
rename to debian/libgcc1-multiarch.symbols.mipsel
index ca9f1df5..6e8531fc 100644
--- a/debian/libgcc1.symbols.mipsel
+++ b/debian/libgcc1-multiarch.symbols.mipsel
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3.4@GCC_3.3.4 1:4.1.1
diff --git a/debian/libgcc1.symbols.powerpc b/debian/libgcc1-multiarch.symbols.powerpc
similarity index 98%
rename from debian/libgcc1.symbols.powerpc
rename to debian/libgcc1-multiarch.symbols.powerpc
index fd513616..8bdc3b17 100644
--- a/debian/libgcc1.symbols.powerpc
+++ b/debian/libgcc1-multiarch.symbols.powerpc
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3.4@GCC_3.3.4 1:4.1.1
diff --git a/debian/libgcc1.symbols.ppc64 b/debian/libgcc1-multiarch.symbols.ppc64
similarity index 98%
rename from debian/libgcc1.symbols.ppc64
rename to debian/libgcc1-multiarch.symbols.ppc64
index 545b2231..440c04b9 100644
--- a/debian/libgcc1.symbols.ppc64
+++ b/debian/libgcc1-multiarch.symbols.ppc64
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.s390 b/debian/libgcc1-multiarch.symbols.s390
similarity index 98%
rename from debian/libgcc1.symbols.s390
rename to debian/libgcc1-multiarch.symbols.s390
index eafd72b2..7b4a2798 100644
--- a/debian/libgcc1.symbols.s390
+++ b/debian/libgcc1-multiarch.symbols.s390
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.sh4 b/debian/libgcc1-multiarch.symbols.sh4
similarity index 98%
rename from debian/libgcc1.symbols.sh4
rename to debian/libgcc1-multiarch.symbols.sh4
index c60cb8f7..69566399 100644
--- a/debian/libgcc1.symbols.sh4
+++ b/debian/libgcc1-multiarch.symbols.sh4
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3.4@GCC_3.3.4 1:4.1.1
diff --git a/debian/libgcc1.symbols.sparc b/debian/libgcc1-multiarch.symbols.sparc
similarity index 98%
rename from debian/libgcc1.symbols.sparc
rename to debian/libgcc1-multiarch.symbols.sparc
index b53759a2..e7bc3b6f 100644
--- a/debian/libgcc1.symbols.sparc
+++ b/debian/libgcc1-multiarch.symbols.sparc
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/libgcc1.symbols.sparc64 b/debian/libgcc1-multiarch.symbols.sparc64
similarity index 98%
rename from debian/libgcc1.symbols.sparc64
rename to debian/libgcc1-multiarch.symbols.sparc64
index e8c86bea..7f427c89 100644
--- a/debian/libgcc1.symbols.sparc64
+++ b/debian/libgcc1-multiarch.symbols.sparc64
@@ -1,4 +1,4 @@
-libgcc_s.so.1 libgcc1 #MINVER#
+libgcc_s.so.1 libgcc1-multiarch | libgcc1 #MINVER#
  GCC_3.0@GCC_3.0 1:4.1.1
  GCC_3.3.1@GCC_3.3.1 1:4.1.1
  GCC_3.3@GCC_3.3 1:4.1.1
diff --git a/debian/rules.d/binary-libgcc.mk b/debian/rules.d/binary-libgcc.mk
index 9e13dc98..6564381f 100644
--- a/debian/rules.d/binary-libgcc.mk
+++ b/debian/rules.d/binary-libgcc.mk
@@ -12,8 +12,16 @@ ifeq ($(with_libgcc),yes)
   endif
 endif
 
-p_lgcc		= libgcc$(GCC_SONAME)$(cross_lib_arch)
+ifeq ($(DEB_CROSS),yes)
+  libgcc_suffix = $(cross_lib_arch)
+else
+  libgcc_suffix = -multiarch
+endif
+
+p_lgcccompat	= libgcc$(GCC_SONAME)
+p_lgcc		= libgcc$(GCC_SONAME)$(libgcc_suffix)
 p_lgccdbg	= libgcc$(GCC_SONAME)-dbg$(cross_lib_arch)
+d_lgcccompat	= debian/$(p_lgcccompat)
 d_lgcc		= debian/$(p_lgcc)
 d_lgccdbg	= debian/$(p_lgccdbg)
 
@@ -90,6 +98,39 @@ define __do_libgcc
 endef
 
 do_libgcc = $(call __do_libgcc,lib$(1)gcc$(GCC_SONAME),$(1),$(2))
+
+define do_libgcccompat
+	dh_testdir
+	dh_testroot
+	mv $(install_stamp) $(install_stamp)-tmp
+
+	rm -rf $(d_l)
+	dh_installdirs -p$(p_l) \
+		$(docdir)/$(p_l) \
+		lib
+	dh_link -p$(p_l) \
+		$(libgcc_dir)/libgcc_s.so.$(GCC_SONAME) \
+		lib/libgcc_s.so.$(GCC_SONAME)
+
+	debian/dh_doclink -p$(p_l) $(p_base)
+	debian/dh_rmemptydirs -p$(p_l)
+
+	dh_compress -p$(p_l)
+	dh_fixperms -p$(p_l)
+	dh_gencontrol -p$(p_l) \
+		-- -v$(DEB_LIBGCC_VERSION) $(common_substvars)
+
+	# only for native
+	mkdir -p $(d_l)/usr/share/lintian/overrides
+	echo '$(p_l): package-name-doesnt-match-sonames' \
+		> $(d_l)/usr/share/lintian/overrides/$(p_l)
+
+	dh_installdeb -p$(p_l) -p$(p_d)
+	dh_md5sums -p$(p_l) -p$(p_d)
+	dh_builddeb -p$(p_l) -p$(p_d)
+
+	trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
+endef
 # ----------------------------------------------------------------------
 
 $(binary_stamp)-libgcc: $(install_dependencies)
@@ -98,6 +139,9 @@ ifeq ($(with_standalone_gcj),yes)
 else
 	$(call do_libgcc,,)
 endif
+ifneq ($(DEB_CROSS),yes)
+	$(do_libgcccompat)
+endif
 
 $(binary_stamp)-lib64gcc: $(install_dependencies)
 	$(call do_libgcc,64,)
-- 
1.7.6




Reply to: