:: Re: [Dng] package submission
Top Page
Delete this message
Reply to this message
Author: Franco Lanza
Date:  
To: dng
Subject: Re: [Dng] package submission
On Fri, Jan 02, 2015 at 07:05:24PM +0100, Enrico Weigelt, metux IT consult wrote:
> Hi folks,
>
>
> do we already have defined workflows for package submission ?
>
> I'm usually maintaining everything in git repos, where each distro
> has a separate branch, which directly adds ./debian/ directory
> and all necessary changes - no additional patches etc.
>
> For example: https://github.com/metux/fskit/tree/jessie/master
>
>
> I'd prefer consequently using that approach for Devuan
> (we could also mirror everything to github, etc)


Devuan have a workflow driven by the autobuild infrastructure based on
gitlab + jenkins + dak

Basically, every package in devuan has to have a project on our gitlab,
where for devuan native packages all sources are on the gitlab
repository, and for external hosted sources the devuan gitlab project
will have just the debian directory and a devuan specific script similar
to the "watch" script used in debian.

Anyone who want to contribute to devuan with a package maintaining it,
will have to open a devuan gitlab account, create a project, propose it
as official package.

If accepted, the repository will be added to the jenkins autobuild
infrastructure where we are using branches for autobuilding.

Basically any push to a pre-defined branch names will be autobuilded
and, if lintian doesn't complain, pushed automagically to the main
repository.

Pre-defined names are:

1- experimental
2- unstable
3- devuan version numbering or codenames

The point 3 has yet to be choosen.

So, for devuan jessie, assuming we will use codenames, you will have for
an "example" package a repository named "example" where master branch is
the one where you will develop, and when you merge/push changes to
experimental branch, the package will be autobuilded and pushed on the
experimental repository, the unstable to the unstable repository, and
jessie to the jessie / 1.0 repository.

For native devuan packages, jenkins will just clone the repository and
send to buildhosts to build and then on the package repository, for
externally hosted sources, jenkins will execute the devuan specific
script that will have to:

- clone/download sources
- remove eventually existant debian directory
- clone the gitlab debian directory
- build the package

And then push to repository like for the native one.

When branching for packaging external source hosted packages, a tarball
of the specific version has to be built will be copied on the gitlab
repo to permit package reproducibility.

This will be all documented on our gitlab wiki for the
"devuan/devuan-project" repository.



--

Franco (nextime) Lanza
Lonate Pozzolo (VA) - Italy
SIP://casa@???
web: http://www.nexlab.net

NO TCPA: http://www.no1984.org
you can download my public key at:
http://danex.nexlab.it/nextime.asc || Key Servers
Key ID = D6132D50
Key fingerprint = 66ED 5211 9D59 DA53 1DF7 4189 DFED F580 D613 2D50
-----------------------------------
echo 16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D212153574F444E49572045535520454D20454B414D204F54204847554F4E452059415020544F4E4E4143205345544147204C4C4942snlbxq | dc
-----------------------------------