Package: src:glibc Version: 2.19-7 Severity: wishlist Tags: patch User: helm...@debian.org Usertags: rebootstrap
Even if one manages to build glibc with profiles stage1 or stage2, the results are not installable due to unmet dependencies. The following issues occur: * stage1 libc6-dev Depends on libc6 which is not built in stage1 * stage2 libc6 Depends on libgcc1 which is not built by gcc stage2 This bug shall only cover the second (easier) part and I shall report a different bug for the first issue at a later time. When we briefly discussed this issue, there was consensus that substvars would be the tool to address it. So the attached patch turns those libgcc dependencies into ${libgcc:Depends} and suppresses them for stage2. It's a bit unfortunate that dependency information keeps scattering over control and rules.d/debhelper.mk, but I didn't find a better way. Helmut
diff -Nru glibc-2.19/debian/changelog glibc-2.19/debian/changelog --- glibc-2.19/debian/changelog 2014-07-13 01:31:22.000000000 +0200 +++ glibc-2.19/debian/changelog 2014-07-20 22:07:19.000000000 +0200 @@ -1,3 +1,10 @@ +glibc (2.19-7.1) UNRELEASED; urgency=low + + * Non-maintainer upload. + * Don't emit dependencies on libgcc when building stage2. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 20 Jul 2014 22:06:57 +0200 + glibc (2.19-7) unstable; urgency=high * debian/patches/localedata/unsubmitted-tst-setlocale3-ENV.diff: Apply diff -Nru glibc-2.19/debian/control.in/libc glibc-2.19/debian/control.in/libc --- glibc-2.19/debian/control.in/libc 2014-06-27 04:28:51.000000000 +0200 +++ glibc-2.19/debian/control.in/libc 2014-07-20 22:09:20.000000000 +0200 @@ -3,7 +3,7 @@ Section: libs Priority: required Multi-Arch: same -Depends: ${shlibs:Depends}, libgcc1 [!hppa !m68k], libgcc2 [m68k], libgcc4 [hppa] +Depends: ${shlibs:Depends}, ${libgcc:Depends} Recommends: libc6-i686 [i386], libc0.1-i686 [kfreebsd-i386], libc0.3-i686 [hurd-i386] Suggests: glibc-doc, debconf | debconf-2.0, locales [!hurd-i386] Provides: ${locale-compat:Depends}, libc6-sparcv9b [sparc sparc64] diff -Nru glibc-2.19/debian/rules.d/debhelper.mk glibc-2.19/debian/rules.d/debhelper.mk --- glibc-2.19/debian/rules.d/debhelper.mk 2014-07-10 21:49:24.000000000 +0200 +++ glibc-2.19/debian/rules.d/debhelper.mk 2014-07-20 22:08:45.000000000 +0200 @@ -180,6 +180,9 @@ # Generate common substvars files. echo "locale:Depends=$(shell perl debian/debver2localesdep.pl $(LOCALES_DEP_VER))" > tmp.substvars echo "locale-compat:Depends=$(shell perl debian/debver2localesdep.pl $(LOCALES_COMPAT_VER))" >> tmp.substvars +ifeq ($(filter stage2,$(DEB_BUILD_PROFILES)),) + echo 'libgcc:Depends=libgcc1 [!hppa !m68k], libgcc2 [m68k], libgcc4 [hppa]' >> tmp.substvars +endif for pkg in $(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES) $(DEB_UDEB_PACKAGES); do \ cp tmp.substvars debian/$$pkg.substvars; \