OpenSolaris

  subsites   code review   repo   packages   bugs   defect   polls   planet
You are not signed in. Sign in or register.

OpenSolaris Project: SVR4 Packaging

View the leaders for this project
Project Observers

Endorsing communities

Installation and Packaging

Welcome to the SVR4 Packaging project

This project is devoted to the enhancement of the packaging tools used in the Solaris product, which are derived from the original System V release 4 project. Solaris has used these tools to install and manage software on the system since Solaris 2.0. The Belenix and Schillix distributions have also adopted the SVR4 tools.

This project does not have a separate discussion list at this time. Please join the Installation and Packaging community mailing list.

Source code

The sources for the tools are available. Quick build instructions are as follows:

  • You must be running a recent build of OpenSolaris (at least ONNV build 71), as there are dependencies on libraries which will not resolve on older builds or Solaris 10 releases.
  • Download the sources. You'll also need SUNWwbint, SUNWldskint, and SUNWzoneint packages for your release. you can get these from the download page. Sources and packages for previous releases can be found at the following location.
  • Unpack the source tarball, pkgadd the SUNWwbint, SUNWldskint and SUNWzoneint packages to your system if you are using a version previous to 20080718. Beginning with 20080718, the packages are archived as datastream packages and can be installed directly from the web site:
pkgadd -d http://dlc.sun.com/osol/install/downloads/current/ SUNWwbint.i386.pkg
Note: These are new build instructions!
  • Edit the tools/env/developer.env file and set CODEMGR_WS to point to the directory that you unpacked the tarball in. Also, make sure to include the location of your Studio 11 compiler binaries in your PATH.
  • You'll also need to install the latest SUNWonbld package. You can download the SUNWonbld package in a tar/bzip fromat from http://dlc.sun.com/osol/scm/SUNWonbld/.
  • Open an sh or bash shell session. Copy the nightly script found in /opt/onbld/bin/nightly into your workspace. In the nightly script there are three places where getopts is called, You need to add a "+" to one or two of them, depending on how you will pass the options to nightly.
while getopts +inS:tV: FLAG
              ^
(This is for if you choose to pass options from the command line)

and

while getopts +AaBCDdFfGIilMmNnOoPpRrS:TtUuWwXxz FLAG $NIGHTLYOPTIONS
              ^
(You add here if you will pass your options thru the NIGHTLYOPTIONS
variable, which is defined in the developer.sh file. This is probably the
one most of you will use.)
  • Run the following:
./nightly -n developer.sh


The build will take only a few minutes, and you'll find the binaries and libraries under the hierarchy pointed to by $ROOT.

Note: The hierarchy of the files in the gate was recently changed. Here is a general mapping of the old directory locations to the new ones:
  • src/bundled/app/makeuuid ==> usr/src/cmd/makeuuid
  • src/bundled/app/pkgcmds ==> usr/src/cmd/pkgcmds
  • src/bundled/app/webstart ==> usr/src/cmd/webstart
  • src/common/cmd/genmsg ==> usr/src/tools/genmsg
  • src/common/cmd/mkmsgs ==> usr/src/tools/mkmsgs
  • src/common/cmd/xgetsh ==> usr/src/tools/xgetsh
  • src/common/lib/libgendb ==> usr/src/lib/libgendb
  • src/common/lib/libpkg ==> usr/src/lib/libpkg
  • src/common/lib/libpkgdb ==> usr/src/lib/libpkgdb
  • src/common/lib/libspmizones ==> usr/src/lib/libspmizones

A browsable version of the source will be delivered to the OpenSolaris source browser soon.

Bugs

The bug category for Solaris packaging is sysadmin/pkg_commands. The bugs may be searched on the bug database page, select Solaris Packaging Utilities as the category; or go directly to the current list of open bugs and enhancement requests.

To submit fixes, please follow the same procedure used for the ONNV project: send an email to the request-sponsor list identifying the bug you're wishing to work on and a sponsor will be assigned to work with you on integrating the fix.

Packaging tools for download and early use

This section will list any early access tools that are made available to the community.

  • Solaris Package Companion – Examine relationships between Solaris metaclusters, clusters, and packages.
  • Package dependency checker

This tool produces a list of packages which the package being checked depends on, in the order to install, which are not currently part of the system. This is a tar file which contains: pkgdeps(sparc) and pkgdepx(x86) binaries.

Usage:

Intel – pkgdepx <systemroot or -> <directorywithpackages> packagename
Sparc – pkgdeps <systemroot or -> <directorywithpackages> packagename

"-" as a system root means check dependancy in the directory only do not check your system.

Examples for use:

pkgdeps – Solaris11/Product SUNWluu SUNWcar SUNWcakr SUNWkvm SUNWcsr SUNWckr SUNWcnetr SUNWcsu SUNWcsl SUNWcsd SUNWadmr SUNWadmlib-sysid SUNWperl584core SUNWmdr SUNWadmfr SUNWmdu SUNWadmap SUNWperl584usr SUNWadmc SUNWesu SUNWadmfw SUNWlibC SUNWlur SUNWluu

pkgdepx – Solaris11/Product SUNWhea SUNWcar SUNWcakr SUNWkvm SUNWcsr SUNWckr SUNWcnetr SUNWcsu SUNWcsl SUNWcsd SUNWhea

These are for use on the Nevada release only.

download pkgdep utilities