I am creating a release with reltool. The output folder rel/lib contains all the applications with their ebin folders packed into .ez archives, e.g. for crypto:
crypto-2.2
crypto-2.2/priv/ (with some files in the priv folder)
crypto-2.2.ez
crypto-2.2.ez/crypto-2.2/ebin/crypto.app
crypto-2.2.ez/crypto-2.2/ebin/ (with some .beam files in the ebin folder)
I start erl in the rel folder. The path to the ebin folder is in the code path, i.e. code:get_path(). returns amongst other (and similarly for other apps in the lib folder):
"/usr/home/g/work/project/rel/lib/crypto-2.2.ez/crypto-2.2/ebin"
But yet when trying to call systools:make_tar("releases/0.1/project"). it complains that it can't find the .app files (for all the apps mentioned in the release):
crypto: File not found: "crypto.app"
I see the .app file is in the archive, it's only that systools can't see it because of some reason. I tried to specify the ebin folder when calling make_tar using the path option but it doesn't seem to be working (the same error that crypto.app is missing). Also:
file:consult("/usr/home/g/work/project/rel/lib/crypto-2.2.ez/crypto-2.2/ebin/crypto.app").
gives me: {error,enotdir}.
Maybe systools doesn't handle archives yet? Is there any other way of creating the tar archive from a release made with reltool? Any help would be greatly appreciated.