Ubuntu

Ubuntu

Organisation

The packages in Ubuntu are split in to two groups, each of which is then again two groups. These groups are "main", "restricted", "universe" and "multiverse". The second and the last are the non-free parts of the distribution. The first two are the core of the distribution, and the last two are everything else. It is the first two that have support provided by Canonical, and the last two are community supported.

The developers that look after main "~ubuntu-core-dev" are a smaller group than the group that look after Universe "~ubuntu-dev", or MOTUs (Masters of the Universe), and to have upload rights to main you should have had upload rights to universe for a while previously.

Releases

Ubuntu at any time has a number of previous releases, and one development release.

Each release has a codename, and the codenames progress through the alphabet, so the development release is the last name alphabetically, and the most recent release is the one previous to that. Currently (March 2008) "Hardy Heron", or "hardy" is the development release, and "Gutsy Gibbon", or "gutsy", is the latest released version.

Each release has a version number as well, this is of the form "year - 2000"."month of release", so gutsy was 7.10, as it was released October 2007.

The development release is the one where all the development is done. It is where new versions of packages and bug fixes go. Changes are only made to released versions for security fixes and critical problems. The latter is known as an SRU.

Debian

Ubuntu is a derivative of Debian, and so the information that you are looking for maybe somewhere in the Debian infrastructure instead. If you are not sure whether a problem is Ubuntu specific or not then an Ubuntu contributor will normally be willing to help you work that out. A Debian contributor may be less willing to do that work if the suspicion is that it is Ubuntu-specific.

Package information

The first place you would normally go for package information would be

you can then search for the package that you are interested in.

If you already know the package name then you can go directly to

e.g.

There you can see what version of the package is in each release, including the development release, and any updates to previous releases (security or otherwise).

Clicking on the distribution name that you are interested in brings you to a page with more information about that version of the package, e.g.

There you can see lots of information about the package, including the description, the packages that it depends upon, a link to download the .deb, and a link to the list of files shipped in the .deb.

The sidebar on the right has more links to other sources of information about the package.

In the first section there are links to the bug reports on launchpad (see below), the Ubuntu changelog, and the copyright file. There are also direct links to the source package in the archive.

In the next section there are links to the maintainers. Often, if the source package is unmodified in Ubuntu, these will be the Debian maintainers, and so you should be sure that you are emailing the right person, see below for more information on how to contact the developers.

Bug reports

Ubuntu uses launchpad for it's bug tracking. The bug reports for a package are available at

e.g.

Note that this uses the source package name, not a binary package name. If you aren't sure then the bug reports link from the package page explained above will always take you to the right place.

There is currently no link to the Debian bug tracking system for the package, however individual bugs can be linked, and so you may see this.

Finding Ubuntu changes

There are many packages that Ubuntu make a change to. If you are interested in the changes made to the upstream project then your best bet is the source package. In 99% of cases the .diff.gz component of the source package will tell you what you want to know.

You can find a link to the source package on the package page that is described above. The links are also available by clicking on a version on the overview page for the source package in launchpad.

e.g.

If you click on the link in the package page at packages.ubuntu.com the diff should be shown in your browser.

Some packages use a "patch system", which keeps diffs separate, but means that they show up as "diffs of diffs" in the ".diff.gz". If that is the case then you can find the separated changes by navigating beneath

If you are more interested in the changes with respect to Debian this information is available at

you can click the first letter of the source package name, and then look for the source package name. If it is not listed then their is not change with respect to Debian.

If there is a change then you can see the diff of that change. When Ubuntu has a newer upstream version than Debian (shown by -0ubuntu<n> in the version number) this diff can be large, and the Ubuntu specific changes difficult to separate from the upstream changes.

If the Ubuntu package uses a patch system there will be an "extracted" directory containing all the patches from the patch system. The diff itself can tell you which are modified or added, and then the individual diff can be downloaded if required.

Getting the Ubuntu source

If what you want is the Ubuntu code that is compiled then what you need is the source package. For those who have dget and dpkg-source available this is easy, for others, not so easy I'm afraid.

The source package usually comes in 3 parts. The .dsc describes the source package, and points to the other parts with their md5sum and size for verification. The other two parts are the ".orig.tar.gz" which is the upstream code (sometimes repacked to remove non-free stuff, or to split or combine packages), and the ".diff.gz" which is a compressed patch with the Debian/Ubuntu specific changes.

If you have dget available then go to the package page described above and grab the link to the ".dsc" and pass it to "dget -x".

If not then you should grab the ".orig.tar.gz" and ".diff.gz" using whatever download method you like.

Then extract the ".orig.tar.gz" with "tar xzf" and then "cd" in to the created directory. Then you can add the ".diff.gz" by "cat"ting it in to "patch -p1".

If anyone finds or writes a tool to do this without dget and dpkg-source then please add a link here, as it would be very useful to other distributions.

Contacting the Developers

As noted above Ubuntu takes a lot of source packages from Debian unmodified, so in those cases it may be that your query is better directed there. However that is not always the case, as even if a source package is taken unmodified then Ubuntu changes elsewhere may cause the bug that you are wondering about. In those cases an Ubuntu contributor would normally be willing to help you anyway.

The default maintenance strategy in Ubuntu is for a package to be maintained by anyone. This means that often contacting the last name in the changelog may not be the best idea, as often that person won't know the package, but just made some small change to it. For this reason it is usually better to contact the mailing lists, and then be pointed in the right direction if your package is one of the exceptions.

For packages in main/restricted the mailing list to contact with queries is

and for universe/multiverse

If you email one of the lists and explain your issue then you should hopefully receive a prompt response.

IRC is also heavily used, so if you would prefer to go that route then the channels are on irc.freenode.net

  • #ubuntu-devel

and

  • #ubuntu-motu

Duplicate?

Isn't this page a duplicate of UbuntuForDebianDevelopers ? -- AzraelNightwalker 2008-03-26 15:11:26

Distributions/Ubuntu (last edited 2008-08-06 16:28:32 by localhost)