Bug#729153: mercurial: fails to build from source on stable.
On Fri, 22 Nov 2013, Faheem Mitha wrote: On looking at this more closely, I see the problem. As you can see from the error message, the errors occur at the lines # Move templates and help installed by setup.py to their FHS-correct location mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help $(CURDIR)/debian/mercurial-common/usr/share/mercurial mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/locale $(CURDIR)/debian/mercurial-common/usr/share On my system I have both python 2.6 and 2.7 installed. So I have two directories under debian/mercurial-common/usr/lib, namely 'python2.6' and 'python2.7', faheem@orwell:/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib$ ls python2.6 python2.7 Ok, so given that this is the case, the problem is obvious. Because of the wild card, each of these commands runs twice, for each version of python, and presumably tries to copy the same files each time. So, it fails the second time because the files are already there. I looked at the packaging for mercurial 2.7.2, and those lines were not there. So I guess they were added recently. It looks to me like they are buggy. The attached patch fixes this for me. I'm not guaranteeing that it is correct, of course. Regards, Faheemdiff -r 28fe2be2eabb rules --- a/rules +++ b/rules @@ -8,6 +8,7 @@ dh $@ --with python2,bash-completion PYVERS=$(shell pyversions -vs) +DEFAULT_PYVER=$(shell pyversions -dv) DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) override_dh_auto_build: @@ -77,8 +78,8 @@ debian/cacerts.hgrc \ $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/cacerts.rc # Move templates and help installed by setup.py to their FHS-correct location - mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help $(CURDIR)/debian/mercurial-common/usr/share/mercurial - mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/locale $(CURDIR)/debian/mercurial-common/usr/share + mv $(CURDIR)/debian/mercurial-common/usr/lib/python$(DEFAULT_PYVER)/dist-packages/mercurial/templates $(CURDIR)/debian/mercurial-common/usr/lib/python$(DEFAULT_PYVER)/dist-packages/mercurial/help $(CURDIR)/debian/mercurial-common/usr/share/mercurial + mv $(CURDIR)/debian/mercurial-common/usr/lib/python$(DEFAULT_PYVER)/dist-packages/mercurial/locale $(CURDIR)/debian/mercurial-common/usr/share # remove arch-dependent python stuff find debian/mercurial-common/usr/lib \ -name '*.so' ! -type d -delete , \
Bug#729153: mercurial: fails to build from source on stable.
On Sun, 17 Nov 2013, Javi Merino wrote: control: tags -1 + moreinfo control: severity -1 minor 2013/11/17 Javi Merino vi...@debian.org: I've just done this in a wheezy chroot: apt-get source -t sid mercurial cd mercurial-2.8/ dch --bpo debuild -us -uc And it built mercurial_2.8-2~bpo70+1_amd64.deb and mercurial-common_2.8-2~bpo70+1_all.deb that install and seem to work fine in wheezy. So I don't know what you're doing, all I can say is that it works for me. On looking at this more closely, I see the problem. As you can see from the error message, the errors occur at the lines # Move templates and help installed by setup.py to their FHS-correct location mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help $(CURDIR)/debian/mercurial-common/usr/share/mercurial mv $(CURDIR)/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/locale $(CURDIR)/debian/mercurial-common/usr/share On my system I have both python 2.6 and 2.7 installed. So I have two directories under debian/mercurial-common/usr/lib, namely 'python2.6' and 'python2.7', faheem@orwell:/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib$ ls python2.6 python2.7 Ok, so given that this is the case, the problem is obvious. Because of the wild card, each of these commands runs twice, for each version of python, and presumably tries to copy the same files each time. So, it fails the second time because the files are already there. I looked at the packaging for mercurial 2.7.2, and those lines were not there. So I guess they were added recently. It looks to me like they are buggy. Regards, Faheem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#729153: mercurial: fails to build from source on stable.
On Sat, Nov 09, 2013 at 10:03:40PM +0530, Faheem Mitha wrote: Package: mercurial Version: 2.8-1 Severity: normal Hi. I tried to rebuild 2.8 from source as stable as I usually do. I comment out the override_dh_auto_test: stanza because the tests often fail, but otherwise don't change anything. You could do DEB_BUILD_OPTIONS=nocheck instead. Anyway, the testsuite should pass, it always passes in my computer and only fails in some slow buildds. I got # Move templates and help installed by setup.py to their FHS-correct location mv /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/templates' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/templates': Directory not empty mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/help' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/help': Directory not empty make[2]: *** [install-archindep] Error 1 make[2]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make[1]: *** [override_dh_install] Error 2 make[1]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc failed I'm not sure why this is happening, and haven't really investigated it. Any ideas? What command do you use to build it? 2.8-1 and 2.8-2 build fine on my machine and on the buildds, the only current failure are a couple of timeouts in the testsuite in mips. Cheers, Javi signature.asc Description: Digital signature
Bug#729153: mercurial: fails to build from source on stable.
control: tags -1 + moreinfo control: severity -1 minor 2013/11/17 Javi Merino vi...@debian.org: On Sat, Nov 09, 2013 at 10:03:40PM +0530, Faheem Mitha wrote: I got # Move templates and help installed by setup.py to their FHS-correct location mv /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/templates' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/templates': Directory not empty mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/help' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/help': Directory not empty make[2]: *** [install-archindep] Error 1 make[2]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make[1]: *** [override_dh_install] Error 2 make[1]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc failed I'm not sure why this is happening, and haven't really investigated it. Any ideas? What command do you use to build it? 2.8-1 and 2.8-2 build fine on my machine and on the buildds, the only current failure are a couple of timeouts in the testsuite in mips. I've just done this in a wheezy chroot: apt-get source -t sid mercurial cd mercurial-2.8/ dch --bpo debuild -us -uc And it built mercurial_2.8-2~bpo70+1_amd64.deb and mercurial-common_2.8-2~bpo70+1_all.deb that install and seem to work fine in wheezy. So I don't know what you're doing, all I can say is that it works for me. Cheers, Javi -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#729153: mercurial: fails to build from source on stable.
On Sun, 17 Nov 2013, Javi Merino wrote: On Sat, Nov 09, 2013 at 10:03:40PM +0530, Faheem Mitha wrote: Package: mercurial Version: 2.8-1 Severity: normal Hi. I tried to rebuild 2.8 from source as stable as I usually do. I comment out the override_dh_auto_test: stanza because the tests often fail, but otherwise don't change anything. You could do DEB_BUILD_OPTIONS=nocheck instead. Anyway, the testsuite should pass, it always passes in my computer and only fails in some slow buildds. Thanks for the tip. I got # Move templates and help installed by setup.py to their FHS-correct location mv /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/templates' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/templates': Directory not empty mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/help' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/help': Directory not empty make[2]: *** [install-archindep] Error 1 make[2]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make[1]: *** [override_dh_install] Error 2 make[1]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc failed I'm not sure why this is happening, and haven't really investigated it. Any ideas? What command do you use to build it? 2.8-1 and 2.8-2 build fine on my machine and on the buildds, the only current failure are a couple of timeouts in the testsuite in mips. debuild -uc -us Faheem -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#729153: mercurial: fails to build from source on stable.
Package: mercurial Version: 2.8-1 Severity: normal Hi. I tried to rebuild 2.8 from source as stable as I usually do. I comment out the override_dh_auto_test: stanza because the tests often fail, but otherwise don't change anything. I got # Move templates and help installed by setup.py to their FHS-correct location mv /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/templates /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python*/dist-packages/mercurial/help /usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/templates' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/templates': Directory not empty mv: cannot move `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/lib/python2.7/dist-packages/mercurial/help' to `/usr/local/src/mercurial/mercurial-2.8/debian/mercurial-common/usr/share/mercurial/help': Directory not empty make[2]: *** [install-archindep] Error 1 make[2]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make[1]: *** [override_dh_install] Error 2 make[1]: Leaving directory `/usr/local/src/mercurial/mercurial-2.8' make: *** [binary] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 debuild: fatal error at line 1357: dpkg-buildpackage -rfakeroot -D -us -uc failed I'm not sure why this is happening, and haven't really investigated it. Any ideas? Regards, Faheem -- System Information: Debian Release: 7.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable'), (500, 'oldstable'), (50, 'unstable'), (50, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.2.0-4-amd64 (SMP w/6 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org