Packaging Conventions

Names

Scibian specific native packages must be prefixed with scibian-. This rule applies to both source and binary packages.

This rule does not apply to software temporarily released as native package in Scibian only (for the sake of quick delivering in this distribution) if they can be usefull outside the scope of the distribution (ex: unclebench). In the long term, the goal must be to package this software as an upstream code.

Versions

The Scibian version numbering policy is a direct extension of Debian policy: https://www.debian.org/doc/debian-policy/#version. This document notably explains what are the following version components:

  • epoch
  • upstream_version
  • debian_revision

This sections explains all the extensions to this policy with examples for most cases. Scibian introduces the following version components:

  • scibian_version: the version number of the Scibian major release, it must match \d{1,2} (ex: 9).
  • scibian_revision: the release number for the package in the Scibian release, it must match \d+ (ex: 12).

Scibian specific native package

[epoch:]<upstream_version>

Examples:

  • 10
  • 1.2.3

Debian native packages modified in Scibian

[epoch:]<upstream_version>sci<scibian_version>u<scibian_revision>

Examples:

  • 1.2.3 released in Debian → 1.2.3sci9u1 for the 1st release in Scibian 9
  • 1.2.3 released in Debian → 1.2.3sci8u3 for the 3rd release in Scibian 8
  • 1.2.3~bpo8+1 released in Debian → 1.2.3~bpo8+1sci8u3 for the 3rd release in Scibian 8

Quilt packages

[epoch:]<upstream_version>-<debian_revision>sci<scibian_version>u<scibian_revision>

!!! note The debian_revision must be set to 0 if the package is not imported from Debian but created from scratch for Scibian.

Examples:

  • 1.2.3 released upstream and not released in Debian → 1.2.3-0sci9u1 for the 1st release in Scibian 9
  • 1.2.3-1 released in Debian → 1.2.3-1sci9u1 for the 1st release in Scibian 9
  • 1.2.3-1~bpo9+1 released in Debian → 1.2.3-1~bpo9+1sci9u1 for the 1st release in Scibian 9

Changelogs

When an issue reported in a bug tracker is fixed, a changelog entry must mention this closed issue.

For example: Added patch X (closes: GH-Y).

Where Y is the number of the issue in GitHub.

Sections

The section of Scibian specific native packages must be scibian.

Maintainers

The maintainers in debian/control file of all Scibian packages must be set to: Scibian Project <packaging@scibian.org>

VCS URL

The Vcs-Browser and Vcs-Git metadata must be set with an URL to a Git repository in the GitHub Scibian organization.

Copyrights

In the source code files headers of Scibian specific native packages and in debian/copyright file of the Scibian specific source packages, the copyright must be given to: Scibian Project <legal@scibian.org>

This rule does not apply to source code files headers of software temporarily released as native package in Scibian only if they can be usefull outside the scope of the distribution (ex: unclebench). For this software, the real upstream developer or team must be used for copyrights.

Tools identity

Maintainance tools which requires an identity (for automatic commits or changelog updates) must use: Scibian Project <packaging@scibian.org>

Licensing

All code produced in Scibian project must be licensed under the terms of GPLv3 free software license. Exceptions to this rule must be wise.

Internationalization

All technical texts not aimed to end users (code comments, commit messages, changelogs, and so on) must be written in english.

The Scibian specific software command-line interfaces (CLI) must be in english. They do not have to provide internationalization.

The Scibian specific software graphical user interface (GUI) must provide internationalization (based on gettext system) with english as default language and at least french as an additional language.