HTCondor is available as a native package in Debian. Currently, HTCondor 7.8.2 is in testing, which will become the next stable release, Debian 7 (wheezy). More recent versions of HTCondor are available in unstable (a.k.a. sid).

Note: The HTCondor Team releases Debian packages of HTCondor that closely resemble the tarball packages. This page does not describe those packages.

Michael Hanke is the current maintainer of the Debian package for HTCondor. The mailing list address condor-debian<at> is also listed as a maintainer.

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, 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.

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:
    $ git co upstream
    $ git merge V7_8_6
  2. Now, merge it into the Debian release branch, "master" in Michael's case, and probably different for you:
    $ git co master
    $ git merge upstream
  3. 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.
    $ make -f debian/rules get-orig-source
    $ mv condor_7.8.6\~dfsg.1.orig.tar.gz ..
  4. Test all patches and resolve any conflicts or fuzz:
    $ quilt push -a
    $ quilt pop -a
  5. 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...
    $ dch -v '7.8.6~dfsg.1-1'
  6. [Optional:] Set up ccache to facilitate the build:
    $ export PATH=/usr/lib/ccache:$PATH
  7. Build the package:
    $ dpkg-buildpackage -us -uc
  8. Run the package tests
    $ lintian -iv ../condor_7.8.6\~dfsg.1-1_i386.changes
  9. Deal with discovered problems
  10. Install and test the build ...
  11. When everything is ready, create a signed tag:
    $ git tag -s debian/7.8.6~dfsg.1-1
  12. Call for a Debian developer and ask for a sponsored upload