PackageSelection

Revision 13 as of 2005-04-28 03:34:18

Clear message

PackageSelection

Status

Introduction

Improve package selection mechanisms in Ubuntu to improve flexibility and maintainability.

This is NOT about choosing which packages to install, ship or support, but about the technical mechanisms used to implement these choices.

Rationale

Scope and Use Cases

  • Avoid hardcoding so many dependencies in debootstrap
  • Consider alternatives and improvements to the existing metapackage mechanism
    • Make it trivial to track additions and removals of packages from the standard package sets
    • Ensure smooth upgrades of systems based on the standard package sets
    • Allow users to express preferences about tracking changes

Implementation Plan

We should split the current "base" seed into "base" and "standard" seeds. The following packages should move from "base" to "standard":

  • lvm2
  • evms
  • evms-ncurses
  • mdadm
  • parted
  • dmsetup
  • at
  • cpio
  • cron
  • ed
  • fdutils
  • file
  • hdparm
  • info
  • logrotate
  • man-db
  • manpages
  • mime-support
  • nano
  • psmisc
  • time
  • bind9-host
  • dnsutils
  • ftp
  • iptables
  • mutt
  • telnet
  • ppp
  • pppconfig
  • pppoeconf
  • ntp
  • openssh-client
  • rsync
  • w3m
  • wget
  • dmidecode
  • lshw
  • lsof
  • ltrace
  • iputils-arping
  • iputils-tracepath
  • mtr-tiny
  • tcpdump
  • reportbug
  • popularity-contest

The following packages are being considered for a move from base to standard, but are less clear:

  • aptitude # used by the installer to install the second stage
  • sudo # used by the installer for /etc/sudoers
  • sysklogd # not ideal for embedders, but we want this running at first reboot?
  • locales # big, but important for l10n
  • vim # dependency on libgpmg1 could be removed
  • strace # terribly useful
  • ethtool
  • mii-diag

The following packages should be removed by base entirely, because they will be pulled in by dependencies as appropriate:

  • debconf
  • gettext-base
  • initrd-tools
  • makedev

The following packages should be moved from base to supported:

Data Preservation and Migration

Packages Affected

User Interface Requirements

Outstanding Issues

UDU BOF Agenda

  • Simplifying debootstrap maintenance
    • Install a minimal base system, install Ubuntu's "base" on top of it?
    • Resolve dependencies in debootstrap? (cdebootstrap?) Debian #225947 will probaly help us here.
  • Tracking package selections
    • Review issues with the current metapackage approach
    • Consider solutions
      • Recommends
      • Tasks
      • Other alternatives
  • Is there a demand for "expansion packs" similar to Debian tasks?
    • Generic server
    • Development - what does it mean?
      • gcc, g++, libc-dev, make, dpkg-dev (build-essential)
      • Be able to build any source package included in the base system (build-essential + build-deps of base)
      • An approximate greatest common factor for building software from source tarballs (build-essential + some subset of -dev packages + autotools)
      • Be able to build any source package included in the selected install (build-essential + build-deps of base/desktop/server/etc.)
      • Some combination of the above
    • Web server
      • Apache
      • PHP
      • Selection of modules for each (db, auth, mod_{perl,python} ?)

UDU Pre-Work