cj1974's picture

Hi,

I am trying to make a devbuild using " make FAB_POOL=y". But I got a failure like below:

root@tkldev products/core# make FAB_POOL=y

deck /turnkey/fab/bootstraps/jessie build/bootstrap
fab-apply-overlay /turnkey/fab/common/overlays/turnkey.d/apt build/bootstrap;
fab-chroot build/bootstrap --script /turnkey/fab/common/conf/turnkey.d/apt;
fab-chroot build/bootstrap "echo nameserver 8.8.8.8 > /etc/resolv.conf";
fab-chroot build/bootstrap "echo nameserver 8.8.4.4 >> /etc/resolv.conf";
touch build/stamps/bootstrap
fab-plan-resolve plan/main  --bootstrap=/turnkey/fab/bootstraps/jessie --output=build/root.spec -D 'FAB_ARCH=amd64' -D 'FAB_HTTP_PROXY=http://127.0.0.1:8124' -D 'AMD64=y' -D 'RELEASE=debian/jessie' -D 'DISTRO=debian' -D 'CODENAME=jessie' -D 'DEBIAN=y'
Traceback (most recent call last):
  File "/usr/lib/fab/wrapper.py", line 34, in <module>
    CliWrapper.main()
  File "/usr/lib/python2.7/dist-packages/pyproject.py", line 388, in main
    commands.run(name, args)
  File "/usr/lib/python2.7/dist-packages/pyproject.py", line 261, in run
    command.module.main()
  File "/usr/lib/fab/pylib/cmd_plan_resolve.py", line 109, in main
    plan = Plan(pool_path=pool_path)
  File "/usr/lib/fab/pylib/plan.py", line 213, in __init__
    from pyproject.pool.pool import Pool
ImportError: No module named pool.pool
/usr/share/fab/product.mk:476: recipe for target 'build/stamps/root.spec' failed
make: *** [build/stamps/root.spec] Error 1

 

Is there a doc describling how to make a build from a pool of deb package? Thanks for the help!

 

Regards,

 

Jin 

 

Forum: 
Jeremy Davis's picture

Your error message ("from pyproject.pool.pool import Pool ImportError: No module named pool.pool") suggests that you do not have Pool installed. Pool in turn has a number of TurnKey specific dependencies (which aren't currently packaged).

TBH the documentation is not very good. I have successfully used Pool in the past but it was a pain to set up and although I got it all working the notes that I took at the time are inadequate and unhelpful.

Ideally I'd like to include Pool (and Chanko etc) in TKLDev by default in v14.2 but I can't guarantee it.

Sorry that I can't provide much help ATM, but sometime really soon I will try to set it all up again from scratch; improving my notes along the way and publish them somewhere.

cj1974's picture

Thanks for the hint. I went ahead to install the Pool and other dependent pacakge. Now I get "pyproject.pool.pool.Error: no pool found (POOL_DIR=/turnkey/fab/pools/jessie)" error. 

root@tkldev products/core# make FAB_POOL=y

deck /turnkey/fab/bootstraps/jessie build/bootstrap
fab-apply-overlay /turnkey/fab/common/overlays/turnkey.d/apt build/bootstrap;
fab-chroot build/bootstrap --script /turnkey/fab/common/conf/turnkey.d/apt;
fab-chroot build/bootstrap "echo nameserver 8.8.8.8 > /etc/resolv.conf";
fab-chroot build/bootstrap "echo nameserver 8.8.4.4 >> /etc/resolv.conf";
touch build/stamps/bootstrap
fab-plan-resolve plan/main  --bootstrap=/turnkey/fab/bootstraps/jessie --output=build/root.spec -D 'FAB_ARCH=amd64' -D 'FAB_HTTP_PROXY=http://127.0.0.1:8124' -D 'AMD64=y' -D 'RELEASE=debian/jessie' -D 'DISTRO=debian' -D 'CODENAME=jessie' -D 'DEBIAN=y'
Traceback (most recent call last):
  File "/usr/lib/fab/wrapper.py", line 34, in <module>
    CliWrapper.main()
  File "/usr/lib/python2.7/dist-packages/pyproject.py", line 388, in main
    commands.run(name, args)
  File "/usr/lib/python2.7/dist-packages/pyproject.py", line 261, in run
    command.module.main()
  File "/usr/lib/fab/pylib/cmd_plan_resolve.py", line 109, in main
    plan = Plan(pool_path=pool_path)
  File "/usr/lib/fab/pylib/plan.py", line 214, in __init__
    self.pool = Pool(pool_path)
  File "/usr/local/lib/pool/pylib/pool.py", line 979, in __init__
    kernel = PoolKernel(path)
  File "/usr/local/lib/pool/pylib/pool.py", line 675, in __init__
    raise Error("no pool found (POOL_DIR=%s)" % self.path)
pyproject.pool.pool.Error: no pool found (POOL_DIR=/turnkey/fab/pools/jessie)
/usr/share/fab/product.mk:476: recipe for target 'build/stamps/root.spec' failed
make: *** [build/stamps/root.spec] Error 1

 

Jeremy Davis's picture

If not, then you'll need to create it. If it's already there then make sure that it is initialised. IIRC it's "pool-init /turnkey/fab/pools/jessie". You'll also need to build a buildroot (if you haven't already). You can then register the package source within pool.

You will need to use Chanko to pull all the required packages from the Debian repo. The chanko archive will then also need to be registered with pool.

TBH I anticipate that you will have further issues yet. I'll do my best to help you as I go, but as I said in my last post, really I need to step through the whole process and document it properly...

Add new comment