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

Bug#567182: gcc: Please add libgcc1-udeb for Debian Installer



On Wednesday 27 January 2010, Frans Pop wrote:
> Please consider the attached patch which adds a udeb for libgcc1
> containing only libgcc_s.so.1.

In case we do decide on inclusion in gcc, here is an updated patch for 4.4 
and the additional patch for 4.5.

Changes:
- added libgcc[246] udebs for m68k/hppa
- the udeb should not be cross-built, so I removed the bits in the
  control.m4 file that IIUC are to enable that

I've successfully tested the patches for standard builds:
- gcc-4.4 for amd64 and hppa;
- gcc-4.5 for amd64.

diff -u gcc-4.4-4.4.3/debian/control.m4 gcc-4.4-4.4.3/debian/control.m4
--- gcc-4.4-4.4.3/debian/control.m4
+++ gcc-4.4-4.4.3/debian/control.m4
@@ -188,6 +188,14 @@
  environment.
 ')`'dnl
 
+Package: libgcc1-udeb
+XC-Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc2`'LS
 Architecture: ifdef(`TARGET',`all',`m68k')
 Section: ifdef(`TARGET',`devel',`libs')
@@ -217,6 +225,14 @@
  This package contains files for TARGET architecture, for use in cross-compile
  environment.
 ')`'dnl
+
+Package: libgcc2-udeb
+XC-Package-Type: udeb
+Architecture: m68k
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
 ')`'dnl libgcc
 
 ifenabled(`lib4gcc',`
@@ -247,6 +263,14 @@
  This package contains files for TARGET architecture, for use in cross-compile
  environment.
 ')`'dnl
+
+Package: libgcc4-udeb
+XC-Package-Type: udeb
+Architecture: hppa
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
 ')`'dnl lib4gcc
 
 ifenabled(`lib64gcc',`
diff -u gcc-4.4-4.4.3/debian/control gcc-4.4-4.4.3/debian/control
--- gcc-4.4-4.4.3/debian/control
+++ gcc-4.4-4.4.3/debian/control
@@ -36,6 +36,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc1-udeb
+XC-Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc2
 Architecture: m68k
 Section: libs
@@ -54,6 +62,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc2-udeb
+XC-Package-Type: udeb
+Architecture: m68k
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc4
 Architecture: hppa
 Section: libs
@@ -72,6 +88,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc4-udeb
+XC-Package-Type: udeb
+Architecture: hppa
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: lib64gcc1
 Architecture: i386 powerpc sparc s390 mips mipsel
 Section: libs
diff -u gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk
--- gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk
+++ gcc-4.4-4.4.3/debian/rules.d/binary-libgcc.mk
@@ -14,8 +14,10 @@
 
 p_lgcc		= libgcc$(GCC_SONAME)
 p_lgccdbg	= libgcc$(GCC_SONAME)-dbg
+p_lgccudeb	= libgcc$(GCC_SONAME)-udeb
 d_lgcc		= debian/$(p_lgcc)
 d_lgccdbg	= debian/$(p_lgccdbg)
+d_lgccudeb	= debian/$(p_lgccudeb)
 
 p_l32gcc	= lib32gcc$(GCC_SONAME)
 p_l32gccdbg	= lib32gcc$(GCC_SONAME)-dbg
@@ -42,7 +44,10 @@
 	dh_installdirs -p$(p_lgcc) \
 		$(docdir)/$(p_lgcc) \
 		$(libdir)
-
+	dh_installdirs -p$(p_lgccudeb) \
+		$(libdir)
+ 
+	cp $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgccudeb)/$(libdir)/.
 ifeq ($(with_shared_libgcc),yes)
 	mv $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgcc)/$(libdir)/.
 endif
@@ -57,8 +62,9 @@
 	debian/dh_rmemptydirs -p$(p_lgcc)
 	debian/dh_rmemptydirs -p$(p_lgccdbg)
 	dh_strip -v -p$(p_lgcc) --dbg-package=$(p_lgccdbg)
-	dh_compress -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg)
+	dh_strip -v -p$(p_lgccudeb)
+	dh_compress -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
+	dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
 ifeq ($(with_shared_libgcc),yes)
 	dh_makeshlibs -p$(p_lgcc) -V '$(p_lgcc) (>= $(DEB_LIBGCC_SOVERSION))' \
 		-- -v$(DEB_LIBGCC_VERSION)
@@ -68,17 +74,17 @@
   endif
 	cat debian/$(p_lgcc)/DEBIAN/shlibs >> debian/shlibs.local
 endif
-	dh_shlibdeps -p$(p_lgcc)
-	dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) \
+	dh_shlibdeps -p$(p_lgcc) -p$(p_lgccudeb)
+	dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) \
 		-- -v$(DEB_LIBGCC_VERSION) $(common_substvars)
 
 	mkdir -p $(d_lgcc)/usr/share/lintian/overrides
 	echo '$(p_lgcc): package-name-doesnt-match-sonames' \
 		> $(d_lgcc)/usr/share/lintian/overrides/$(p_lgcc)
 
-	dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_md5sums -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg)
+	dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
+	dh_md5sums -p$(p_lgcc) -p$(p_lgccudeb)
+	dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
 
 	trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 
