DeveloperResources

Differences between revisions 35 and 36
Revision 35 as of 2006-02-09 13:15:38
Size: 8007
Editor: 83-216-156-196
Comment: link to CD image build logs
Revision 36 as of 2006-02-09 13:33:25
Size: 8091
Editor: 83-216-156-196
Comment: live filesystem build logs
Deletions are marked like this. Additions are marked like this.
Line 78: Line 78:
[http://people.ubuntu.com/~cjwatson/livefs-build-logs/ Live filesystem build logs]

DeveloperResources

"Ubuntu -- where the release cycles are short and furious"

©2005 Adam Conrad

Building packages for Ubuntu

  • Set the target suite in debian/changelog to be 'dapper'. e.g. "dch -D dapper"

  • When working with a package which originated in Debian, use a version number derived from the Debian version number with ubuntu<revision> appended. i.e. Debian 1.0-2 becomes 1.0-2ubuntu1, followed by 1.0-2ubuntu2, etc.

  • Packages not in debian yet should end with revision -0ubuntu1 (To Be Discussed: see [https://launchpad.net/distros/ubuntu/+spec/package-version-conflicts] )

  • Make source-only uploads, i.e. use "dpkg-buildpackage -S"

  • when uploading to [:REVU], please include the orig tarball (use parameters -S -sa)
  • Once you have created your packages, see [:Uploads] for how to upload
  • You may want to build them in a [:DebootstrapChroot] or in [:PbuilderHowto:pbuilder]

  • You may also build packages using [:BuildDaemons]

  • See also this guide: ["HowToBuildDebianPackagesFromScratch"]

  • Create simple .deb files from source: ["CheckInstall"]

  • Package search by file and on-demand package installation tool: [:AutoApt:auto-apt]

Syncs

  • Syncing a package is importing it unmodified from Debian or another Debian-source repository.
  • NB: syncs (like uploads) can not be reversed or undone. ALWAYS throughly check a package before asking for a sync.

  • You should always sync a package rather than upload the unmodified source by hand.
  • If you know you're going to have to modify the package and make an -<n>ubuntu<n> upload, don't ask for a sync. However, be sure to always use the exact same .orig.tar.gz as Debian (or whoever).

  • If we're in UpstreamVersionFreeze, syncs of a newer upstream version to main require explicit UVF exception approval, via email, from Matt Zimmerman or Colin Watson.

  • If there are Ubuntu changes in the current package, you must ensure the Ubuntu changes have been merged or are no longer relevant.
  • Only versions in a 'suite' or 'distribution', i.e. things in a Sources file, can be synced.
  • When requesting a 'sync', please include the following information:
    • Source package name
    • Source version number to sync
    • Where to sync from (e.g. 'sid')
    • [If there are Ubuntu changes] that the ubuntu changes are OK to override
  • The canonical way to request syncs is to first ask 'elmo' on IRC (unless they require approval). Failing that, fall back on email to James Troup <james@ubuntu.com>.

Removing packages

  • Normally speaking, packages that have been removed from Debian will be removed from Ubuntu semi-automatically shortly afterwards. There is generally no need to explicitly request removal of such a package.
  • There are some cases where this will not happen semi-automatically: for example, if a package is in Ubuntu main then we assume that it shouldn't be removed until and unless it's demoted to universe. If you're expecting a package to be removed and it isn't for some reason, then contact James Troup as above.

New to packaging?

Package archive

  • Information about the archive and its mirrors can be found on the ["Archive"] page
  • [http://morgue.ubuntu.com/ The morgue] contains old versions of packages which have been removed or superseded (but note that at present it is badly out of date due to disk space issues on its host machine; its resurrection on a different machine is in progress)

  • You can [http://packages.ubuntu.com/ search for a package in various Ubuntu releases].

Seed management

  • The official seed lists are available here: http://people.ubuntu.com/~cjwatson/seeds/

  • Germinate output for dapper is available here: http://people.ubuntu.com/~cjwatson/germinate-output/dapper/ (use this to determine why packages are in main)

  • SeedManagement explains how these pieces fit together to determine which packages go where

  • The actual movement of packages between main and universe is semi-automatic: a tool called [http://people.ubuntu.com/~mdz/anastacia.txt anastacia] produces a report on what should be promoted or demoted according to the seeds, which the archive administrators review by hand and process.

  • "Obvious" main/universe changes (e.g. library renames) can be processed right away. Non-obvious promotions to main require a [:UbuntuMainInclusionRequirements:main inclusion review].

Build logs

An explanation of the build daemon processing: BuildDaemons

See whether your package built properly

[http://people.ubuntu.com/~cjwatson/cd-build-logs/ CD image build logs] [http://people.ubuntu.com/~cjwatson/livefs-build-logs/ Live filesystem build logs]

Changes

For each new version of a package which enters the archive, a message is sent to the [http://lists.ubuntu.com/mailman/listinfo/dapper-changes dapper-changes mailing list]

Changelogs for all packages can be found at http://changelogs.ubuntu.com/changelogs/ (this is the source used by update-manager and synaptic).

RSS Feeds of these messages are available at http://www.ubuntulinux.nl/files/ [http://www.ubuntulinux.nl/files/warty.xml warty] [http://www.ubuntulinux.nl/files/hoary.xml hoary] [http://www.ubuntulinux.nl/files/breezy.xml breezy] [http://www.ubuntulinux.nl/files/dapper.xml dapper]

Ongoing merge

Debian maintainers take note: there is a constant merge from Debian sid (unstable) into Ubuntu until UpstreamVersionFreeze. After that there are no more automatic merges, but you can request a manual merge in case that you consider that the selected version is sub-optimal. You can see the merge in action on the [http://lists.ubuntu.com/archives/ubuntu-changes-auto ubuntu-changes-auto] mailing list.

Automated merging of packages from Debian unstable into main (?)

A by-product of the automated merging is a set of patches that denote the current difference between Debian and Ubuntu. These are naively categorised and made publicly available.

Ubuntu traffic

Find out what is happening in the Ubuntu developers' world

Bugzilla

Security Updates

Broken packages


CategoryUbuntuTeams

DeveloperResources (last edited 2008-08-06 17:00:54 by localhost)