The source tree used to create the Debian package lives on its own branch, which adds a =debian= directory and removes some files that shouldn't be in a Debian package. Merges from the HTCondor release branches are done as required when making a new release. In the HTCondor git repository, branch =debian= contains the most recent Debian package for HTCondor (7.8.4 as of this writing). It is also stored in the git repository http://git.debian.org/git/pkg-exppsy/condor.git, on the =master= branch. In that repository, branch =maint-wheezy= contains the source for versions in =testing= (a.k.a. =wheezy=), which is 7.8.2 plus back-ported security patches. Some of the Debian package releases are tagged in both repositories with names like =debian/7.8.2_dfsg.1-2=. + +{section: Upload Process} + +The following procedure was written originally by Michael Hanke (November 2012) and was posted here (and edited for web readability) by Tim Cartwright. + +Note: This was a least-effort upgrade, so you can use this as a reference for the minimum procedure. I am using the version for the current stable release in the commands: + +1: First, merge the release tag into the Debian "upstream" tracking branch, which is used to generate the "orig" tarball: +{verbatim}$ git co upstream +$ git merge V7_8_6{endverbatim} +1: Now, merge it into the Debian release branch, "master" in Michael's case, and probably different for you: +{verbatim}$ git co master +$ git merge upstream{endverbatim} +1: Generate the release tarball. This command will figure out the most recent merge point from "upstream" and describe it in terms of HTCondor release tags to generate a package version. The tarball is created in the current directory but must be moved one level up. +{verbatim}$ make -f debian/rules get-orig-source +$ mv condor_7.8.6\~dfsg.1.orig.tar.gz ..{endverbatim} +1: Test all patches and resolve any conflicts or fuzz: +{verbatim}$ quilt push -a +$ quilt pop -a{endverbatim} +1: Create a new changelog entry using the determined version, plus package revision. This includes creating a summary of the upstream changelog, with all the bits that are relevant for a Debian administrator or user. There are tools in Debian that will auto-generate install reports, which include the changelog entries; this is very useful for a cluster administrator, and we want to be friends... +{verbatim}$ dch -v '7.8.6~dfsg.1-1'{endverbatim} +1: [Optional:] Set up ccache to facilitate the build: +{verbatim}$ export PATH=/usr/lib/ccache:$PATH{endverbatim} +1: Build the package: +{verbatim}$ dpkg-buildpackage -us -uc{endverbatim} +1: Run the package tests +{verbatim}$ lintian -iv ../condor_7.8.6\~dfsg.1-1_i386.changes{endverbatim} +1: Deal with discovered problems +1: Install and test the build +... +1: When everything is ready, create a signed tag: +{verbatim}$ git tag -s debian/7.8.6~dfsg.1-1{endverbatim} +1: Call for a Debian developer and ask for a sponsored upload