You are here
Hi, I've just inherited a Turnkey VM which we use to create ISOs of our product.
I've just been tasked with putting in openVPN and easy-RSA (much like ssh) into this deployment for a new feature that has been added.
I've pieced thru the make files (not an easy feat) and come up in the /usr/share/fab/product.mk file. I've noted that the fab-plan-resolve call creates a list of all the files to download into the ISO by using the command:
fab-plan-resolve plan/main --bootstrap=/turnkey/fab/bootstraps/wheezy --output=build/root.spec -D 'FAB_ARCH=amd64' -D 'FAB_HTTP_PROXY=http://127.0.0.1:8124' -D 'AMD64=y' -D 'RELEASE=debian/wheezy' -D 'DISTRO=debian' -D 'CODENAME=wheezy' -D 'DEBIAN=y'
But when I try to run that command by itself I get an error:
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 119, in main
subplan = Plan.init_from_file(arg, cpp_opts, pool_path)
File "/usr/lib/fab/pylib/plan.py", line 204, in init_from_file
return cls(cls._parse_plan_file(plan_file_path, cpp_opts), pool_path)
File "/usr/lib/fab/pylib/plan.py", line 182, in _parse_plan_file
processed_plan = cpp.cpp(path, cpp_opts)
File "/usr/lib/fab/pylib/cpp.py", line 80, in cpp
raise ExecError(" ".join(command), e.exitcode, trapped_stderr)
executil.ExecError: non-zero exitcode (1) for command: cpp plan/main -Ulinux -DFAB_ARCH=amd64 -DFAB_HTTP_PROXY=http://127.0.0.1:8124 -DAMD64=y -DRELEASE=debian/wheezy -DDISTRO=debian -DCODENAME=wheezy -DDEBIAN=y
plan/main:1:24: fatal error: turnkey/base: No such file or directory
compilation terminated.
Can anybody point me to why this calls fails because of a non-existant directory but normally runs fine and / or how can I add these 2 new packages into the ISO?
Thanks,
Kevin
Looks like it can't find turnkey/base plan...
Out of interest I just had a quick play to test my conjecture and it seems to be sound... I edited plan/main to use absolute paths, so:
becomes: That gets us a little further but now we encounter issues with the relative paths in /turnkey/fab/common/plans/turnkey/base:Out of interest I tried to see if it would still work with the absolute paths hardcoded and it appears to (although TBH I did test making all the way to ISO):
(and build/root.spec contains the package list for LAMP...)
So out of interest, what exactly are you trying to achieve? If you merely need to add some packages then add them to plan/main (or make a new plan/file). If you need to execute some other code then edit conf.d/main (or make a new conf.d/file - remember need to make it executable and conf.d scripts are processed in alpha-numeric order...)
Also as an FYI; whilst still technically only an RC TKLDev v14.0 is working pretty nicely if you wanted to try a v14.x/Jessie based build! :)
Add new comment