[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: