Dev/Versioning Format Conventions

From Whonix

< Dev

Versioning Format Conventions[edit]

Package Version Numbers[edit]

For individual packages (list [archive]) developed under the Whonix ™ umbrella, currently happens as follows. More or less as a custom, as a convention. Not by a finalized master plan.

1) Git commits to specific packages are being made.
2) Eventually, more git commit to specific packages are being made.
3) When the maintainer of the package feels, that substantial changes have been made, the debian/changelog version will be bumped. This is done using make deb-uachl-bumpup, which updates changelog.upstream and bumps debian/changelog version. The commit message mostly is "bumped changelog version". Let's call this state by convention the finalized version commit to ease discussing this.
4) Eventually, if someone requested it or if that version is supposed to become a Whonix ™ (developers-only, testers-only or stable) release, git tags will be signed. [1]
5) Development continues. More git commits are being made. At this point, what debian/changelog version says will be false, outdated. This is non-ideal, but no one suggested how it could be done any better.
6) Back to 1).

If other substantial changes happen, such as if the generic makefile is being updated, this also deserved bumping the version number.

The format is: [epoch:]upstream_version[-debian_revision] as defined per Debian Policy, Version [archive].

Epoch is currently set to 3 for historic reasons.

The very first upstream version is usually 0.1. Usually incremented by 0.1 (i.e. for example from 1.9 to 2.0 and so forth). Usually means, at the discretion of the package maintainer different upstream versions can be used.

Debian revision is currently always set to 1 and not in use because most changes are not packaging changes, but upstream package changes and because upstream author currently equals packager and because packages are not uploaded to Debian yet where one would just fix the packaging but leave the upstream version as is.

Whonix ™ Version Numbers[edit]

The Whonix ™ main source code / build script [archive] references all the individual packages using git submodules. It points to specific git commits of the individual packages.

For (testers-only and stable) releases, by convention, all packages must point to finalized version commits. [2] This is useful so users can refer to package versions as dpkg reports them. (Example: dpkg -l .) Otherwise it would be version 3:0.8-1 + git~5 or something like that, which would be very unusable. This does not does not apply for developers-only releases, because those are sometimes only used for quick tests to see if the build script still runs through without any issues.


  1. To ease this, the following commands will be used. To sign the git tag.
    make git-tag-sign

    To verify that the git tag can be verified and that the git hash it points to is itself a signed git commit.

    make git-verify

    This is not a requirement, these commands are just shortcuts.

  2. finalized version commit as defined above.

Fosshost is sponsors Kicksecure ™ stage server Whonix old logo.png
Fosshost About Advertisements

Search engines: YaCy | Qwant | ecosia | MetaGer | peekier | Whonix ™ Wiki

Follow: 1024px-Telegram 2019 Logo.svg.png Iconfinder Apple Mail 2697658.png Twitter.png Facebook.png Rss.png Reddit.jpg 200px-Mastodon Logotype (Simple).svg.png

Support: 1024px-Telegram 2019 Logo.svg.png Discourse logo.png Matrix logo.svg.png

Donate: Donate Bank Wire Paypal Bitcoin accepted here Monero accepted here Contriute

Whonix donate bitcoin.png Monero donate Whonix.png United Federation of Planets 1000px.png

Twitter-share-button.png Facebook-share-button.png Telegram-share.png link=mailto:?subject=Dev/Versioning Format Conventions&body= link= Format Conventions link= Format Conventions link= Format Conventions%20 Format Conventions

Please help in testing new features and bug fixes in Whonix ™.

https link onion link Priority Support | Investors | Professional Support

Whonix | © ENCRYPTED SUPPORT LP | Heckert gnu.big.png Freedom Software / Osi standard logo 0.png Open Source (Why?)

The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent.