« PSIG 102 | QTKit: 1990s Multimedia Wrapped in 1980s Objects | Main | PSIG 104 | JS <3 ObjC »
PSIG 103 | PackageMaker
Monday, June 25, 2007
(What is PSIG? | PSIG 103 announcement)
Items of Interest
- We note a new version of the disassembly tool otx and check out some of its new features. I must say... I get some warm fuzzies from the way it's released in public domain and anonymously :)
- Programming in Lua
- Dark Carnival
- Einstein: His Life and Universe
- Dave mentions that he filed a bug report on the aforementioned issue revealed by DDHidLib's device browser. Apple closed the report citing no problems, and lo, the latest version of OS X indeed does not have the bug. We verified that it still is around on 10.4.8, however. Apparently somebody fixed it some time between 10.4.8 and 10.4.9!
- Infinite Cat Project: =^_____^=
- The Psychology of Computer Programming
- Micro-ISV
- Frontiers of Justice
- It is agreed that the best way to update OS X is via the combo updater which one downloads from the Apple site, as it tends to be much more reliable than Software Update.

Installer packages
.pkg -- The package format includes two key components: archive.pax.gz, where files are gzipped up with the pax archiving tool, and archive.bom, which contains the permissions metadata pax can't handle.
.mpkg -- Meta-packages are packages of packages, often used by Apple for system software. This is what enables the screen of checkboxes that allows the user to specify which components to install.
PackageMaker.app is Apple's GUI tool for making .pkg files. It's nice in that it gives you a sort of realtime preview of your installer, but it's hard to understand and crashy (it actually crashed during the demo). One thing to note is that when PackageMaker refers to "root," it's actually talking about your source folder, where you recreate your directory structure. Another thing interesting is that if you set your identifier (i.e. com.violasong.pkg.killerapp) in the package version, the install button will display "Upgrade" instead of "Install" if it detects an older version.
Other notable tools are Iceberg, an open source GUI packaging tool with a more direct UI, and the Pacifist extraction tool, useful for extracting your files without Installer.app for sanity-checking purposes.
It is recommended that you use GUI packaging tools only to generate the required description.plist and info.plist files, which can then be modified and reused to work with an automated command line solution. Wolf gives us a handy script that provides just that! You will unfortunately have to decipher a code in order to acquire said script.

Or if you are lame, you can click here instead. Enjoy!
Art notes: I have explored a few different possibilities in anthropomorphizing packagemaker.app.
- In my polisci notebook, a doodle of cheery young fairy girl packaging a sweet potato into a box. There is also a bad sketch of an elf wrapping a pumpkin in a square of cloth.
- In Photoshop, a blood-soaked, battle-scarred humanoid with glowing eyes and long green hair, packaging a small magic fruit into a golden capsule. After several evenings of high-res labor, I pretty much deemed it unfit for public viewing or further development.
- In Photoshop, a weeping grayscale Cherokee man holding a large cracked egg.
- In my proper sketchbook, a hasty pen drawing of an ugly version of the fairy girl holding a small version of the humanoid's magic fruit capsule.
- Also in my sketchbook, a terrible pencil sketch of a foodservice operator eating the .PKG icon; the only image I decide to show the world, naturally.
11:05 PM