:: [devuan-dev] RFC: Package and sourc…
Top Page
Delete this message
Reply to this message
Author: Svante Signell
Date:  
To: devuan developers internal list
Subject: [devuan-dev] RFC: Package and source naming, package building and lintian fixes document proposal
Hello,

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

(help is welcomed to complete this task)

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.

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>)

To be discussed: d1h version is 0.2+4

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