Ubuntu Packaging Guide#


The Packaging and Development guide has not been updated for some time, and is currently undergoing a major overhaul to bring it up to date. It does not currently reflect the state of Packaging in Ubuntu and should not be used by beginners to Ubuntu packaging.

As part of this overhaul we have moved the source code to a GitHub repository to make contributing easier. If you are an experienced packager and would like to contribute, we would love for you to be involved! See our contribution page for details of how to join in.

Welcome to the Ubuntu Packaging and Development Guide!

This is the official place for learning all about Ubuntu Development and packaging. After reading this guide you will have:

  • Heard about the most important players, processes and tools in Ubuntu development,

  • Your development environment set up correctly,

  • A better idea of how to join our community,

  • Fixed an actual Ubuntu bug as part of the tutorials.

Ubuntu is not only a free and open source operating system, its platform is also open and developed in a transparent fashion. The source code for every single component can be obtained easily and every single change to the Ubuntu platform can be reviewed.

This means you can actively get involved in improving it and the community of Ubuntu platform developers is always interested in helping peers getting started.

Ubuntu is also a community of great people who believe in free software and that it should be accessible for everyone. Its members are welcoming and want you to be involved as well. We want you to get involved, to ask questions, to make Ubuntu better together with us.

The guide is split up into two sections:


Get started - a hands-on introduction to the Ubuntu Packaging Guide for new users

How-to guides

Step-by-step guides covering key operations and common tasks


Discussion and clarification of key topics


Technical information - specifications, APIs, architecture

Having trouble? We would like to help!#

If you run into problems: don’t panic! Check out the communication article and you will find out how to most easily get in touch with other developers.

  • Links to other communication channels go here

  • Use the “Give feedback” button at the top of any page to open a GitHub issue and let us know what problem you’re having

Project and community#

The Ubuntu Packaging Guide is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Further reading#

You can read this guide offline in different formats, if you install one of the binary packages.

If you want to learn more about building Debian packages, here are some Debian resources you may find useful:

We are always looking to improve this guide. If you find any problems or have some suggestions, please report a bug on Launchpad. If you’d like to help work on the guide, grab the source there as well.