The Publication Client pkgsend(1)
The image packaging system publication client, pkgsend, allows the publication of new packages
and new package versions to an image packaging repository. Each publication is structured
as a transaction. Transactions may contain actions as described in the section Actions in IPS.
The pkgsend(1) command supports the following subcommands :
Note - The default repository server is https://localhost:10000. To specify a different repository server, use
the -s repository-server option with the pkgsend subcommands.
Table 3-1 pkgsend(1) Subcommands
Subcommand |
Description |
open |
Begins a transaction on the
package specified by pkg_fmri. A transaction_id is outputted when the command executes successfully. Syntax :
pkgsend open -en pkg_fmri
For information about FMRI, see the Solaris Basic Administration Guide. |
add |
Adds an action to the current
transaction. Syntax : pkgsend add actions pkg_fmri |
include |
Adds multiple actions present in each manifest file
to the current transaction. Each line in the file should be the
string representation of an action. Do not use this sub command with the
add, open or close sub-commands. Syntax : pkgsend include [-d basedir] filename |
import bundlefile |
Adds each given bundlefile into
the current transaction. An SVR4 package is an example of a bundlefile. Syntax :
pkgsend import [-T pattern] bundlefile Use the following shell matching rules with the pattern option to add the
timestamp of the file to the action of that file, if the
basename of the files in the bundle match the optional pattern(s).
Note - The basename refers
to the last component of a pathname. For example, in the path /usr/bin/ls,
the basename is ls.
* – Matches everything.
? – Matches any single character.
[seq] – Matches any character in sequence.
[!seq] — Matches any character not in sequence.
Note - When a timestamp is added to a file's actions,
the file will be installed with precisely that timestamp, regardless of the actual
time of installation. This is particularly useful in cases where the software requires a
particular timestamp on the files it reads. For instance, python wants the executable
files .py that are installed to have the same timestamp on the filesystem
as is recorded in the compiled versions (.pyc) of those files.
|
close |
Close the
current transaction. Syntax : pkgsend close [-A] The -A option abandons the current transaction. |
Limitations of the pkgsend(1) Command
Note the following limitations of using the pkgsend command:
Use the pkgsend command only if one or two packages at a time are being published to the repository.
The pkgsend command does not resolve dependencies. If more than one package is being published to the repository, the user must manually resolve all package dependencies.
Note - When you are publishing a newer version of a package to the
repository, specify the FMRI of the package correctly. The new version of the
package will coexist with any prior version already in the repository.