Skip to content
Shawn Walker-Salas edited this page Apr 7, 2017 · 1 revision

Table of Contents

pkg(7): image packaging system

pkg(7), the image packaging system (IPS), is an attempt to design and implement a software delivery system with interaction with a network repository as its primary design goal. Other key ideas are: safe execution for zones and other installation contexts, use of ZFS for efficiency and rollback, preventing the introduction of incorrect or incomplete packages, and efficient use of bandwidth.

Reporting bugs

We would really like to eliminate any bug you encounter—so every bug report we receive is valued. Should you run into a bug, please file an issue.

Getting more involved

Currently, public inquiries may be sent to pkg-inquiry_ww_grp AT oracle.com. Short essays and notes on various topics—such as content filtering, handling of ELF dependencies, and some initial RFEs—can be found in the doc/ directory of the repository. More specific hints can be found in the Developer Information Page. If you want to experiment, you can use the image-create subcommand of pkg(1) to create your own image that subscribes to the release/ repository:

$ pkg image-create -F -p http://pkg.oracle.com/solaris/release/ /path/to/image

(If you're interested in developing pkg(7)-style packages, the best step at present is to join the discussion. As support for multiple package authors is fleshed out, we'll set up additional test publication spaces or repositories.)

The source code is stored in a git repository here at github.com. You can get a copy of the source tree via:

$ git clone https://github.com/oracle/solaris-ips.git

Contributors to all Oracle open-source projects are required to sign the Oracle Contributor Agreement(OCA).

Please contact [email protected] to discuss the details of contributing to the Image Packaging System.

At present, pkg(7) is implemented in Python; we're developing in an ON-sympathetic coding style.

Documentation and architecture process

Current official documentation is available here. Also, you can read the draft manual pages directly out of the source code repository:

Background reading

The project team and former colleague have explained some of the ingoing assumptions behind the project in a series of blog posts: