NewPackageRequirements

Revision 3 as of 2007-03-28 18:58:36

Clear message

Requirements for new Ubuntu packages

When a source package is uploaded to Ubuntu which does not yet exist in the archive, or builds a new binary package, it will be held in the [http://people.ubuntu.com/~ubuntu-archive/queue/feisty/new/ NEW queue] and has to be reviewed by an [https://launchpad.net/~ubuntu-archive Ubuntu archive team] member.

Requirements of new source packages

These points are critical. Packages must not be accepted if any of these points is not fulfilled:

  • The upstream tarball must contain verbatim copies of all licenses that are used by the files in the tarball. References to URLs or paths to system files (such as /usr/share/common-licenses/) are not sufficient. The license(s) must accompany the source code.

  • For all files it must be clear under which license they fall. Source code files should usually have a short comment at the top which points out the license.
  • Files shipped under the GPL must be in the 'preferered form of modification' format. Negative examples are Flash animations (*.swf) or other binary files where no free editor (or even no editor at all) exists.

  • debian/copyright must list all copyright holders and licenses (pointers to /usr/share/common-licenses/ are OK for licenses included there), and declare which licenses apply to which parts of the package.

Packaging

  • The source and binary packages should have a sane name: neither they should clutter the namespace (such as "editor") nor should they have an entirely nonsensical name (such as "new-stuff-manager").
  • debian/control and debian/rules should build packages with the right Architecture:, Build-Depends[-Indep]:, and rules target (binary-arch vs. binary-indep).

  • Maintainer and init scripts should not excessively mess up the system.

Other

The [http://ftp-master.debian.org/REJECT-FAQ.html Debian NEW Reject FAQ] lists some important special cases which mostly apply to Ubuntu as well (except that we consider the GFDL as free enough).

Requirements of new binary packages

To be written