Go to main content

Creating Package Repositories in Oracle® Solaris 11.4

Exit Print View

Updated: November 2018
 
 

Checking and Setting Repository Properties

This section describes how to display information about an IPS repository and how to change repository property values.

Viewing Properties that Apply to the Entire Repository

The following command displays a list of the package publishers known by the local repository. The STATUS column indicates whether the publisher’s package data is currently being processed.

$ pkgrepo info -s /var/share/pkgrepos/solaris
PUBLISHER PACKAGES STATUS           UPDATED
solaris   4506     online           2013-07-11T23:32:46.379726Z

The following command displays property information that applies to the entire repository. See the pkgrepo(1) man page for a complete list of repository properties and their descriptions, including specifications of their values.

$ pkgrepo get -s /var/share/pkgrepos/solaris
SECTION    PROPERTY                     VALUE
publisher  prefix                       solaris
repository check-certificate-revocation False
repository signature-required-names     ()
repository trust-anchor-directory       /etc/certs/CA/
repository version                      4
publisher/prefix

The name of the default publisher. Though a repository can contain packages from multiple publishers, only one of the publishers can be set as the default publisher. This default publisher name is used for the following purposes:

  • To identify a package when no publisher is specified in the package FMRI in the pkg command

  • To assign a publisher to a package when the package is published to the repository using the pkgsend publish command (see the pkgsend(1) man page) and no publisher is specified in the package manifest

repository/check-certificate-revocation

A flag for checking the certificate. When set to True, the pkgrepo verify command attempts to determine whether the certificate has been revoked since being issued. This value must match the value of the check-certificate-revocation image property described in Additional Image Properties in Updating Systems and Adding Software in Oracle Solaris 11.4 and in the pkg(1) man page.

repository/signature-required-names

A list of names that must be seen as common names of certificates while validating the signatures of a package. This list is used by the pkgrepo verify command. This value must match the value of the signature-required-names image property described in Image Properties for Signed Packages in Updating Systems and Adding Software in Oracle Solaris 11.4 and in the pkg(1) man page.

repository/trust-anchor-directory

The absolute path name of the directory that contains the trust anchors for packages in this repository. The default is /etc/certs/CA/. Except for the leading / character, this value must match the value of the trust-anchor-directory image property described in Additional Image Properties in Updating Systems and Adding Software in Oracle Solaris 11.4 and in the pkg(1) man page. The value of the image property is relative to the image, so that default value is etc/certs/CA.

If you create your own SSL Certificate Authority certificates, put those certificates in the directory named by repository/trust-anchor-directory and refresh the ca-certificates service as described in Creating a Self-Signed Server Certificate Authority and How to Use a Custom Certificate Authority Certificate in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.4. Put the CA certificates directly in the directory named by repository/trust-anchor-directory; do not put the certificates in another subdirectory.

repository/version

The format version of the repository. This value cannot be set with the pkgrepo set command shown in Modifying Repository Property Values. This value can be set with the pkgrepo create command. Version 4 repositories are created by default. Version 4 repositories support storage of packages for multiple publishers.

Viewing Repository Publisher Properties

The following command displays property information about the solaris publisher in the local repository. Parentheses indicate that the value can be a list of values.

$ pkgrepo get -p solaris -s /var/share/pkgrepos/solaris
PUBLISHER SECTION    PROPERTY         VALUE
solaris   publisher  alias
solaris   publisher  prefix           solaris
solaris   repository collection-type  core
solaris   repository description      ""
solaris   repository legal-uris       ()
solaris   repository mirrors          ()
solaris   repository name             ""
solaris   repository origins          ()
solaris   repository refresh-seconds  ""
solaris   repository registration-uri ""
solaris   repository related-uris     ()
publisher/prefix

The name of the publisher specified in the -p option. If no -p option is specified, this value is the name of the default publisher for this repository, as described in the previous section.

repository/collection-type

The type of packages in this repository. If the value is core, this repository contains all of the dependencies declared by packages in the repository. If the value is supplemental, this repository does not contain all of the dependencies declared by packages in the repository.

repository/description

The purpose and contents of this repository. If this repository is available from an HTTP interface, this value displays in the About section near the top of the main page.

repository/legal-uris

A list of locations for documents that provide legal information about the repository.

repository/mirrors

A list of locations of repositories that contain the same package content as this repository.

repository/name

The name of this repository. If this repository is available from an HTTP interface, this value displays at the top of the main page and in the window title.

repository/origins

A list of locations of repositories that contain the same package content and metadata as this repository.

repository/refresh-seconds

The number of seconds for systems to wait between checks for updated package data in this repository.

repository/registration-uri

The location of a resource that must be used to obtain credentials for access to this repository.

repository/related-uris

A list of locations of repositories that contain other packages that might be of interest.

The following command displays information about the specified section/property in the pkg.oracle.com repository.

$ pkgrepo get -p solaris -s http://pkg.oracle.com/solaris/release \
repository/name repository/description
PUBLISHER SECTION    PROPERTY    VALUE
solaris   repository description This\ repository\ serves\ the\ Oracle\ Solaris\ 11\ Package\ repository.
solaris   repository name        Oracle\ Solaris\ 11\ Package\ Repository

Modifying Repository Property Values

Viewing Repository Publisher Properties shows that the repository name and description property values are not set for the solaris publisher in the local repository. If this repository is available from an HTTP interface and you use a browser to view the content of this repository, you see a default name and no description. After you set these values, the publisher repository/name value is displayed near the top of the page and as the page title, and the publisher repository/description value is displayed in the About section just below the name. You must use the -p option to specify at least one publisher when you set these values. If this repository contains content from more than one publisher, you can set different values for each publisher, or you can specify -p all.

$ pkgrepo set -p solaris -s /var/share/pkgrepos/solaris \
repository/description="Local copy of the Oracle Solaris 11 repository." \
repository/name="Oracle Solaris 11"
$ pkgrepo get -p solaris -s /var/share/pkgrepos/solaris repository/name repository/description
PUBLISHER SECTION    PROPERTY         VALUE
solaris   repository description      Local\ copy\ of\ the\ Oracle\ Solaris\ 11\ repository.
solaris   repository name             Oracle\ Solaris\ 11