[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: git-buildpackage python3, python3.4: not found



Hi Alex,

> $git-buildpackage --git-pbuilder --git-arch=amd64
> dh clean --with python2,python3 --buildsystem=pybuild
>     dh_testdir -O--buildsystem=pybuild
>     dh_auto_clean -O--buildsystem=pybuild
> I: pybuild base:170: python2.7 setup.py clean
> running clean
> removing
> '/home/toor/debian-med/python-multipletau/.pybuild/pythonX.Y_2.7/build'
> (and everything under it)
> 'build/bdist.linux-x86_64' does not exist -- can't clean it
> 'build/scripts-2.7' does not exist -- can't clean it
> I: pybuild base:170: python3.4 setup.py clean
> /bin/sh: 1: python3.4: not found
> E: pybuild pybuild:256: clean: plugin distutils failed with: exit
> code=127: python3.4 setup.py clean
> dh_auto_clean: pybuild --clean -i python{version} -p 3.4 --dir .
> returned exit code 13
> make: *** [clean] Error 13
> gbp:error: Couldn't run 'fakeroot debian/rules clean': fakeroot
> debian/rules clean returned 2

This looks like gbp running "clean" on your host system (check the directory 
shown in the output). After it has run clean, it will build the source 
package and then after it has built the source package it will copy the 
source package into your cowbuilder/pbuilder chroot to actually build the 
package.

To fix that, you need to either:

1) install the packages on your *host* system that are required for 
"debian/rules clean" to work outside the chroot. 

2) tell git-buildpackage not to clean prior to building.

If it's only python3 involved, then (1) is probably the path of least 
resistance.

If other packages are required in the clean stage and they're not available 
for your host system, then that is harder to deal with and you need to think 
about (2). If you have a clean git workflow, this clean-outside-the-chroot 
step is unnecessary and would be a no-op; you should be able to tell git-
buildpackage not to do that. I have in the past added --git-
cleaner=/bin/true to get around this sort of problem but the documentation 
for --git-pbuilder indicates it would ignore this option. There should be 
some way of preventing cleaning before entering the chroot but, as usual 
with our build tools, there are too many levels of indirection involved to 
make this easy to work out (iirc, here it's git-buildpackage → git-pbuilder 
→ cowbuilder → pbuilder → and eventually dpkg-buildpackage ... and I 
probably missed pdebuild in there somewhere).


cheers
Stuart


-- 
Stuart Prescott    http://www.nanonanonano.net/   stuart@nanonanonano.net
Debian Developer   http://www.debian.org/         stuart@debian.org
GPG fingerprint    90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7




Reply to: