Ubuntu Packaging Guide Specification

  1. Audience: Experienced users who wish to make Ubuntu packages

  2. Document Outline: See the Document Outline section below.

  3. Target Presentation Formats: xml, html, pdf

  4. License: GPL

  5. Technologies and Techniques: DocBook xml and stored in the docteam's svn repo.

  6. Release Target: Dapper

  7. Links to Current Version: It's included in Dapper, a more current version can be viewed here.

  8. How to Contribute: The best way to contribute is to send patches to the ubuntu-doc mailing list (ubuntu-doc@lists.ubuntu.com)

  9. Primary Contacts: DocumentationTeam, JordanMantha

  10. Contributors: CoreyBurger2, AlexandreVassalotti,

Summary

The Packaging Guide is the official guide for people wanting to build and maintain packages in Ubuntu. It provides an easy introduction to building source packages as well as knowledge needed to become an Ubuntu Universe maintainer (MOTU).

Brain Dump

Resources

MOTU/Documentation also has a list of wiki and web resources for packaging. We should try to incorporate as much as we can and clean the wiki as well.

* http://xgen.iit.edu/cgi-bin/man/man2html?7+debhelper

Outline

  1. About This Guide (Common Preface)
  2. Introduction
    1. Introductory paragraph
    2. Set flow for different reader types
    3. What is a package?
      • The Debian Package Format
      • Binary and Source Packages
      • What a package contains?
      • How packages get from the developers to your computer
  3. Setting your workplace
    • Tips about directory layout
    • Editing helpers (for changelog, control, etc)
    • Installing build dependencies
    • (Maybe) Configuring pbuilder
  4. Overview of Packaging Tools
    1. Introduction
    2. Standard tools
      • build-essential
      • devscripts
      • debhelper / dh_make
      • gnupg
    3. Build helper systems
      • debhelper
      • dbs
      • cdbs
    4. Package Builders
      • dpkg-buildpackage
      • debuild
      • pbuilder
    5. Patch systems
      • Dpatch
      • Quilt
      • Simple-patch-sys
    6. Error checking
      • lintian / linda
      • debdiff
    7. Version control systems
      • bzr / builddeb
  5. Examples Tasks
    1. Modifying an existing package.
      • Getting the source code
      • New changelog entries
      • Building and testing
    2. Creating a new package.
      • The package description files
        • "control and changelog"
      • Finding the dependencies
      • Writing the package build process
        • "the `rules' file"
      • Building and testing
    3. Importing a package from Debian
      • Changing the maintainer
      • Update bug tracker location
      • Removing Debian-specific patches
    4. Adding new patches.
      • Backporting fixes from newer releases
      • Ubuntu-specific patches
    5. New upstream release.
      • Changing debian/rules
      • Newly added documentation.
      • Updating the changelog.
      • Closing existing bugs.
    6. Packaging development code.
      • When to do that?
      • Creating a source tarball
  6. Packaging for Ubuntu
    1. Ubuntu Release Process
    2. Relationship with Debian
    3. Updating Packages
      • New upstream release
      • Updating the current package (uupdate and friends)
      • Fixing other people's packages
    4. New Packages
      • Debian Free Software Guidelines
      • Ubuntu Components
    5. Merges and Syncs
    6. Uploading your package
      • Sponsorship
    7. Quality Control
      • Package Review
      • Tracking Bugs
  7. Appendix
    1. Additional Resources
    2. Chroot Environment
    3. dh_make example files
    4. List of debhelper scripts
  8. GNU General Public Licence


CategorySpec

Spec/UbuntuPackagingGuide (last edited 2008-08-06 16:29:10 by localhost)