mercurial 1.3.1 on etch
Hi,
I'm trying to build mercurial 1.3.1 on etch from the unstable sources, and
I think I'm close. I'm currently getting
faheem@etch:/usr/local/src/mercurial/mercurial-1.3.1/debian$ debuild binary
dh --with quilt binary
dh_install --with quilt
cp: cannot stat `debian/tmp/debian/tmp/usr/lib': No such file or directory
dh_install: command returned error code 256
make: *** [binary] Error 1
debuild: fatal error at line 1210:
couldn't exec fakeroot debian/rules: Bad file descriptor
Versions of debhelper and quilt I have installed are
faheem@etch:/usr/local/src/mercurial/mercurial-1.3.1/debian$ dpkg -l debhelper
quilt
ii debhelper 7.0.15~bpo40+2 helper
programs for debian/rules
ii quilt 0.46-7 Tool to work
with series of patches
I tried to backport a more recent version of debhelper, but it seems hard.
So, it is trying to use debian/tmp/debian/tmp/usr/lib instead of
debian/tmp/usr/lib. The changes I made to control and rules appear below. If
you don't have rules and control for 1.3.1 conveniently handy, they apear after
the changes. Any idea how I can fix this?
Regards, Faheem.
********************************************************************
diff -r 5d7b6413e993 -r a4afd75fd0b3 control
--- a/control Thu Aug 06 15:21:24 2009 -0400
+++ b/control Thu Aug 06 22:01:05 2009 -0400
@@ -5,9 +5,9 @@
Uploaders: Vincent Danjean <vdanjean@debian.org>,
Gerardo Curiel <gcuriel@debian.org.ve>,
Vernon Tang <vt@foilhead.net>
-Build-Depends: debhelper (>= 7.0.50), quilt (>= 0.46-7),
+Build-Depends: debhelper, quilt (>= 0.46-7),
patchutils (>= 0.2.25), gettext,
- python-support (>= 0.5.3), python-all-dev (>= 2.5.4-1~), xmlto, asciidoc
+ python-support (>= 0.5.3), python-all-dev, xmlto, asciidoc
Standards-Version: 3.8.2
Homepage: http://www.selenic.com/mercurial/
Vcs-Svn: svn://svn.debian.org/python-apps/packages/mercurial/trunk
diff -r 5d7b6413e993 -r a4afd75fd0b3 rules
--- a/rules Thu Aug 06 15:21:24 2009 -0400
+++ b/rules Thu Aug 06 22:01:05 2009 -0400
@@ -17,7 +17,7 @@
override_dh_auto_install: $(PYVERS:%=install-python%)
install-python%: build-python%
- python$* setup.py install --root $(CURDIR)/debian/tmp
--install-layout=deb
+ python$* setup.py install --root $(CURDIR)/debian/tmp
# Do not hardcode the python interpreter
sed -i '1c#!/usr/bin/python' debian/tmp/usr/bin/hg
********************************************************
rules
********************************************************
#!/usr/bin/make -f
# -*- mode: makefile; coding: utf-8 -*-
%:
dh --with quilt $@
PYVERS=$(shell pyversions -vs)
override_dh_auto_build: $(PYVERS:%=build-python%)
$(MAKE) -C doc man
touch $@
build-python%: mercurial/__version__.py
python$* setup.py build
touch $@
override_dh_auto_install: $(PYVERS:%=install-python%)
install-python%: build-python%
python$* setup.py install --root $(CURDIR)/debian/tmp
# Do not hardcode the python interpreter
sed -i '1c#!/usr/bin/python' debian/tmp/usr/bin/hg
override_dh_install:
dh_install
if test -d $(CURDIR)/debian/mercurial ; then \
$(MAKE) -f debian/rules install-archdep ; \
fi
if test -d $(CURDIR)/debian/mercurial-common ; then \
$(MAKE) -f debian/rules install-archindep ;\
fi
install-archdep:
# Install bash autocompletion.
install -m 644 \
contrib/bash_completion \
$(CURDIR)/debian/mercurial/etc/bash_completion.d/mercurial
# Install system-wide conffiles
echo "# system-wide mercurial configuration file" \
> $(CURDIR)/debian/mercurial/etc/mercurial/hgrc
echo "# See hgrc(5) for more information" \
>> $(CURDIR)/debian/mercurial/etc/mercurial/hgrc
install -m 644 \
contrib/mergetools.hgrc \
$(CURDIR)/debian/mercurial/etc/mercurial/hgrc.d/mergetools.rc
# Symlink docs
rm -rf $(CURDIR)/debian/mercurial/usr/share/doc/mercurial
ln -s mercurial-common
$(CURDIR)/debian/mercurial/usr/share/doc/mercurial
# remove arch-independent python stuff
find debian/mercurial/usr/lib \
! -name '*.so' ! -type d -delete , \
-type d -empty -delete
install-archindep:
# remove arch-dependent python stuff
find debian/mercurial-common/usr/lib \
-name '*.so' ! -type d -delete , \
-type d -empty -delete
override_dh_auto_clean:
cp -a mercurial/__version__.py mercurial/__version__.py.save
$(MAKE) clean
mv mercurial/__version__.py.save mercurial/__version__.py
$(RM) -rv tmp/
$(RM) build-python*
mercurial/__version__.py:
@echo "$@ is missing (you probably call 'make clean' directly)."
@echo "Restore it from sources before building the package"
@echo "Aborting."
exit 1
********************************************************************
control
********************************************************************
Source: mercurial
Section: vcs
Priority: optional
Maintainer: Python Applications Packaging Team
<python-apps-team@lists.alioth.debian.org>
Uploaders: Vincent Danjean <vdanjean@debian.org>,
Gerardo Curiel <gcuriel@debian.org.ve>,
Vernon Tang <vt@foilhead.net>
Build-Depends: debhelper, quilt (>= 0.46-7),
patchutils (>= 0.2.25), gettext,
python-support (>= 0.5.3), python-all-dev, xmlto, asciidoc
Standards-Version: 3.8.2
Homepage: http://www.selenic.com/mercurial/
Vcs-Svn: svn://svn.debian.org/python-apps/packages/mercurial/trunk
Vcs-Browser:
http://svn.debian.org/viewsvn/python-apps/packages/mercurial/trunk/
Package: mercurial-common
Architecture: all Depends: ${misc:Depends}, ${python:Depends}
Recommends: mercurial (= ${binary:Version})
Suggests: wish,
python-mysqldb,
python-pygments,
python-openssl
Conflicts: mercurial (<< ${binary:Version})
Replaces: mercurial (<< ${binary:Version})
Description: scalable distributed version control system (common files)
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
This package contains the architecture independent components of Mercurial,
and is generally useless without the mercurial package.
Package: mercurial
Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends},
${python:Depends}, ucf (>= 2.0020),
mercurial-common (= ${source:Version})
Suggests: qct,
wish,
vim | emacs,
kdiff3 | tkdiff | meld | xxdiff
Description: scalable distributed version control system
Mercurial is a fast, lightweight Source Control Management system designed
for efficient handling of very large distributed projects.
.
Its features include:
* O(1) delta-compressed file storage and retrieval scheme
* Complete cross-indexing of files and changesets for efficient exploration
of project history
* Robust SHA1-based integrity checking and append-only storage model
* Decentralized development model with arbitrary merging between trees
* High-speed HTTP-based network merge protocol
* Easy-to-use command-line interface
* Integrated stand-alone web interface
* Small Python codebase
.
This package contains the architecture dependent files.
Reply to: