The software element with the name attribute set to transfer-ips-install includes sections that define the publishers that are used when the installation image is created, as well as a list of the packages to be installed or uninstalled in the image. The software element with name element set to set-ips-attributes attribute defines which publishers the installed client will be configured to use. For more information see:
In the source element nested within the transfer-ips-install section, edit the publisher name and origin name elements to specify which publisher to use and where the package repository is located. The repository location could be an NFS path or a local directory. You can list multiple publishers. When the distribution constructor attempts to locate packages to install, it searches publishers in the order in which they are listed in this element.
If mirrors for a publisher need to be specified, uncomment and edit the mirror name element.
The following example shows a sample source element.
<source> <publisher name="publisher1"> <origin name="http://example.oracle.com/primary-pub"/> <mirror name="mirror.example.com"/> </publisher> <publisher name="publisher2"> <origin name="http://example2.com/dev/solaris"/> </publisher> <publisher name="publisher3.org"> <origin name="http://example3.com/dev"/> </publisher> <publisher name="publisher4"> <origin name="file:///net/myserver/publisher4/repo"/> </publisher> </source>
For further information about using publishers, see Adding and Updating Software in Oracle Solaris 11.3.
The software_data element with the install attribute lists the set of packages to be installed in order to build a particular type of image, depending on which manifest you are using. For example, the dc_livecd.xml manifest lists the packages needed to build a Live Media image. Each name element lists one package name or the name of a group package that contains many packages.
<software_data action="install"> <name>pkg:/group/system/solaris-desktop</name> <name>pkg:/system/install/gui-install</name> <name>pkg:/system/install/media/internal</name> </software_data>
To add packages to the image, add a name element for each package.
By default, the most current package version available in the specified repository is installed. If you want to install a different version, append the version number to the package reference using the following format:
The Oracle Solaris release version on your system must be the same as the release version of the image that you intend to create with the distribution constructor.Example 1 Adding Packages and Additional Publishers
In this example, a second publisher, mypublisher, and additional packages mypackage1 and mypackage2 are specified.
During the build process, the publishers are checked in the order they are listed. If packages are not found at the first publisher, the next publisher is searched for the specified packages.
<software name="transfer-ips-install" type="IPS"> <destination> <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="/usr/share/distro_const/lang_facets.xml"/> </destination> <source> <publisher name="solaris"> <origin name="http://pkg.oracle.com/solaris/release"/> </publisher> <publisher name="mypublisher"> <origin name="http://mypublisher.company.com"/> </publisher> </source> <software_data action="install"> <name>pkg:/group/system/solaris-large-server</name> <name>pkg:/system/install/text-install</name> <name>pkg:/system/install/media/internal</name> <name>pkg:/mypackage1</name> <name>pkg:/mypackage2</name> </software_data> </software>
You can use the software_data element with the uninstall attribute to uninstall an individual package or a group package definition.
The uninstall attribute is particularly useful if you want to install a full group package but you want to omit one or more individual packages from that group. You can use the uninstall attribute to remove the group package definition and then uninstall individual packages that were installed as part of the group package.
For example, the default Live Media installation image includes a Firefox browser in the desktop group package. To omit the Firefox browser from an image you want to build, you would do the following:
Install the solaris-desktop group package that includes all the software for the usual Live Media desktop. See List the Packages to Install.
Uninstall the solaris-desktop group package definition.
<software_data action="uninstall"> <name>pkg:/group/system/solaris-desktop</name> </software_data>
This action uninstalls only the group package definition, which means that the individual packages are no longer bound into a group definition. All the individual packages within that group are still installed.
Use the uninstall attribute again to uninstall the Firefox package.
<software_data action="uninstall"> <name>pkg:/web/browser/firefox</name> </software_data>
<software_data action="uninstall"> <name>pkg:/group/system/solaris-desktop</name> <name>pkg:/web/browser/firefox</name> </software_data>
Append any additional packages to be uninstalled at the end of the uninstall section of the software_data element.
The source element nested within the transfer-ips-install attribute affects a system after that system has been installed with the image created by using the distribution constructor. It specifies information such as the publisher names and optional mirror names to specify where the installed system can access additional packages.
You can also set IPS attributes in this element. See the IPS property information on the pkg(1) man page.