Road to AIX Support: First Build Milestone for pkg(5)
By tmueller on Aug 12, 2009
Yesterday, August 11, 2009, the Image Packaging System, pkg(5), was compiled and run for the first time on IBM's AIX® 6.1 operating system. All of the API unit tests ran successfully, and 69 of the CLI tests passed. Since I don't have root access on the AIX system being used, the other CLI tests were not expected to pass. AIX support for the command line interfaces is one of the features in the Update Center 2.3 toolkit.
The hardest part about porting pkg(5) to AIX has been to assemble the build environment that is needed to compile the software, especially without root access. Although there are some RPMs available with some of the tools for AIX, these require root access to install. That's one of the nice things about pkg(5) packaging is that it supports user images that do not require root access. Compilation of pkg(5) requires Python, Mercurial, a C compiler, setuputils, pyXML, simplejson, patch, cURL, OpenSSL, and tidy. This list and the instructions for performing the build have been recorded on a project wiki page.
Once the build environment was assembled, modifications to only four files (nine lines) were needed to accomplish the initial port. These changes consisted of modifying the build and test scripts and the utility for getting a canonical operating system name to recognize 'aix' as a valid platform. Work still remains to complete more thorough testing and debugging, packaging of pkg(5) into the toolkit for AIX, and making sure other parts of the toolkit such as the Java API are supported on AIX, but this is a big first step.
With the addition of AIX in the 2.3 release, this expands the multi-platform support for the Image Package System to 5 major platforms (Solaris, Linux, Mac/OS, Windows, and AIX).
® AIX is a registered trademark of IBM.