gcc-defaults: some dissonance
Source: gcc-defaults
Version: 1.106
Three things I noticed in 1.105 which were not yet fixed
in 1.106 – the second one must be addressed in another
upload before I can build this on m68k; the third one is
an FTBFS fix I could work around (but since we require
an upload due to the second issue anyway, it can be fixed
correctly); the first one is cleanup.
1) There is a directory gcc-defaults-1.106/debian/gcj
with junk content from before the gcj subpackage
removal in the source package.
2) [important] The with_multiarch_lib flag is not set
on Debian sid, which leads to the following:
ln -s libgcj.so.$(LIBGCJ_SONAME) \
debian/libgcj-bc/usr/lib/libgcj_bc.so.1
However, libgcj.so.$(LIBGCJ_SONAME) is already in
the multiarch directories:
root@ara5:/var/cache/apt/archives # ar p libgcj10_4.4.6-6_m68k.deb ./data.tar.gz | tar tzvf - | fgrep libgcj.so.
-rw-r--r-- root/root 38346776 2011-06-27 15:57 ./usr/lib/m68k-linux-gnu/libgcj.so.10.0.0
This makes gcj unusable (e.g. src:libidn FTBFS). I’ve
fixed it by editing debian/rules and removing “sid”
from line 240 (236 in 1.105), but that may have impli‐
cations for with_multilib=yes targets (multilib_archs),
so I don’t know whether this was the correct fix.
3) The package currently doesn’t build on m68k because
of its broken build-depends; it shouldn’t assume
gcc-4.6/gcj-4.6 exist on !gcc46_archs / !gcj46_archs
My fix was to use alternate build dependencies and
spell out what to use where:
Build-Depends: m4, debhelper (>= 5), dpkg-dev (>= 1.16.0~ubuntu4)
, gcj-4.6-base (>= 4.6.0~) [amd64 armel armhf hppa i386 ia64 lpia mips mipsel powerpc ppc64 s390 sh4 sparc sparc64 kfreebsd-amd64 kfreebsd-i386 hurd-i386]
| gcj-4.4-base (>= 4.4.5~) [!arm !amd64 !armel !armhf !hppa !i386 !ia64 !lpia !mips !mipsel !powerpc !ppc64 !s390 !sh4 !sparc !sparc64 !kfreebsd-amd64 !kfreebsd-i386 !hurd-i386]
, gcc-4.6-base (>= 4.6.0~) [amd64 armel armhf hppa i386 ia64 lpia mips mipsel powerpc ppc64 s390 sh4 sparc sparc64 kfreebsd-amd64 kfreebsd-i386 hurd-i386]
| gcc-4.4-base (>= 4.4.5~) [!amd64 !armel !armhf !hppa !i386 !ia64 !lpia !mips !mipsel !powerpc !ppc64 !s390 !sh4 !sparc !sparc64 !kfreebsd-amd64 !kfreebsd-i386 !hurd-i386]
, lsb-release
Algorithmically:
- gcc-4.6-base becomes:
gcc-4.6-base [gcc46_archs] | gcc-4.4-base [!gcc46_archs]
- gcj-4.6-base [!arm] becomes:
gcj-4.6-base [gcj46_archs] | gcj-4.4-base [!arm !gcj46_archs]
I could probably just have used the ‘-d’ option to ignore missing
build dependencies, but I use cowbuilder, and felt that fixing
the Build-Depends was the correct way to go, hence this submission.
bye,
//mirabilos
--
[00:02] <Vutral> gecko: benutzt du emacs ?
[00:03] <gecko> nö [00:03] <gecko> nur n normalen mac
[00:04] <Vutral> argl [00:04] <Vutral> ne den editor
-- Vutral und gecko2 in #deutsch (NB: Editor? Betriebssystem.)
Reply to: