wiki:MetapackagePolicy

Version 5 (modified by jdreed, 10 years ago) (diff)

--

DRAFT Policy for Metapackages

Core Metapackages

The core metapackages are:

  • debathena-standard
  • debathena-login
  • debathena-login-graphical
  • debathena-workstation
  • debathena-cluster

debathena-clients

The purpose of this package is to provide command-line client utilities. Minimal configuration for those command-line client utilities should be provided, such that the client would not be useful without that configuration.

debathena-standard

The purpose of this package is to provide a baseline of Athena functionality, suitable for users who prefer not to support logging in with Athena credentials into one's AFS homedir. It should require debathena-clients, AFS, and the ability to run locker software. It should recommend MIT site-specific configuration (such as relaying mail through the MIT outgoing servers).

debathena-login

The purpose of this package is to enable users to log in to tty sessions with their Athena credentials into their AFS home directories create a headless remote-access server. It should require debathena-standard as well as any functionality required to support logging in with Athena credentials into AFS home directories. It should recommend Athena-specific configuration packages for graphical software that the user may run (e.g. a web browser).

debathena-login-graphical

The purpose of this package is to add graphical console login functionality to debathena-login. It should require debathena-login, as well as any software necessary for a local graphical login and any Athena-specific configuration for graphical applications. It should recommend a robust graphical environment from the upstream OS.

debathena-workstation

The purpose of this package is to configure an Athena workstation which requires minimal administration. Automatic updates are provided, and the package should require all Athena software except for the Thirdparty package and any packages related to the cluster environment.

debathena-cluster

The purpose of this package is to configure a workstation for the public IS&T-maintained cluster environment. All Athena software is installed. End users who wish to completely cede all control over their machines may install this package, but are not encouraged to do so for anything other than public/kiosk machines.

Other Metapackages

  • locker: Provides access to Athena locker software--AFS and automounter configuration, locker-related utilities, etc.
  • clients: Provides clients (either locally-written, like athinfo and Discuss, or configurations) for Athena services, as well as Athena-specific utility programs like "jot". Configurations for graphical client software are generally in the workstation package instead, in order to make this package less intrusive.
  • debian-dev: Intended for developers of the system itself; provides a set of Debian packages used by Debathena for development.

Supplemental Packages

Debathena provides two primary metapackages for the purpose of distributing software which complements the core Athena software. These two metapackages are: debathena-extra-software, and debathena-thirdparty. These packages are further divided into smaller metapackages, including debathena-extra-software-nox, which is designed to be suitable for dialup servers, but these smaller metapackages are not normally designed to be installed by the _average_ end user.

debathena-extra-software

The purpose of debathena-extra-software is provide Athena software that was historically "in the release" (i.e. installed locally). Software in this package should include, at a minimum:

  • a word processor/spreadsheet/presentation suite (e.g. OpenOffice?.org)
  • a graphical mail client (e.g., Thunderbird)
  • a GUI multiprotocol chat application (e.g., pidgin)
  • a photo editor
  • Common window managers
  • a postscript viewer (e.g., gv)
  • packages required to build Debathena packages, including a standard OS build and packaging toolchain (build-essential, devscripts, debathena-build-depends)
  • postscript utilities (enscript, psutils)
  • emacs and vi
  • spell checkers
  • a full TeX/LaTeX distribution (e.g., texlive)
  • a text-mode web browser (e.g., links)
  • an NNTP client
  • common VCS clients

Adding software to -extra-software

Since -extra-software is recommended by the installer, we have an obligation to keep it as small and streamlined as possible. As such, there should be a very high barrier to entry for adding new packages.

Any new packages should:

  • be useful to the Athena population as a whole, not just a small subset taking a specific class (e.g. Perl is useful to everyone, drscheme is useful to 6.001/6.034)
  • provide a balance between diversity and disk space/package count (e.g. Having 2 or 3 alternative window managers is helpful, having every single window manager ever is not)
  • not needlessly take sides in religious debates (e.g. if vi is included, emacs should be too)
  • be installable on all supported architectures (currently x86 and amd64) and all supported releases
  • be available in both Debian and Ubuntu without enabling repositories of questionable legality in the US (non-free, multiverse)

debathena-thirdparty

The purpose of debathena-thirdparty is to provide local installations of what is historically referred to as "third party software". Due to technical and licensing limitations, this currently only includes freely distributable software.

thirdparty should have a lower barrier to entry than extra-software. New packages added to -thirdparty needs simply to be useful to a significant subsets of the Athena population (a specific class, for example).

The debathena-thirdparty package needs to be installable on all supported architectures. The use of architecture-specific dependencies is permissible but to be avoided if possible. The package also needs to be installable on the current release in use on the clusters and on the dialups.