AutoPkg and Munki are a great combination to keep client machines updated with the latest versions of software. UnRarX (at least as of this writing) has kind of a funky situation with AutoPkg, though. The AutoPkg download recipe is currently downloading the beta of 2.2 instead of the final release of 2.2.
What makes this complicated are a few things:
- When you launch up UnRarX 2.2B, the app itself checks for an update and then prompts you to upgrade to UnRarX 2.2.
- The binary for 2.2B and 2.2 is exactly the same (if you do an MD5 check on /Applications/UnRarX.app/Contents/MacOS/UnRarX for both version, they turn up the same hash).
- If you do a
makepkginfo -f /Applications/UnRarX.app/Contents/Info.plist
an installs array with the CFBundleVersion will come up instead of an MD5 checksum on the file itself.
- As far as Munki’s concerned, 2.2B is a higher version number than 2., which makes sense.
It’s a bit of a mess, because 2.2B appears to be higher than 2.2, but it’s essentially the same binary as 2.2… and it prompts you to upgrade to 2.2 when you launch it.
So how do you get your 2.2B clients “upgraded” to 2.2? I had to do a few things.
First of all, I got the output of
just to get the basic format for the installs array.
Then I ran
on each version to get the unique checksum, and I modified the installs array to point to that file and to use that hash instead of the one for the executable.
Finally, I changed the version number in Munki of the 2.2B to 1.0 (or some other arbitrarily lower number than 2.2).
Once I did that, my clients says 2.2 as an upgrade to the existing 2.2B and then upgraded. I’ve also had to temporarily turn off the AutoPkg recipe for UnRarX, because the Sparkle feed is still showing 2.2B.
Leave a Reply