Differences between revisions 16 and 18 (spanning 2 versions)
Revision 16 as of 2018-11-25 22:46:11
Size: 5823
Comment: Document pkg-security-team repository
Revision 18 as of 2018-11-26 01:02:17
Size: 6035
Editor: PaulWise
Comment: fix package names
Deletions are marked like this. Additions are marked like this.
Line 36: Line 36:
You can retrieve all repositories of the team:

{{{
$ sudo apt install myrepos
$ mr bootstrap https://salsa.debian.org/pkg-security-team/pkg-security-team/raw/master/mrconfig pkg-security-team
}}}
Line 37: Line 44:
Line 38: Line 46:
$ sudo apt install mr $ sudo apt install myrepos

Debian Security Tools Packaging Team (pkg-security)

Infrastructure

Interacting with the team

Usual roles

Task description

Maintain correctly all security related tools. Merge back tools packaged by security-oriented Debian derivatives.

Get involved

  • {*} Prepare a patch for a bug on a team maintained package.

  • {*}{*} Write autopkgtests for any of our packages.

  • {*}{*} Import a Kali package and clean it up so that we can upload it to Debian, you can also have a look at Samuel's maintained page to check for the work needed on a given Kali package.

  • {*}{*}{*} Package new security related tools (the Kali bug tracker is full of suggestions, please package something only if you use the tool or if it provides some interesting features not covered by existing packages)

Packaging rules

Checking out all repositories

You can retrieve all repositories of the team:

$ sudo apt install myrepos
$ mr bootstrap https://salsa.debian.org/pkg-security-team/pkg-security-team/raw/master/mrconfig pkg-security-team

You can easily config "mr" to retrieve all repositories of the team:

$ sudo apt install myrepos
$ git clone git@salsa.debian.org:pkg-security-team/pkg-security-team.git
$ cd pkg-security-team
$ bin/setup-team-repos
[...]

That repository also contain other helper scripts to create a new repository and to enforce common settings across all projects of the team.

Git packaging tool and repository layout

We use git-buildpackage with full sources stored in the repository and with pristine-tar to be able to retrieve the orig tarball out of the git repository. We strive to respect DEP-14 for the repository layout so the default branch should be "debian/master".

For a better experience you might want to set the following options in ~/.gbp.conf:

[DEFAULT]
pristine-tar = True
cleaner = /bin/true

[buildpackage]
sign-tags = True
export-dir = ../build-area/
ignore-branch = True

[import-orig]
filter-pristine-tar = True

[pq]
patch-numbers = False

[dch]
multimaint-merge = True
ignore-branch = True

The "ignore-branch" is important so that git-buildpackage doesn't complain of the unexpected name of the packaging branch. The "export-dir" setting ensures builds are done on a separate copy of the sources, thus avoiding to pollute/break the git repository with build artifacts.

Creating new repositories

Salsa team's masters and owners can create new repositories. If you don't have the required permissions, feel free to ask for a new repository on the project mailing list. Someone will set it up for you and grant you full access to it.

When you create a new repository, you should configure it in the following way:

  • open the page "settings > integration", now click on "Emails on push" and configure the project to send git commit notices to dispatch@tracker.debian.org

  • on the same page, click on "Irker (IRC gateway)" and enable it with the following settings:
    • Active: checked
    • Trigger: Push
    • Server host: ruprecht.snow-crash.org
    • Server port: (leave empty for default value)
    • Default IRC URI: ircs://irc.oftc.net:6697/

    • Recipients: #debian-pkg-security
    • Colorize messages: checked
  • again on the same page, add a new webhook by filling the form in the following way:
    • URL: https://webhook.salsa.debian.org/tagpending/<sourcepackage> (replace <sourcepackage> by the name of the source package)

    • Push events: checked
      • Enable SSL verification: checked
    • All other entries: unchecked

All this can be automated with "bin/create-repo" or "bin/update-repos" from the pkg-security-team project.

Packaging helper

We use the "dh" command provided by debhelper to ensure we have short but expressive debian/rules files.

Maintainer field

The Maintainer field should be set to Debian Security Tools <team+pkg-security@tracker.debian.org>. That way the package will be automatically added to the pkg-security team on tracker.debian.org and the discussion mailing list is not polluted with bug reports and all other maintainer emails.