{ Hi! I'm Mike }
I'm a core developer with The Horde Project and a founding parter of Horde LLC - the company behind the world's most flexible groupware platform. This is my personal blog full of random thoughts about development and life in general.
February 9, 2011

Rebuilding CVS

Recent CVS packages provided by Ubuntu include a patch that changes the format the date is written out as. Apparently, this is to preserve backward compatibility with old hook scripts. We discovered this some time ago, while preparing patches for our releases. The problem manifested itself as the packaged tarball having different diffs against the previous version then the official upgrade patches we provided.

We fixed this by repackaging the CVS package we install on our CVS server. I was reminded of this issue recently, when it became necessary to rebuild the host that we host CVS on...of course, I couldn't find the binary package that I had built, so it became necessary to rebuild it again. The following is a summary of what had to be done in case anyone finds it useful.

mkdir my_cvs
cd my_cvs

# if not already installed:
sudo apt-get install build-essential fakeroot dpkg-dev devscripts

#get the cvs source package
apt-get source cvs

#make sure we can build it
apt-get build-dep cvs

# unpack the package
dpkg-source -x cvs_1.12.13-12ubuntu1.dsc

# remove the offending patch
rm cvs-1.12.13/debian/patches/67_date_format_option

# update the version information/changelog
cd cvs-1.12.13
dch -i

# rebuild
debuild -us -uc

The new package will be located in the my_cvs directory...