Debian Security Tools Packaging Team (pkg-security)
Debian Security Tools Packaging Team (pkg-security)
- Interacting with the team
- Usual roles
- Task description
- How to join the team
- Packaging rules
Package tracker team: https://tracker.debian.org/teams/pkg-security/
- NOTE: Join this team to get the maintainer emails for all our packages.
Git repositories: https://salsa.debian.org/pkg-security-team
- NOTE: If you want to be part of this Salsa team, you have to request it on the mailing list (see below). If you have some prior packaging experience, your request will be quickly processed. Otherwise, please contribute first (see "Get involved").
Interacting with the team
Public IRC channel: #debian-pkg-security on irc.debian.org (OFTC)
RaphaelHertzog is owner on salsa.debian.org
- Gianfranco Costamagna is owner on salsa.debian.org
- Mika Prokop is owner on salsa.debian.org
Samuel Henrique is responsible for maintaining the page which has info about kali packages and what lacks for them to be added to debian
Maintain correctly all security related tools. Merge back tools packaged by security-oriented Debian derivatives.
How to join the team
Subscribe to our mailing list and ideally send a short introductory message presenting you and letting us know on what you'd like to work. If you have any questions at this stage, use this opportunity to ask your questions. You can also ask your questions on the IRC channel if you prefer.
Find something to contribute
If you don't exactly know where to start, here are a few suggestions, sorted by increasing difficulty:
Prepare a patch for a bug on a team maintained 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)
In most cases, you will have to submit merge requests to submit the result of your work.
For entirely new packages, you can prepare the git repositories in your own account and then ask some team admin to copy them in the team's group. Or you can ask a team member to create the repository for you in the pkg-security-team group and then grant you access to this repository only.
Get commit rights
After you have done a few good contributions to the team, you probably want to have git commit rights to be able to push your work directly without having to submit merge requests.
If you are in this situation, please send a mail to the mailing list and give your salsa.debian.org username, one of the team administrators will add you as developer either to the pkg-security-team group or directly to the project where you are involved.
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
Or you can do the same with the helper script provided in the pkg-security-team repository:
$ sudo apt install myrepos $ git clone firstname.lastname@example.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 debian-branch = debian/master [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.
- Create the file debian/salsa-ci.yml with the following content:
--- include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
Then enable it by going to the Salsa interface "Settings -> CI / CD"
- Expand "General Pipelines" and set "Custom CI config path" to "debian/salsa-ci.yml"
- Leave the rest as it is and "Save Changes"
Note - by pushing the salsa-ci.yml file before changing the settings, the pipeline will only be run on the next push.
Creating new repositories
Salsa team's maintainers 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 email@example.com
- 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.
We use the "dh" command provided by debhelper to ensure we have short but expressive debian/rules files.
The Maintainer field should be set to Debian Security Tools <firstname.lastname@example.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.