dunetna

[debian] [free software] [free knowledge] [sharing]


Packaging a new Debian release (using git)

Description: Basic steps to package a new Debian release of an existing package using git

Language(s): English

You can build the package without doing any change to ensure it is building right now:

gbp buildpackage --git-pbuilder -d

Make the changes you need and update debian/changelog:

dch -i

Write the change, closing bugs if needed:

  * Change description. (Closes: #nnnnn)

It's very important to update changelog before building. If we don't do it, a file in debian/patches will be created since it'll be understood that you are making changes to the code.

Build the package:

gbp buildpackage --git-pbuilder --git-ignore-new -d

If it builds, commit the change:

git commit -a -m "Change description"

Run lintian:

lintian -i -I --show-overrides --pedantic PKGNAME_NEWVERSION-1_ARCH.changes

Try to make the package lintian free, do all needed changes/commits and build as many times as you need to make the package ready to upload.

Install and test the package:

dpkg -i PKGNAME_NEWVERSION-1_ARCH.deb

Check that there are not weird changes comparing the new package with the old one:

debdiff PKGNAME_OLDVERSION-OLDREVISION.dsc PKGNAME_NEWVERSION-1.dsc

Do this last commit:

dch -r
git commit -a -m "Releasing to sid"

And build again:

gbp buildpackage --git-pbuilder -d

Add tags to the git repo:

gbp buildpackage --git-tag-only

Sign the package (if it has not been done during the last command):

debsign PKG_NAME*changes

Upload the package:

dput PKG_NAME*changes

Push changes (if you haven't done it before) and tags:

git push alioth
git push alioth --tags