On Wed, 10 Dec 2014 09:54:01 +0100 Matthias Klose <d...@debian.org> wrote: > Control: tags -1 + moreinfo help > > On 12/09/2014 08:46 PM, Helmut Grohne wrote: > > Package: src:gcc-4.9 > > Version: 4.9.2-5 > > User: helm...@debian.org > > Usertags: rebootstrap > > > > When building a cross compiler for mips64el (and possibly other mips > > architectures), some binary packages are broken. > > > > $ dpkg-deb -I ./libn32gcc-4.9-dev-mips64el-cross_4.9.2-5_all.deb > > new debian package, version 2.0. > > size 86302 bytes: control archive=850 bytes. > > 503 bytes, 14 lines control > > 854 bytes, 9 lines md5sums > > Package: libn32gcc-4.9-dev-mips64el-cross > > Source: gcc-4.9 > > Version: 4.9.2-5 > > Architecture: all > > Maintainer: Debian GCC Maintainers <debian-...@lists.debian.org> > > Installed-Size: 2484 > > Depends: gcc-4.9-base (= 4.9.2-5) > > Recommends: > > Section: libdevel > > Priority: optional > > Homepage: http://gcc.gnu.org/ > > Description: GCC support library (n32 development files) > > This package contains the headers and static library files necessary for > > building C programs which use libgcc, libgomp, libquadmath, libssp or > > libitm. > > $ > > > > Please pay attention to the value of Recommends. It is an empty field, > > but the field is still there. This makes e.g. apt-get update choke: > > > > | Reading package lists... > > | E: Problem parsing dependency Recommends > > | E: Error occurred while processing libn32gcc-4.9-dev-mips64el-cross > > (NewVersion2) > > | E: Problem with MergeList /var/lib/apt/lists/... > > | E: The package lists or status file could not be parsed or opened. > > > > One wonders how an empty Recommends field can end up in the control > > file, when dpkg-gencontrol explicitly discards empty fields. In fact, > > the field is not empty after the dpkg-gencontrol invocation. Instead it > > contains: > > > > | Recommends: libc6-dev-mips64el-cross (>= 2.13-5) > > > > A bit later the following command is executed during build: > > > > | sed -i -r '/^(Dep|Rec|Sug)/s/[a-z0-9-]+64[^,]+(, > > *|$)//g;/^(Dep|Rec|Sug)/s/libgcc1-mips64el-cross/libn32gcc1-mips64el-cross/;/^(Dep|Rec|Sug)/s/ > > *, *$//' debian/libn32gcc-4.9-dev-mips64el-cross/DEBIAN/control > > > > The first command in the sed expression discards the libc dependency. > > > > It comes from debian/rules.defs: > > > > | ifneq (,$(filter $(DEB_TARGET_ARCH), mips mipsel mips64 mips64el mipsn32 > > mipsn32el)) > > | define cross_mangle_control > > | $(if $(findstring lib64,$(1)),sed -i -r > > '/^(Dep|Rec|Sug)/s/[a-z0-9-]+32[^$(COMMA)]+($(COMMA) > > *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_l64gcc)/;/^(Dep|Rec|Sug)/s/ > > *$(COMMA) *$$//' debian/$(1)/DEBIAN/control,@:) > > | $(if $(findstring libn32,$(1)),sed -i -r > > '/^(Dep|Rec|Sug)/s/[a-z0-9-]+64[^$(COMMA)]+($(COMMA) > > *|$$)//g;/^(Dep|Rec|Sug)/s/$(p_lgcc)/$(p_ln32gcc)/;/^(Dep|Rec|Sug)/s/ > > *$(COMMA) *$$//' debian/$(1)/DEBIAN/control,@:)
I believe that it should be just a workaround in the dark age that control.m4 cannot process some triarch situation. Now we have control.m4 workable, so I believe that we can remove them. It was used by with_deps_on_target_arch_pkgs only, so it is useless now. You can remove these lines. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org