dunetna

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


Recipe under construction

QA upload work flow

Description: Orphaned packages are responsability of QA team and any DD can make an upload to have these packages well maintained. Here you have a workflow to do this kind of uploads. It is assumed that the package is not using any version control system. If it uses one, take a look at Packaging a new upstream version and Packaging a new Debian release

Language(s): English

Download the package and try to build it:

PKG_NAME="package_name"; PKG_VERSION="version_number"; PKG_REVISION="revision_number"
mkdir ${PKG_NAME}; cd ${PKG_NAME}
apt-get source ${PKG_NAME}
sudo cowbuilder --build ${PKG_NAME}_${PKG_VERSION}-${PKG_REVISION}.dsc

Now we have two possibilities: fix bugs and tidy up the package to have a new Debian release or package a new upstream version.

New Debian release

cd ${PKG_NAME}-${PKG_VERSION}
dch -q

New upstream version

uscan  
PKG_QA_VERSION="qa_version_number"; PKG_QA_REVISION="1"
cd ${PKG_NAME}-${PKG_VERSION}
uupdate -v $PKG_QA_VERSION ../${PKG_NAME}-${PKG_QA_VERSION}.tar.xz
cd ../${PKG_NAME}-${PKG_QA_VERSION}
dch -a

Add a first entry in the new chagelog blck with the text “QA upload”.

Both cases

Fix all you want to fix.

cd ..
dpkg-source -b ${PKG_NAME}-${PKG_QA_VERSION}
sudo cowbuilder --build ${PKG_NAME}_${PKG_QA_VERSION}-${PKG_QA_REVISION}.dsc

Check if new package works as expected. If it doesn't work, fix it, recreate the source package and rebuild it again until it works properly.

Run lintian:

lintian -i -I --show-overrides --pedantic /var/cache/pbuilder/result/${PKG_NAME}_${PKG_QA_VERSION}-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:

sudo dpkg -i /var/cache/pbuilder/result/${PKG_NAME}_${PKG_QA_VERSION}-1_${ARCH}.deb

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

debdiff /var/cache/pbuilder/result/${PKG_NAME}_${PKG_VERSION}-${PKG_REVISION}.dsc /var/cache/pbuilder/result/${PKG_NAME}_${PKG_QA_VERSION}-1.dsc

Prepare the package to upload:

cd ${PKG_NAME}-${PKG_QA_VERSION}
dch -r

Built it again:

cd ..
dpkg-source -b ${PKG_NAME}-${PKG_QA_VERSION}
sudo cowbuilder --build ${PKG_NAME}_${PKG_QA_VERSION}-${PKG_QA_REVISION}.dsc

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

debsign /var/cache/pbuilder/result/${PKG_NAME}*changes

Upload the package:

dput /var/cache/pbuilder/result/${PKG_NAME}*changes