Packages Not [was Re: ambivalence about fortran (was Re: numpy & non-Apple gcc?)]

Jeremy Lavergne jeremy at lavergne.gotdns.org
Mon Sep 20 14:09:36 PDT 2010


> I'm sorry, but archives != packages, so in reality, the port(1) command is not creating packages in that scenario at all.  Archives are missing a bunch of the necessary metadata to quality as packages, the simplest example of which are deletes.  If you upgrade a port simply by extracting newer and newer archives, you will gradually accumulate cruft until such time as certain ports actual fail to work due to legacy bits being detected (and acted upon) when newer versions of the software were written with the assumption that those files were long gone.  You can potentially create a deletion list simply by "diffing" two archives, but that simply leaves you with the next bit of missing metadata, namely the files to explicitly migrate from version X to version X'.  There are also the post install actions to consider (add a role account user, run a special post-install script, etc) which archives do not provide.  Archives are essentially "dumb", and even the über-simplistic {Free,Net,Open}BSD package manager makes its .tar.gz package files "smarter" by including a special manifest file (+CONTENTS) that has a whole bunch of possible actions embedded in it.
> 
> You're a long way from binary packages with just archives alone, I'm afraid. :(

Archives include the build folder, and the Portfile. To say we'd ruin people with archives you'd have to also agree we already ruin people with the way we run MacPorts entirely.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2435 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macports-dev/attachments/20100920/b9a73956/attachment-0001.bin>


More information about the macports-dev mailing list