Welcome to Debian for Dummy Packaging Contributors!

Do you want to contribute to Debian and don't know how? Do you feel dummy and overwhelmed? We did as well! And we want to help you!

This guide will not tell you how to prepare Debian packages, it is also not a full step by step tutorial on becoming a Debian Developer. We simply want to tell you how the path looks like, all the work must be still done by you. A not long ago we also had to take this path, and what we noticed was that steps on the path were not so clear. Debian has a vast and scattered documentation in form of official docs, wiki pages and even blogs that one can find it difficult to know what and when must be done to become a DM or DD.

What is needed

You need Debian

This may be not a surprise to you but in order to build packages and test them effectively you need Debian installed. This does not mean it has to be a bare metal installation, a virtual machine will be sufficient in most cases.

Since all of the packages are uploaded first to the "unstable" branch, it is proffered that you develop on sid. It is however also possible to choose the current "testing" as your developer's branch.

There are Debian images available to use with KVM:

Creating keys

In Debian trust is very important. You need to sign packages to upload them to Debian FTP, you need to sign emails when enrolling from DM or DD status. Keysigning page will get you through the process of creating your OpenPGP keys.

Subscribe to lists

If you contribute to Debian, and want to join the project, it is very important to subscribe to mailing lists, which provide a mean of communication among geographically distributed developers and users. For starters, it is advised to be subscribed to the following two lists:

Debian mentors is the main communication channels for newbie packagers, you can get there help, ask for things you do not know. Besides that it is the main channel for getting your packages sponsored (we will cover package sponsoring in this document later). Debian devel announce is a list which provides info about changes in policies.

Before you post to the lists, please read and learn the Code of Conduct for mailing lists ?here.

Use interleaved replies

Remember to interleave your replies to posts in Debian mailing lists. If you do not use it, you will be reminded of it by people in the lists.

How to start packaging

What to package ?

wnpp, links, how-can-i-help

Choose the first package

Know the debian/ directory

(links, packaging howto)

Know quilt

(dquilt config link)

Testing the package

(cowbuilder, piuparts, lintian -> configs, simple workflows)

Where to get help

Lists

IRC

How to ask for help

(be concise, do not top post, so on)

Uploading a package

Upload to mentors

(dput config)

RFS

Reupload after fixes

, what will happen when sponsored ? (descr)

Common services

(QA uploader, PTS, buid logs, migration to testing)

NMU

(short description when you will need it) + links

Working with VCS

Alioth account

(how to get, advocacy)

GBP

Importing to git

Existing package with a long history

New package

What next

So you want to stay

becoming DM links