Over the last while, we’ve been writing a replacement for the venerable Application Packaging Developer’s Guide.
I started at Sun in the European Localisation group, and writing tools to create (and sometimes hack) SVR4 packages for Solaris was one of the things I had to do quite a bit – I found myself consulting the Application Packaging Developer’s Guide frequently. So, having the opportunity to help write its replacement was pretty cool.
Bart did a great job in defining the structure of the new book, and writing a lot of the initial content. Brock wrote some comprehensive content on package signing, SMF and zones, and I’ve been working on the guide since then, using some of the original documentation that Stephen wrote.
Unlike the previous guide, we have fewer examples in this guide. We feel that our man pages are better than the SVR4 packaging man pages were, and already contain useful examples. This guide is meant to compliment our man pages, not replace them.
The guide is a lot shorter than the old book – currently 56 pages, as opposed to the 190 pages in the document it replaces. Some of this is because of the fewer examples we have, but also we don’t have to write about patch creation, complex postinstall or class-action scripting or relocatable packages. IPS is simpler than SVR4 in many ways, though there is a learning curve, which this book aims to help with.
If you use IPS, or have had experience in packaging software for Solaris previously, I’d be interested in hearing your thoughts on the content so far.
Updated: I’ve updated the PDF with the latest content as of today, and made sure there’s a datestamp on the file, so you can tell which version you’re reading. Changelog below (though I’ve not put the source back to the gate, yet, so these changesets will likely be collapsed)
changeset: 2576:6b14edfc38b5 tag: tip user: Tim Foster date: Fri Oct 21 09:49:15 2011 +1300 description: Add another example to chpt14, republishing under a new publisher name changeset: 2575:0cf619c409b1 user: Tim Foster date: Thu Oct 20 15:51:22 2011 +1300 description: complete the SVR4 conversion example in appendix2 changeset: 2574:3a671202fd35 user: Tim Foster date: Thu Oct 20 12:09:48 2011 +1300 description: Rewrite the var/share discussion in chapter 10 Add macros and use them throughout the book Add a datestamp and logo to the cover page use hg identify for versioning add more text explaining why we don't "cross the streams" Add note on Immutable Zones to chapter1 Nobody uses fax machines anymore, do they? Add text on pkg.human-version to chapter 3 Add content for the user action Add content for the group action Introduce the constraints/freezing section of chapter 6 Reference constraints/freezing section in chapter 7 Describe XXX sections more clearly
Updated: I’ve added more stuff, replaced the links, but not yet pushed these changes to our external gate. Changelog below.
timf@linn hg log -r 2577: changeset: 2577:83de3ed97341 user: Tim Foster date: Fri Oct 21 16:23:37 2011 +1300 description: Break up chpt5 Move XXX for versioning disussion to chpt3 Fix table of contents changeset: 2578:df045bbafc98 user: Tim Foster date: Fri Oct 21 17:19:22 2011 +1300 description: Write content for mediated links, with an example changeset: 2579:1c3d87d950e6 tag: tip user: Tim Foster date: Fri Oct 21 17:26:50 2011 +1300 description: Move XXX for versioning disussion to chpt3 (fix build)
Updated: Almost at the final version – there’s a few small changes to make, but I’ve updated the links to the pdf of that version now, which hasn’t yet been pushed to the gate. Too many commit messages to indicate what’s changed unfortunately.
Updated: More minor changes and some style/branding tweaks. I’ve updated the pdf links above (2011-11-07:16:40:12-NZDT 8e2ee40e0bfb tip)
Updated: wikis.sun.com seems to be having issues. So in the meantime, there’s a local copy here