diff -u gcc-4.5-4.5-20100103/debian/control.m4 gcc-4.5-4.5-20100103/debian/control.m4
--- gcc-4.5-4.5-20100103/debian/control.m4
+++ gcc-4.5-4.5-20100103/debian/control.m4
@@ -186,6 +186,14 @@
  environment.
 ')`'dnl
 
+Package: libgcc1-udeb
+XC-Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc2`'LS
 Architecture: ifdef(`TARGET',`all',`m68k')
 Section: ifdef(`TARGET',`devel',`libs')
@@ -215,6 +223,14 @@
  This package contains files for TARGET architecture, for use in cross-compile
  environment.
 ')`'dnl
+
+Package: libgcc2-udeb
+XC-Package-Type: udeb
+Architecture: m68k
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
 ')`'dnl libgcc
 
 ifenabled(`lib6gcc',`
@@ -245,6 +261,14 @@
  This package contains files for TARGET architecture, for use in cross-compile
  environment.
 ')`'dnl
+
+Package: libgcc6-udeb
+XC-Package-Type: udeb
+Architecture: hppa
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
 ')`'dnl lib6gcc
 
 ifenabled(`lib64gcc',`
diff -u gcc-4.5-4.5-20100103/debian/control gcc-4.5-4.5-20100103/debian/control
--- gcc-4.5-4.5-20100103/debian/control
+++ gcc-4.5-4.5-20100103/debian/control
@@ -43,6 +43,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc1-udeb
+XC-Package-Type: udeb
+Architecture: any
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc2
 Architecture: m68k
 Section: libs
@@ -61,6 +69,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc2-udeb
+XC-Package-Type: udeb
+Architecture: m68k
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: libgcc6
 Architecture: hppa
 Section: libs
@@ -79,6 +95,14 @@
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.
 
+Package: libgcc6-udeb
+XC-Package-Type: udeb
+Architecture: hppa
+Section: debian-installer
+Priority: extra
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: GCC support library
+
 Package: lib64gcc1
 Architecture: i386 powerpc sparc s390 mips mipsel
 Section: libs
diff -u gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk
--- gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk
+++ gcc-4.5-4.5-20100103/debian/rules.d/binary-libgcc.mk
@@ -14,8 +14,10 @@
 
 p_lgcc		= libgcc$(GCC_SONAME)
 p_lgccdbg	= libgcc$(GCC_SONAME)-dbg
+p_lgccudeb	= libgcc$(GCC_SONAME)-udeb
 d_lgcc		= debian/$(p_lgcc)
 d_lgccdbg	= debian/$(p_lgccdbg)
+d_lgccudeb	= debian/$(p_lgccudeb)
 
 p_l32gcc	= lib32gcc$(GCC_SONAME)
 p_l32gccdbg	= lib32gcc$(GCC_SONAME)-dbg
@@ -42,7 +44,10 @@
 	dh_installdirs -p$(p_lgcc) \
 		$(docdir)/$(p_lgcc) \
 		$(libdir)
-
+	dh_installdirs -p$(p_lgccudeb) \
+		$(libdir)
+ 
+	cp $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgccudeb)/$(libdir)/.
 ifeq ($(with_shared_libgcc),yes)
 	mv $(d)/$(PF)/lib/libgcc_s.so.$(GCC_SONAME) $(d_lgcc)/$(libdir)/.
 endif
@@ -57,8 +62,9 @@
 	debian/dh_rmemptydirs -p$(p_lgcc)
 	debian/dh_rmemptydirs -p$(p_lgccdbg)
 	dh_strip -v -p$(p_lgcc) --dbg-package=$(p_lgccdbg)
-	dh_compress -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg)
+	dh_strip -v -p$(p_lgccudeb)
+	dh_compress -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
+	dh_fixperms -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
 ifeq ($(with_shared_libgcc),yes)
 	dh_makeshlibs -p$(p_lgcc) -V '$(p_lgcc) (>= $(DEB_LIBGCC_SOVERSION))' \
 		-- -v$(DEB_LIBGCC_VERSION)
@@ -68,17 +74,17 @@
   endif
 	cat debian/$(p_lgcc)/DEBIAN/shlibs >> debian/shlibs.local
 endif
-	dh_shlibdeps -p$(p_lgcc)
-	dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) \
+	dh_shlibdeps -p$(p_lgcc) -p$(p_lgccudeb)
+	dh_gencontrol -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb) \
 		-- -v$(DEB_LIBGCC_VERSION) $(common_substvars)
 
 	mkdir -p $(d_lgcc)/usr/share/lintian/overrides
 	echo '$(p_lgcc): package-name-doesnt-match-sonames' \
 		> $(d_lgcc)/usr/share/lintian/overrides/$(p_lgcc)
 
-	dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_md5sums -p$(p_lgcc) -p$(p_lgccdbg)
-	dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg)
+	dh_installdeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
+	dh_md5sums -p$(p_lgcc) -p$(p_lgccudeb)
+	dh_builddeb -p$(p_lgcc) -p$(p_lgccdbg) -p$(p_lgccudeb)
 
 	trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 

Reply to: