You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Syncing the Debian packaging information

This is instructions on how to make the debian directory in the SpamAssassin source match that from the Debian and Ubuntu packaging.

The Debian and Ubuntu packages of SpamAssassin have been identical lately. Consistency is nice. If the Ubuntu package version does not contain the string "ubuntu", then it's identical to Debian's.

Grab trunk:

svn checkout http://svn.apache.org/repos/asf/spamassassin/trunk

Grab the SA source package stuff from Debian or Ubuntu: http://packages.debian.org/spamassassin http://packages.ubuntu.com/spamassassin

Click the latest version, then under "Download Source Package" on the right, grab the spamassassin_*.debian.tar.gz file, which contains all the variations from our upstream tarball.

Extract the tarball. It'll create a debian directory.

Delete everything under the debian directory in trunk:

cd trunk; find debian -type f | grep -v .svn | xargs svn rm

Copy the new debian directory into trunk:

cp -a ../debian/* debian/

Remove any unnecessary patches (currently 50_sa-learn_fix_empty_list_handling and 85_disable_SSLv2). Remove their files in debian/patches, and remove them from the file debian/patches/series. Make any other necessary changes (currently none).

Tell svn that you copied the files:

find debian -type f | grep -v .svn | xargs svn add

If the MANIFEST file includes files from the debian directory, update them. Remove everything that starts with debian and replace it with the results of find debian -type f | grep -v .svn | sort. Currently, they're not being included in the MANIFEST. I don't know why not.

Test and commit.

For some reason, I haven't been able to get local binary package builds to throw the necessary errors when attempting to apply a patch which has already been applied upstream. So the best way to test is to build via launchpad. Which is a pain.

If you don't have commit access, open a bug and attach your patch (created via svn diff > update_debian_packaging.patch).

Consider opening bugs to apply remaining Debian patches to trunk. More consistency is better. Current remaining patches:

  • 10_change_config_paths - I would love to see this applied to eliminate the variance between /etc/spamassassin and /etc/mail/spamassassin between Debian based distributions and everything else. Somebody argued against it for backward compatibility, but I think that's a terrible argument because it can easily be handled with symbolic links.
  • 20_edit_spamc_pod is was rejected in bug 6602. It's related to stuff in debian/rules that moves the spamd man page to a different section. Again, I think it's probably better to have it applied.
  • 30_edit_README - I think this is just deleting text that is no-longer relevant, so it should be applied.

Manually rebuilding via launchpad

  1. Commit to trunk.
  2. Go to http://code.launchpad.net/~vcs-imports/spamassassin/trunk
  3. Log in.
  4. Click the "Import Now" button in the "Import details" section just to the right of "The next import is scheduled to run in N hours." (Wait for the import to finish.)
  5. Go to http://code.launchpad.net/~spamassassin/+recipe/spamassassin-daily
  6. Click "Request build(s)" (in green near the bottom). Request a build for a release you can test on. (Wait for the build to finish.)
  7. Install the freshly built packages from that PPA and test.
  8. Request builds for the rest of the releases, and verify that they built successfully.

If a build fails, follow the "buildlog" links. They generally give useful errors. The #launchpad channel on irc.freenode.net is often helpful.

  • No labels