Sometimes it's all about the aesthetics.

7/05/2009

Package things in Leopard? Meh.

Right now there are at least two type of official package registering method in Mac OS X Leopard. The old style of package registering involves a bundled directory with literally no good way to manage it. The new style of package registry is a sqlite3 database, which is potentially a nice one. However according to the manual of pkgutil:

     --forget package-id
                 Discard all receipt data about package-id, but do not touch
                 the installed files.  DO NOT use this command from an
                 installer package script to fix broken package design.
SO YOU ARE NOT SUPPOSED TO FIX WHAT APPLE SHOULD HAVE DONE ALREADY.

Alright, I can still do a query tool, right?

Here it is.

Notes:

  1. BASH is not enough. Perl and PerlObjCBridge were use read plist data.
  2. It seems to be not allowed to read the database file without administration privilege, and the framework seems to be private.
  3. If you know how to get the installation time from the old fashion Archive.bom/Info.plist combination, please comment. I'd love to add that into the tool.

No comments: