Description: Basic steps to package a new upstream version of an existing package using git
Language(s): English
Check that there is a new upstream version:
uscan --report
Download the new upstream version:
uscan
Import this new version to git:
gbp import-orig --pristine-tar ../PKGNAME_NEWVERSION.orig.tar.gz -u NEWVERSION
If you forget the –prisitne-tar option, you can cretae the pristine-tar with:
pristine-tar commit ../PKGNAME_NEWVERSION.orig.tar.gz
Update debian/changelog:
dch -v NEW_VERSION-1
Add the following item:
* New upstream release.
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.
Commit this change:
git commit -a -m "New upstream release"
Do whatever is needed.
Build the package:
gbp buildpackage --git-pbuilder -d
Or if you have uncommitted changes:
gbp buildpackage --git-pbuilder --git-ignore-new -d
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
Sign the package (if it has not been done during the last command):
debsign PKG_NAME*changes
Upload the package:
dput PKG_NAME*changes
Add tags to the git repo:
gbp buildpackage --git-tag-only
Push changes (if you haven't done it before) anf tags:
git push alioth git push alioth --tags