livecode
livecode copied to clipboard
LCB: Package Specification
The original (current) package format is specified in the script.h header file.
This is a revised package format specification which supersedes the one there which will be used for future iterations.
The current format is partially documented in sections with a (current) suffix - these will be removed when we move entirely to the new (revised) format.
Per RFC 6838 I propose application/vnd.livecode.builder-package.
I suggest using "Whole-archive signature" vs. "Per-file signature".
In regards to the mime-type then we should perhaps think about these as a whole. We have the following files (currently) to think about:
- LiveCode Builder Source Files
- LiveCode Builder Compiled Modules
- LiveCode Builder Packages
- LiveCode Stacks (should script-only stacks be distinct mime-type wise?)
- LiveCode Server Scripts
Perhaps we should have a different spec file dealing with mime-types for things in the LiveCode world?
@runrevmark I agree. Let's defer MIMEtypes to a separate discussion.
- I'd like to suggest using RFC 2119 in this spec.
- You asked me to remind you to add a note about which hash to use.
@runrevmark Can you add a bit about the unpacked representation? What about unpacking the ${LC_MODULE_DIR}/org.example.foo.lce package into the ${LC_MODULE_DIR}/org.example.foo.lce/ directory?
@peter-b: Can you clarify what you mean? The unpacked representation is just the unpacked zip...
Suppose we have a directory /path/to/dir/ in the module search path.
This directory is permitted to contain:
- bare modules (
.lcmfiles) - extension archives (
.lcefiles) - presumably, unpacked extensions, which I'm assuming should be a directory
If the .lce file is unpacked directly, e.g. via
$ cd /path/to/dir/ && unzip org.example.foo.lce
then the contents are dumped into /path/to/dir/, which is presumably undesirable.
So the main question is: when I unpack org.example.foo.lce as an unpacked module in the search directory /path/to/dir, what should its directory be called?
📝 Hi @runrevmark, I haven't been able to verify that you've signed our LiveCode Contributor's Agreement.
If you have previously signed the Contributor's Agreement, I may not be able to detect it because you haven't linked your GitHub account to your LiveCode account.
Please see the information for contributors for more information.