GSoC idea for the binary issue (yet again)
Jordan K. Hubbard
jkh at apple.com
Tue Mar 29 09:32:55 PDT 2011
On Mar 29, 2011, at 8:44 AM, Anders F Björklund wrote:
>> If I'm getting you right, you think the Portfile for the binary archive contains unnecessary information.
> Yes. Specifically, a bunch of build-time stuff (and Tcl).
> For a binary package format, it would be "better" to have
> the metadata available in some kind of "markup" instead.
> (even if it's just a silly text format, and not real ML)
> That way you can read it from any language, not just Tcl ?
> i.e. read +COMMENT/+DESC/+CONTENTS, instead of +PORTFILE
I have to say that I somewhat disagree with you here. The appropriate Tcl commands are already available in the Portfile, and extracting this out and/or converting it to another metadata format strikes me as needless additional complexity (and any additional complexity has the potential to outright sink things in this space, considering how long we've been trying to make it happen). Simply archiving the Portfile is extremely simple, the process of executing parts of it selectively (the relevant code being borrowed / imitated straight from ports) somewhat less so but still quite tractable. Additionally, I do think that the Portfile in the package has some additional value as "provenance" - you can extract it and get a pretty good idea how the package was built and where its original sources came from. It's also quite possible that, over time, MacPorts will add additional actions to the Portfile (I still need to go look to see when and where the "notes" directive is executed) and if we're already bundling it, it should be easy enough to teach pkg to run more stuff out of it vs having to go revisit the intermediate metadata and extend it.
More information about the macports-dev