On Mon, Jan 18, 2010 at 09:00:07PM +0000, Olly Betts wrote:
> For 1.0, I build source packages separately with this script in SVN:
> 
> xapian-maintainer-tools/debian/make-source-package

Hey, Olly.  Thanks so much for the info.

Unfortunately this script doesn't work for me.

It uses an svn+ssh SVNROOT which I can't access.  I've included a very
simple patch below that fixes this issue, though.

The script also assumes that certain tags exist on the svn repo (for
instance:
svn://svn.xapian.org/xapian/tags/debian-1.1.3+svn13834-1/xapian-core).
I'm not sure I understand this, since it seems to require that the
repo have a debian-specific tag in order to build a deb, which I
imagine would be cumpersome for testing purposes.

I tried my own script:

#!/bin/bash -ex
[ "$1" ]
tarball="$1"
component=$(basename "$tarball" .orig.tar.gz | cut -d_ -f1)
version=$(basename "$tarball" .orig.tar.gz | cut -d_ -f2)
tar zxf "$tarball"
cd ${component}-${version}
SVNROOT="svn://svn.xapian.org/xapian"
svn export -q --force "${SVNROOT}/trunk/${component}/debian" debian
sed -i "s/(\(${version}\).*-\(.\))/(\1-\2)/" debian/changelog
debian/rules maint
debuild -uc -us

but after getting all the way through the build and most of the
debuild, it unfortunately it failed during dh_install:

dh_install --sourcedir=debian/tmp --fail-missing
cp: cannot stat `debian/tmp/usr/include/xapian.h': No such file or directory
dh_install: cp -a debian/tmp/usr/include/xapian.h 
debian/libxapian-dev//usr/include/ returned exit code 1

Any thoughts on how to streamline this for non-maintainers?

jamie.

servo:~/src/xapian 0$ diff -u 
./xapian-maintainer-tools/debian/make-source-packages{.orig,}
--- ./xapian-maintainer-tools/debian/make-source-packages.orig  2010-01-18 
17:15:22.000000000 -0500
+++ ./xapian-maintainer-tools/debian/make-source-packages       2010-01-18 
17:47:51.000000000 -0500
@@ -41,7 +41,7 @@
 DOWNLOAD_BASE="http://oligarchy.co.uk/xapian/";
 
 # Location to checkout debian packaging from.
-SVNROOT="svn+ssh+userv://xapian-...@svn.xapian.org/xapian/"
+SVNROOT="svn://svn.xapian.org/xapian/"
 # Detect if we're on the machine that Xapian SVN is held on, and don't use
 # network to check out sources if so.
 if [ "x`hostname`" = "xatreus" ] && [ -r '/home/xapian-svn' ] ; then
servo:~/src/xapian 1$ 

Attachment: signature.asc
Description: Digital signature

Reply via email to