[buildd-tools-devel] Bug#865541: Bug#865541: sbuild --apt-distupgrade should not remove build-essential

Johannes Schauer josch at debian.org
Fri Jun 23 10:41:40 UTC 2017


Hi Raphaël,

Quoting Raphaël Hertzog (2017-06-22 16:51:56)
> The default configuration of sbuild includes a run of "apt-get dist-upgrade"
> to upgrade the chroot. Unfortunately that run can break the chroot in some
> cases. This happens from time to time in Kali because we have forked linux
> (which builds linux-libc-dev) but not glibc (which builds libc6-dev).
> libc6-dev embeds a >= dependency on linux-libc-dev on the version on which it
> was built against and is thus non-installable in Kali until we have updated
> the kernel...
> 
> But to update the kernel, we need a working sbuild... and it's no longer
> working because it has done this:
> 
> +------------------------------------------------------------------------------+
> | Update chroot                                                                |
> +------------------------------------------------------------------------------+
> 
> Get:1 http://repo.kali.org/kali kali-dev InRelease [30.4 kB]
> Get:2 http://repo.kali.org/kali kali-dev-only InRelease [23.1 kB]
> Get:3 http://repo.kali.org/kali kali-dev/main Sources [11.4 MB]
> Get:4 http://repo.kali.org/kali kali-dev/main i386 Packages [15.5 MB]
> Get:5 http://repo.kali.org/kali kali-dev-only/main Sources [194 kB]
> Get:6 http://repo.kali.org/kali kali-dev-only/main i386 Packages [212 kB]
> Fetched 27.3 MB in 1s (13.8 MB/s)
> Reading package lists...
> Reading package lists...
> Building dependency tree...
> Reading state information...
> Calculating upgrade...
> The following packages will be REMOVED:
>   build-essential g++ g++-6 libc6-dev libstdc++-6-dev
> The following packages will be upgraded:
>   libc-bin libc-dev-bin libc6 multiarch-support
> 
> [...]
> 
> I'm not sure what the best fix is. I don't know of any way to tell APT
> to not remove build-essential while at the same time allowing to upgrade it.
> 
> Another solution is to run it with "-s" (simulate mode) and only run the
> command if it doesn't remove build-essential.
> 
> Or another solution is possibly to first upgrade build-essential, put it on
> hold and then run dist-upgrade.

either the subject is not well picked or I'm still misunderstanding the issue
here. As I understand it, the problem is not that sbuild removes
build-essential. I understand that what you would like sbuild to be able to do
is to ignore certain dependency relationships between packages. Is my
understanding correct?

In the mean time, why don't you run sbuild without running "apt-get
dist-upgrade"? You can do that by adding --no-apt-distupgrade to your sbuild
invocation or by adding

$apt_distupgrade = 0;

to your ~/.sbuildrc.

Could you expand on your issue so that I can understand what exactly it is that
sbuild is either doing wrong or what you would like sbuild to be able to do?

Thanks!

cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: signature
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20170623/894a3c26/attachment.sig>


More information about the Buildd-tools-devel mailing list