Ceci est une ancienne révision du document !
PLF packaging policy (for Ubuntu)
Introduction
This document explains the rules pertaining to PLF packages. It is an edited version of the Mandriva PLF one, to match the Ubuntu Packaging Policy.
Inclusion
PLF goal is to distribute packages that can't be included in mainstream distributions. Whereas original focus was free software with legal concerns, such as DVD players, it quickly extended to distributable non-free software also, mostly for practical reasons. We do care about software freedom issue, however, so the need for a clear distinction of the two issues, as well as preventing work duplication with upstream distributions.
Applied to PLF package for Ubuntu, this means:
- any software compatible with Ubuntu policy is not suitable for PLF, and must be submitted as a Universe package instead. See the procedure on Ubuntu wiki
- any software uncompatible with Ubuntu policy for legal or explicit content issues is suitable for a PLF package in free section, only if it does not depend on a package in the non-free section.
- any software uncompatible with Ubuntu policy for license or copyright issues is suitable for a PLF package in non-free section.
Any software for which only some options contradict Ubuntu policy must be submitted as a Universe package with those options disabled by default, but conditional build options allowing to maintain a PLF build in parallel. See Ubuntu wiki for more info on the syntax to use. See also the debian/rules file of package like mplayer.
Package in the free section should only depends on the ubuntu main, restricted, universe, multiverse and plf free section. If a package is suitable for free but depend on the non-free section, it should go in non-free. Packages in the non-free section must only depends on ubuntu main, restricted, universe and multiverse repository.
Packaging
All the standard policy from the upstream distribution apply, plus additional points detailed below.
Applied to PLF package for Ubuntu, this means:
- All standard policy described here
- The package description must explains why the package is in PLF
- The maintainer field must be filled with:
Penguin Liberation Front <plf-discuss-ubuntu@zarb.org>
- The package version must be <upstream_version>-<plf_revision>plf<ubuntu_release_version> (for example, 2.5-1plf6.10)
- The distribution tag must correspond to the current development release, and must match with the <ubuntu_release_version>.
- The package description must contains the reason that makes this package go in plf and not ubuntu.
- The package must be compiled on an Ubuntu sane system, using pbuilder. See Ubuntu wiki for more infos on using pbuilder.
- Packages for programs with additional EULA must contain a pre-install dialog (made with debconf), displaying this EULA, and cancel the install if the end-user doesn't agree.
Failing to comply with these points will range from preventing package upload to simple lintian warnings.
PLF support multiple architectures and distributions versions. However, in order to enforce a sane workflow, the same rules as the upstream distribution apply.
Upstream Version Freeze
The point at which we cease accepting new upstream versions of packages.
Exceptions requiring confirmation:
- Minor fixes, if the upstream change is a micro-increment (or equivalent);
- Major fixes, particularly blockers, if the upstream change is a minor-increment (or equivalent);
- Exceptional circumstances.
This UVF happens on the same day as the Ubuntu Release Candidate.