The final step in package development is to install the package to test whether the published package has been packaged properly.
To test installation without requiring root privilege, assign the test user the Software Installation profile. Use the -P option of the usermod command to assign the test user the Software Installation profile.
The following pkg set-publisher command adds all publishers in the my-repository repository to the list of publishers configured in this image:
$ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ $ pkg set-publisher -p my-repository pkg set-publisher: Added publisher(s): mypublisher $ pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/ mypublisher origin online F file:///home/username/my-repository/
Use the -nv options with the pkg install command to see what the install command will do without making any changes to the image. The following command actually installs the package:
$ pkg install mypkg
Packages to install: 1
Create boot environment: No
Create backup boot environment: No
Services to change: 1
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 1/1 3/3 0.0/0.0 787k/s
PHASE ITEMS
Installing new actions 16/16
Updating package state database Done
Updating image state Done
Creating fast lookup database Done
Reading search index Done
Updating search index 1/1
Examine the software that was delivered on the system:
$ find /opt/mysoftware /opt/mysoftware /opt/mysoftware/bin /opt/mysoftware/bin/mycmd /opt/mysoftware/lib /opt/mysoftware/lib/mylib.so.1 /opt/mysoftware/man /opt/mysoftware/man/man1 /opt/mysoftware/man/man1/mycmd.1 /opt/mysoftware/man/man-index /opt/mysoftware/man/man-index/term.dic /opt/mysoftware/man/man-index/term.req /opt/mysoftware/man/man-index/term.pos /opt/mysoftware/man/man-index/term.exp /opt/mysoftware/man/man-index/term.doc /opt/mysoftware/man/man-index/.index-cache /opt/mysoftware/man/man-index/term.idx
In addition to the binaries and man page, the system has also generated the man page indexes as a result of the actuator restarting the man-index service.
The pkg info command shows the metadata that was added to the package:
$ pkg info mypkg
Name: mypkg
Summary: This is an example package
Description: This is a full description of all the interesting attributes of
this example package.
Category: Applications/Accessories
State: Installed
Publisher: mypublisher
Version: 1.0
Build Release: 5.11
Branch: 0
Packaging Date: July 20, 2013 00:54:52 AM
Size: 12.95 kB
FMRI: pkg://mypublisher/mypkg@1.0,5.11-0:20130720T005452Z
The pkg search command returns hits when querying for files that are delivered by mypkg:
$ pkg search -l mycmd INDEX ACTION VALUE PACKAGE basename file opt/mysoftware/bin/mycmd pkg:/mypkg@1.0-0