Package and source naming, package building and lintian fixes document proposal 🔼
After working with package creation for a while now, the following document is proposed containing:
- Package naming
- Source naming
- Package building
- Lintian overrides/devuan-lintian-profile
A document like this would be very useful for potential Devuan developers and might be a good complement to d1h, which automates the task of package building an maintenance.
Source: https://lists.dyne.org/lurker/message/20171115.163800.3cd99234.en.html
Notations 🔼
<devuan version> = devuanX.Y
Releases: X = {1 = Jessie}, {2 = ASCII}, {3 = Beowulf},..., {exp = experimental}
Versions: .Y = {empty}, {.1}, {.2}, ...
Package naming (debian/changelog) 🔼
Packages forked from Debian:
<source package> (<debian version>+<devuan version>)
Devuan packages with an upstream (not forked from Debian):
<source package> (<upstream version>+<devuan version>)
Devuan native packages:
<source package> (<package name>+<devuan version>)
Source naming 🔼
<ext> = {gz}, {xz}, {bz2}, {...}
Packages forked from Debian:
<source package>_<upstream version>.orig.tar.<ext>
<source package>_<debian version>>+<devuan version>.debian.tar.<ext>
<source package>_<debian version>+<devuan version>.dsc
Devuan packages with an upstream:
<source package>_<upstream version>.orig.tar.<ext>
<source package>+<devuan version>.debian.tar.<ext>
<source package>+<devuan version>.dsc
Devuan native packages:
<source package>_<upstream version>.orig.tar.<ext>
Package building 🔼
Not yet completed: <TBW>
debian/source/format: Z = 3.0 (quilt), 3.0 (native), 3.0 (git)
<architecture> W = alpha, amd64, arm64, armel, armhf, hppa, i386, ia64, mips, mipsel, powerpc, ppc64el, s390x, sparc
^^ (are all these really supported?) ^^
gbp. conf content:
<TBW>
Packages forked from Debian:
<TBW>
Devuan packages with an upstream:
<TBW>
Devuan native packages:
a) <source package>_<debian version>.tar.<ext> provided: Z = 3.0 (native)
b) transitional packages (contains only a debian directory) Z = 3.0 (git)
gbp buildpackage --git-no-create-orig 2>&1 | tee ../gbp-buildpackage-<source package><devuan version>.log
Creates:
<source package>_<upstream version>+<devuan version>.git
<source package>_<upstream version>+<devuan version>.dsc
<source package>_<upstream version>+<devuan version>_<architecture>.changes
<source package>_<upstream version>+<devuan version>_<architecture>.build
<source package>_<upstream version>+<devuan version>_<architecture>.buildinfo
<binary package>_<upstream version>+<devuan version>.deb
<binary package>_<upstream version>+<devuan version>.udeb
Notes:
- Using <...>-<devuan version> is not a good idea, since lintian complains:
W: <source package> source: native-package-with-dash-version
W. <source package> maintainer-upload-has-incorrect-version-number
Lintian overrides 🔼
Lintian warnings and errors can be suppressed by adding
debian/source/lintian-overrides
A better method would be to add one or more <TBW> module(s) to
devuan-lintian-profile
Packages forked from Debian:
<TBW>
Devuan packages with an upstream:
<TBW>
Devuan native packages:
a) <TBW>
b) transitional packages
Unfortunately format 3.0 (git) is not officially supported.
lintian <source package>_<upstream version>+<devuan version>.dsc
Causes a lintian error:
E: <source package> source: unsupported-source-format 3.0 (git)
and warning:
W: <source package> source: diff-contains-git-control-dir .git
Fixed by adding debian/source/lintian-overrides
<source package> source: unsupported-source-format
<source package> source: diff-contains-git-control-dir