Bug#758218: live-build: Packages helper includes packages excluded by tasksel
Package: live-build
Version: 4.0~alpha39-1
Severity: important
The helper /usr/share/live/build/bin/Packages uses dctrl-tools to
achieve what d-i does with tasksel to select 'standard' (or other)
priority packages. Unfortunately, this breaks current builds against
jessie, and has been breaking them for months[0] because it fails to
exclude certain packages that tasksel excludes (those that are
either in a 'lib' section or non-main section).
I have attached a patch to fix this issue.
For reference, please see /usr/bin/tasksel, special-cased here for the
'standard' task:
elsif ($task->{packages} eq 'standard') {
while (my ($package, $info) = each(info_avail())) {
my ($priority, $section) = ($info->{priority}, $info->{section});
if (($priority eq 'required' ||
$priority eq 'important' ||
$priority eq 'standard') &&
# Exclude packages in non-main and library sections
$section !~ /^lib|\// &&
# Exclude already installed packages
!package_installed($package)) {
$list{$package} = 1;
}
}
}
Arguably, the helper should not apply the exceptions unconditionally, as
it potentially breaks other use cases. On the other hand, I didn't like
the idea of adding 'magic' when _FIELD is 'Priority' and _VALUE is
'standard' buried down here either, nor the idea of complicating the API
to allow this exception to be passed in from the caller. Ideas?
Ben
[0] See https://lists.debian.org/debian-live/2014/05/msg00033.html
-- Package-specific info:
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.14-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_CA.utf8, LC_CTYPE=en_CA.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages live-build depends on:
ii cdebootstrap 0.6.3
ii debootstrap 1.0.60
ii python3 3.4.1-1
Versions of packages live-build recommends:
ii cpio 2.11+dfsg-2
ii live-boot-doc 4.0~alpha21-1
ii live-config-doc 4.0~alpha33-1
ii live-manual 1:4.0~alpha12-1
ii live-manual-epub [live-manual] 1:4.0~alpha12-1
ii live-manual-html [live-manual] 1:4.0~alpha12-1
ii live-manual-odf [live-manual] 1:4.0~alpha12-1
ii live-manual-pdf [live-manual] 1:4.0~alpha12-1
ii live-manual-txt [live-manual] 1:4.0~alpha12-1
live-build suggests no packages.
-- no debconf information
Reply to: