On Jan 3, 2013, at 11:53 PM, Blair Zajac <
bl...@orcaware.com> wrote:
> I'm using MacPorts to build one large metapackage that contains 200+ packages. This is to distribute an internal application that needs many packages not provided by OS X.
>
> My question relates to how MacPorts should create version numbers for PackageMaker and how many digits does Apple's installer and Munki uses.
>
> For example, I'm packaging Qt 4.8.4 and MacPorts provides an epoch number to support reverting to an older release (say 4.8.4 has a bug and we need to back down to 4.8.3) and a revision number to support changes to the build recipe. So a full version number could be 0_4.8.4_2, with epoch == 0 and revision == 2, where _ separates MacPorts' numbers from the upstream version number. If I convert this to 0.4.8.4.2 and MacPorts updates the build recipe to 0.4.8.4.3, will Munki and/or Apple's installer see this as an upgrade of the package?
If the version number of the package is higher, yes, it will be seen as an update/upgrade.
>
> Do the version parsing tools support any number of .'s?
Munki's do. Not sure about Apple's. I've never seen more than five "components" in Apple package version numbers that I can recall.
> Must I only use digits?
For best results, yes. Version "numbers" containing non-digits may not compare in the way you might expect.
> If an upstream package has a character in the version number, should I strip it?
That is up to you and might depend on other factors.
>
> Finally, since I'm thinking about it, if the large metapackage contains Qt 0.4.8.4.2 and then I build 0.4.8.4.3 as a package and drop that in Munki, will Munki see it as an upgrade to a package contained in the large metapackage?
Are both your large metapackage and Qt listed as managed_installs? If Qt is not a managed_install or a dependency of your large metapackage (that is, your large metapackage "requires" Qt) then Munki doesn't know it should do anything with a new version of Qt you've uploaded.
>
> Thanks,
> Blair
>