I successfully built my first appliance and put it into production a while back.  It was based on LAMP.

I sat down today and started a new one based on Core.  I found that after I renamed the folder from /turnkey/fab/products/core to /turnkey/fab/products/test, I could no longer build it.  My original product was renamed this way, and builds just fine, but I can't remember if I had to do something else when I renamed it.  It runs into an error where make is looking in the original folder for the changelog:

# apply the product-local removelist
# update initramfs (handle reconfigured initramfs scripts)
fab-chroot build/root.patched "update-initramfs -u"
update-initramfs: Generating /boot/initrd.img-3.2.0-4-686-pae
df: Warning: cannot read table of mounted file systems: No such file or directory
/var/tmp/mkinitramfs_6cOSyD/scripts/casper-bottom/25autologin: 13: .: Can't open /scripts/casper-functions
/var/tmp/mkinitramfs_6cOSyD/scripts/casper-bottom/25singleuser_shell: 6: .: Can't open /scripts/casper-functions
/var/tmp/mkinitramfs_6cOSyD/scripts/casper-bottom/25ssh_emptypw: 6: .: Can't open /scripts/casper-functions
fab-chroot build/root.patched "rm -rf /boot/*.bak"
# tagging package management system with release package
# setting /etc/turnkey_version and apt user-agent
/usr/share/fab/make-release-deb.py /turnkey/fab/products/core/changelog build/root.patched
Traceback (most recent call last):
  File "/usr/share/fab/make-release-deb.py", line 124, in <module>
  File "/usr/share/fab/make-release-deb.py", line 121, in main
    make_release_deb(path_changelog, path_output, depends)
  File "/usr/share/fab/make-release-deb.py", line 85, in make_release_deb
    name, version, maintainer = parse_changelog(path_changelog)
  File "/usr/share/fab/make-release-deb.py", line 64, in parse_changelog
    firstline = file(path).readline()
IOError: [Errno 2] No such file or directory: '/turnkey/fab/products/core/changelog'
make: *** [build/stamps/root.patched] Error 1

You can see here at the end it's looking in the wrong place for the changelog.  The correct path would be /turnkey/fab/products/test/changelog.  And it is in that test folder where the build was initiated.  It gets most of the way through the build process and fails I think at the tail end of building root.patched.


I git-cloned lamp again to see if it did the same thing.  It does... but it is also looking for /turnkey/fab/products/core/changelog.  So I left an unmodified and unbuilt core folder, and now everything builds.  Very strange.  My completed appliance will still build even with that folder not present.

Jeremy Davis's picture

When I've been working on a new TKLDev build, I've just forked the repo on GitHub, then renamed it (in my personal GitHub repo).

Regardless though, what your doing should work (in my head anyway...) although, my guess is that perhaps you still need to original repo there too...? Perhaps try that....

Add new comment