Debian New Maintainers' Guide

Josip Rodin

original contents 

Osamu Aoki

updated contents 

version 1.2.31

This document may be used under the terms the GNU General Public License version 2 or higher.

This document was made using these two documents as examples:

  • Making a Debian Package (AKA the Debmake Manual), copyright © 1997 Jaldhar Vyas.

  • The New-Maintainer's Debian Packaging Howto, copyright © 1997 Will Lowe.

2012-12-24 23:08:07 UTC


Table of Contents

1. Getting started The Right Way
1.1. Social dynamics of Debian
1.2. Programs needed for development
1.3. Documentation needed for development
1.4. Where to ask for help
2. First steps
2.1. Debian package building workflow
2.2. Choose your program
2.3. Get the program, and try it out
2.4. Simple build systems
2.5. Popular portable build systems
2.6. Package name and version
2.7. Setting up dh_make
2.8. Initial non-native Debian package
2.9. Initial native Debian package
3. Modifying the source
3.1. Setting up quilt
3.2. Fixing upstream bugs
3.3. Installation of files to their destination
3.4. Differing libraries
4. Required files under the debian directory
4.1. control
4.2. copyright
4.3. changelog
4.4. rules
4.4.1. Targets of the rules file
4.4.2. Default rules file
4.4.3. Customization of rules file
5. Other files under the debian directory
5.1. README.Debian
5.2. compat
5.3. conffiles
5.4. package.cron.*
5.5. dirs
5.6. package.doc-base
5.7. docs
5.8. emacsen-*
5.9. package.examples
5.10. package.init and package.default
5.11. install
5.12. package.info
5.13. package.links
5.14. {package.,source/}lintian-overrides
5.15. manpage.*
5.15.1. manpage.1.ex
5.15.2. manpage.sgml.ex
5.15.3. manpage.xml.ex
5.16. package.manpages
5.17. menu
5.18. NEWS
5.19. {pre,post}{inst,rm}
5.20. package.symbols
5.21. TODO
5.22. watch
5.23. source/format
5.24. source/local-options
5.25. source/options
5.26. patches/*
6. Building the package
6.1. Complete (re)build
6.2. Autobuilder
6.3. debuild command
6.4. pbuilder package
6.5. git-buildpackage command and similars
6.6. Quick rebuild
7. Checking the package for errors
7.1. Suspicious changes
7.2. Verifying a package's installation
7.3. Verifying a package's maintainer scripts
7.4. Using lintian
7.5. The debc command
7.6. The debdiff command
7.7. The interdiff command
7.8. The mc command
8. Uploading the package
8.1. Uploading to the Debian archive
8.2. Including orig.tar.gz for upload
8.3. Skipped uploads
9. Updating the package
9.1. New Debian revision
9.2. Inspection of the new upstream release
9.3. New upstream release
9.4. Updating the packaging style
9.5. UTF-8 conversion
9.6. Reminders for updating packages
A. Advanced packaging
A.1. Shared libraries
A.2. Managing debian/package.symbols
A.3. Multiarch
A.4. Building a shared library package