Dear People, I've been trying to package subversion, version 1.1.0-rc2, using the already packaged versions as a jumping-off point. However, I have run into some difficulties, and was hoping people on this list would help me out.
I should probably start by saying that I'm trying to use svn-buildpackage to manage my builds, with the "merge with upstream" property set. Basically, this means that svn-buildpackage keeps only the Debian diffs under version control and not the upstream sources, and merges in the upstream sources at build time. I've checked out the sources from the Debian subversion package repository, ie. svn co svn://svn.debian.org/pkg-subversion/trunk/ pkg-subversion It doesn't look like David Kimdon is using svn-buildpackage. 1) Firstly, usually when the Debian sources unpack themselve into a directory, I see the same thing as one would when unpacking the upstream sources, with the Debian diff patched in, creating a debian subdirectory in the source tree etc. However, in the case of the Debian subversion sources, the directory contains another directory, debian, and a copy of the upstream sources eg. ************************************************************************* faheem /tmp/debrepos/subversion/build-area/subversion-1.0.6>ls build-tree debian log subversion-1.0.6.tar.gz ************************************************************************* a) I'm wondering, firstly, how dpkg-source knows how to unpack in this fashion. Before unpacking, the source files look the same as any other Debian sources. b) What is the advantage of doing it this way as opposed to the more usual method? 2) svn-buildpackage does not work with the Debian subversion sources out of the box. I need to change DEB_TAR_SRCDIR=$(shell ls subversion-* | sed -e 's/\.tar.*//') to DEB_TAR_SRCDIR=subversion-1.0.6 before it works. Otherwise I get ********************************************************************** faheem /tmp/debrepos/subversion/trunk>svn-buildpackage --svn-ignore-new -rc -rs -rfakeroot fakeroot debian/rules clean || debian/rules clean ls: subversion-*: No such file or directory /usr/share/cdbs/1/rules/tarball.mk:35: *** You must specify DEB_TAR_SRCDIR. Stop. ls: subversion-*: No such file or directory /usr/share/cdbs/1/rules/tarball.mk:35: *** You must specify DEB_TAR_SRCDIR. Stop. Command fakeroot debian/rules clean || debian/rules clean failed, how to continue now? [Qri?]: *********************************************************************** I think this is because of the different layout of svn-buildpackage as opposed to the default layout. I am unclear whether my solution is the best/correct one and would be glad to get feedback on this from David Kimdon or Eduard Bloch or anyone else who has expertise in this area. 3) When I merge the Debian diff with the upstream 1.1.0-rc2, the unpacked source directory layout (as described in (1), reverts to the `standard' format. Ie. **************************************************************************** faheem /usr/local/src/debrepos/subversion/build-area/subversion-1.1.0-rc2>ls ac-helpers build CHANGES COPYING gen-make.py neon subversion win-tests.py apr build.conf COMMITTERS debian HACKING notes subversion_msvc.dsw www apr-util build-outputs.mk configure dist.sh INSTALL packages svn-config.in autogen.sh build-tree configure.in doc log README tools BUGS ChangeLog.CVS contrib gen-make.opts Makefile.in STATUS TRANSLATING ************************************************************************* Unsurprisingly, this then breaks other things, including patching. Since I don't understand why the Debian subversion sources unpack the way they do, I am poorly situated to fix it. 4) This is really mostly a question for David Kimdon. Have you considered maintaining your Debian packaging upstream as part of the subversion project? The current Subversion source tree contained (for example) spec files for different rpm-based distributions. Faheem.