[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ next ]


Debian New Maintainers' Guide
Chapter 9 - Updating the package


Once you release a package, you need to update it soon.


9.1 New Debian revision

Let's say that a bug report was filed against your package as #54321, and it describes a problem that you can solve. To create a new Debian revision of the package, you need to:


9.2 Inspection of the new upstream release

When preparing packages of the new upstream release for the Debian archive, you must check the new upstream release, first.

You start this by reading the upstream changelog, NEWS, and whatever other documentations they may have released with the new version.

You then inspect changes between the old and new upstream sources as follow to watch out for anything suspicious.

     $ diff -urN foo-oldversion foo-newversion

Changes to some auto-generated files by Autotools such as missing, aclocal.m4, config.guess, config.h.in, config.sub, configure, depcomp, install-sh, ltmain.sh, and Makefile.in may be ignored. You may erase them before running diff to the source for inspection.


9.3 New upstream release

If a package foo is properly packaged in the newer 3.0 (native) or 3.0 (quilt) formats, packaging a new upstream version is essentially moving the old debian directory to the new source. This can be done by running "tar xvzf /path/to/foo_oldversion.debian.tar.gz" in the new extracted source. [54] Of course, you need to do few obvious chores.

If the patch/merge did not apply cleanly, inspect the situation (clues are left in .rej files).

This process can be automated using the uupdate(1) command as follows:

     $ apt-get source foo
     ...
     dpkg-source: info: extracting foo in foo-oldversion
     dpkg-source: info: unpacking foo_oldversion.orig.tar.gz
     dpkg-source: info: applying foo_oldversion-1.debian.tar.gz
     $ ls -F
     foo-oldversion/
     foo_oldversion-1.debian.tar.gz
     foo_oldversion-1.dsc
     foo_oldversion.orig.tar.gz
     $ wget http://example.org/foo/foo-newversion.tar.gz
     $ cd foo-oldversion
     $ uupdate -v newversion ../foo-newversion.tar.gz
     $ cd ../foo-newversion
     $ while quilt push; do quilt refresh; done
     $ dch
     ... document changes made

If you set up a debian/watch file as described in watch file, Section 5.20, you can skip the wget command. You simply run uscan(1) in the foo-oldversion directory instead of the uupdate command. This will automagically look for the updated source, download it, and run the uupdate command. [55]

You can release this updated source by repeating what you did in Complete (re)build, Section 6.1, Checking the package for errors, Chapter 7, and Uploading the package, Chapter 8.


9.4 Updating the packaging style

Updating the package style is not a required activity for the update of a package. But, you can use the full capability of the modern debhelper system and the 3.0 source format by doing this. [56]

You need to do other tasks described in New upstream release, Section 9.3, too.


9.5 Reminders for updating packages

Here are few reminders for updating packages.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ next ]


Debian New Maintainers' Guide

version 1.2.25, 2010-12-22 12:44:34 UTC

Josip Rodin joy-mg@debian.org