Re: 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: