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.