===== 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