[buildd-tools-devel] Bug#807488: Bug#807488: sbuild-update: please run -d with --no-install-recommends

Adam Borowski kilobyte at angband.pl
Wed Dec 9 15:26:09 UTC 2015


On Wed, Dec 09, 2015 at 04:04:59PM +0100, Johannes Schauer wrote:
> Quoting Adam Borowski (2015-12-09 14:31:10)
> > As per apt's defaults, whenever a package that's a part of the sbuild chroot
> > gains a new Recommends:, that recommendation will be installed.  This
> > default makes sense for regular apt uses outside of sbuild, but in sbuild's
> > context, it goes against the aim of a minimal chroot.  It'll allow missing
> > build-dependencies to sneak through unnoticed, and makes fresh chroots
> > differ from updated ones.
> > 
> > Thus, please make sbuild-update pass --no-install-recommends to apt.
> 
> This is entirely reasonable and should be done that way but can you give me a
> way how to reproduce this problem?
> 
> I never experienced the problem myself and looking at the code in
> ResolverBase.pm it seems that sbuild already calls apt with a custom
> configuration file /var/lib/sbuild/apt.conf which contains
> 
> APT::Install-Recommends false;
> 
> So I don't understand how you got apt as used by sbuild installing Recommends.

There's such a file inside the chroot, yet on a rarely used box of mine I
got (from the scrollback):

[~]# sbuild-update -udcar jessie unstable
<snip jessie>
unstable: Performing update.
Get:1 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable InRelease [263 kB]
Get:2 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main Sources.diff/Index [9095 B]
Get:3 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main armhf Packages.diff/Index [9095 B]
Get:4 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main Translation-en.diff/Index [8385 B]
Get:5 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main Sources [8549 kB]
Get:6 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main armhf Packages [7776 kB]
Get:7 http://apt.angband.pl:3142/ftp.pl.debian.org/debian unstable/main Translation-en [5225 kB]
Fetched 21.8 MB in 9s (2372 kB/s)                                                                       
Reading package lists... Done
unstable: Performing dist-upgrade.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
  manpages
The following packages will be upgraded:
  apt bash binutils bsdmainutils cpp cpp-5 g++ g++-5 gcc gcc-5 gcc-5-base libapt-pkg5.0
  libarchive-zip-perl libasan2 libatomic1 libc-bin libc-dev-bin libc6 libc6-dev libcc1-0
  libdebconfclient0 libgcc-5-dev libgcc1 libgomp1 libreadline6 libstdc++-5-dev libstdc++6 libubsan0
  linux-libc-dev multiarch-support
30 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

I don't do backups for the filesystem with chroots, so I copied over my
jessie chroot over unstable, sed -i s/jessie/unstable/ and did:
[~]# sbuild-update -udcar unstable
<...>
Calculating upgrade... The following package was automatically installed and is no longer required:
  libasprintf0c2
Use 'apt-get autoremove' to remove it.
Done
The following NEW packages will be installed:
  cpp-5 dh-strip-nondeterminism g++-5 gcc-5 gcc-5-base libapt-pkg5.0 libarchive-zip-perl libasan2
  libcc1-0 libfdisk1 libfile-stripnondeterminism-perl libgcc-5-dev libicu55 libisl15 libprocps4
  libstdc++-5-dev manpages
The following packages will be upgraded:
  apt base-files base-passwd bash binutils bsdmainutils bsdutils build-essential bzip2 cpp cpp-4.9
  debconf debconf-i18n debhelper debianutils diffutils dpkg dpkg-dev e2fslibs e2fsprogs eatmydata file
  findutils g++ g++-4.9 gcc gcc-4.8-base gcc-4.9 gcc-4.9-base gettext gettext-base gnupg gpgv grep
  groff-base hostname init initscripts intltool-debian libasan1 libatomic1 libaudit-common libaudit1
  libblkid1 libbz2-1.0 libc-bin libc-dev-bin libc6 libc6-dev libcap2 libcap2-bin libcloog-isl4
  libcomerr2 libcroco3 libdb5.3 libdebconfclient0 libdpkg-perl libeatmydata1 libffi6 libgc1c2
  libgcc-4.9-dev libgcc1 libgcrypt20 libglib2.0-0 libgmp10 libgomp1 libgpg-error0 libkmod2
  liblocale-gettext-perl liblzma5 libmagic1 libmount1 libmpc3 libmpfr4 libncurses5 libncursesw5
  libpcre3 libpipeline1 libreadline6 libselinux1 libsemanage-common libsemanage1 libsepol1 libslang2
  libsmartcols1 libss2 libstdc++-4.9-dev libstdc++6 libsystemd0 libtext-wrapi18n-perl libtinfo5
  libubsan0 libudev1 libusb-0.1-4 libustr-1.0-1 libuuid1 libxml2 linux-libc-dev login lsb-base make
  man-db mount multiarch-support ncurses-base ncurses-bin passwd perl perl-base perl-modules po-debconf
  procps sed sysv-rc sysvinit-core sysvinit-utils tar tzdata udev util-linux xz-utils
121 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.

So it tries to install manpages again.


-- 
A tit a day keeps the vet away.



More information about the Buildd-tools-devel mailing list