This document provides a brief overview of the process and roles involved in delivering, maintaining and using software distributions that are based on network accessible package repositories.
Producing and Maintaining Packages
When package maintainers are motivated to take an existing binary distribution of a component and deliver using pkg(5), the Image Packaging System, they begin to learn about pkg(5) and its tools to understand how they can most efficiently package their content and share it with consuming projects. A package maintainer may or may not be affiliated with the project that maintains the source of the component. In the context of packages being used by OS distributions, package maintainers often work downstream of the component development projects.
Package maintainers may decide to publish their packages in their own package repositories, or as is more often the case, decide to integrate their packages into the packages repositories associated with an existing software distribution: be it an OS distribution or a layered software distribution.
Refer to the Producing and Maintaining Packages section for more information.
Defining Distributions
Project owners and project leads define the scope of software distributions that they want to make available to users and maintain over some period of time. As part of the process of defining the distributions, the distribution owners identify the package repositories that are needed to make available the binaries that make up their distributions. The distribution owners decide which packages are allowed to integrate into their distribution's package repositories.
Setting Up and Maintaining Repositories
Whether a package repository is maintained as a standalone resource or is managed as part of a specific distribution, people need to manage the repositories. Management of a repository involves the underlying hosting infrastructure, the pkg(5) repository service, pkg.depotd, and any web server front ends as well as the package content itself. Typically, distribution and repository owners define a workflow that is required to integrate and publish packages and updates to the packages into the repositories.
Repository maintainers and distribution owners may publish news feeds of their repositories to help end users and people assembling distribution understand when packages have been updated or added.
Further information for Repository Maintainers:
Assembling and Maintaining Download and Install Bundles
Since the scope of the package repositories represents the superset of packages that are applicable to a distribution, the distribution owners must decide how many download and install bundles they will make available to enable users to obtain and install an initial subset of the distribution.
In the pkg(5) system the distribution forms are referred to as "images". Bundle assemblers pre-install a select set of packages into an installation image at the "factory", optionally wrap it with an installation program, live CD, etc, and distribute it to end users. The bundle assembler pre-populates each image with pointers to the package repositories that define the overall distribution.
Further information for Bundle Assemblers:
Using the Distributions
End users obtain initially installable or even ready-to-use images of a distribution of interest and begin interacting with the applications and components included in the image. They may either use generic pkg(5)-enabled tools such as the Update Tool GUI and desktop notifier, OpenSolaris' Package Manager GUI, the pkg(1) CLI, application-specific tools that leverage pkg(5) APIs or a combination of all of these technologies to manage updates and add-ons to their installation images.