# salt.modules.solarispkg

Package support for Solaris

`salt.modules.solarispkg.` `install`(name=None, sources=None, saltenv='base', **kwargs)

  Install the passed package. Can install packages from the following sources:

      * Locally (package already exists on the minion
      * HTTP/HTTPS server
      * FTP server
      * Salt master

  Returns a dict containing the new package names and versions:

      {'<package>': {'old': '<old-version>',
                     'new': '<new-version>'}}

  CLI Example, installing a datastream pkg that already exists on the minion:

      salt '*' pkg.install sources='[{"<pkg name>": "/dir/on/minion/<pkg filename>"}]'
      salt '*' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]'

  CLI Example, installing a datastream pkg that exists on the salt master:

      salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]'
      salt '*' pkg.install sources='[{"SMClgcc346": "salt://pkgs/gcc-3.4.6-sol10-sparc-local.pkg"}]'

  CLI Example, installing a datastream pkg that exists on a HTTP server:

      salt '*' pkg.install sources='[{"<pkg name>": "http://packages.server.com/<pkg filename>"}]'
      salt '*' pkg.install sources='[{"SMClgcc346": "http://packages.server.com/gcc-3.4.6-sol10-sparc-local.pkg"}]'

  If working with solaris zones and you want to install a package only in the global zone you can pass 'current_zone_only=True' to salt to have the package only installed in the global zone. (Behind the scenes this is passing '-G' to the pkgadd command.) Solaris default when installing a package in the global zone is to install it in all zones. This overrides that and installs the package only in the global.

  CLI Example, installing a datastream package only in the global zone:

      salt 'global_zone' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]' current_zone_only=True

  By default salt automatically provides an adminfile, to automate package installation, with these options set:

      email=
      instance=quit
      partial=nocheck
      runlevel=nocheck
      idepend=nocheck
      rdepend=nocheck
      space=nocheck
      setuid=nocheck
      conflict=nocheck
      action=nocheck
      basedir=default

  You can override any of these options in two ways. First you can optionally pass any of the options as a kwarg to the module/state to override the default value or you can optionally pass the 'admin_source' option providing your own adminfile to the minions.

  Note: You can find all of the possible options to provide to the adminfile by reading the admin man page:

      man -s 4 admin

  CLI Example - Overriding the 'instance' adminfile option when calling the module directly:

      salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' instance="overwrite"

  CLI Example - Overriding the 'instance' adminfile option when used in a state:

      SMClgcc346:
        pkg.installed:
          - sources:
            - SMClgcc346: salt://srv/salt/pkgs/gcc-3.4.6-sol10-sparc-local.pkg
          - instance: overwrite

  Note: the ID declaration is ignored, as the package name is read from the "sources" parameter.

  CLI Example - Providing your own adminfile when calling the module directly:

      salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' admin_source='salt://pkgs/<adminfile filename>'

  CLI Example - Providing your own adminfile when using states:

      <pkg name>:
        pkg.installed:
          - sources:
            - <pkg name>: salt://pkgs/<pkg filename>
          - admin_source: salt://pkgs/<adminfile filename>

  Note: the ID declaration is ignored, as the package name is read from the "sources" parameter.

`salt.modules.solarispkg.` `latest_version`(*names, **kwargs)

  Return the latest version of the named package available for upgrade or installation. If more than one package name is specified, a dict of name/version pairs is returned.

  If the latest version of a given package is already installed, an empty string will be returned for that package.

  CLI Example:

      salt '*' pkg.latest_version <package name>
      salt '*' pkg.latest_version <package1> <package2> <package3> ...

  NOTE: As package repositories are not presently supported for Solaris pkgadd, this function will always return an empty string for a given package.

`salt.modules.solarispkg.` `list_pkgs`(versions_as_list=False, **kwargs)

  List the packages currently installed as a dict:

      {'<package_name>': '<version>'}

  CLI Example:

      salt '*' pkg.list_pkgs

`salt.modules.solarispkg.` `purge`(name=None, pkgs=None, **kwargs)

  Package purges are not supported, this function is identical to `remove()`.

  name
    The name of the package to be deleted

  Multiple Package Options:

  pkgs
    A list of packages to delete. Must be passed as a python list. The `name` parameter will be ignored if this option is passed.

  New in version 0.16.0.

  Returns a dict containing the changes.

  CLI Example:

      salt '*' pkg.purge <package name>
      salt '*' pkg.purge <package1>,<package2>,<package3>
      salt '*' pkg.purge pkgs='["foo", "bar"]'

`salt.modules.solarispkg.` `remove`(name=None, pkgs=None, saltenv='base', **kwargs)

  Remove packages with pkgrm

  name
    The name of the package to be deleted

  By default salt automatically provides an adminfile, to automate package removal, with these options set:

      email=
      instance=quit
      partial=nocheck
      runlevel=nocheck
      idepend=nocheck
      rdepend=nocheck
      space=nocheck
      setuid=nocheck
      conflict=nocheck
      action=nocheck
      basedir=default

  You can override any of these options in two ways. First you can optionally pass any of the options as a kwarg to the module/state to override the default value or you can optionally pass the 'admin_source' option providing your own adminfile to the minions.

  Note: You can find all of the possible options to provide to the adminfile by reading the admin man page:

      man -s 4 admin

  Multiple Package Options:

  pkgs
    A list of packages to delete. Must be passed as a python list. The `name` parameter will be ignored if this option is passed.

  New in version 0.16.0.

  Returns a dict containing the changes.

  CLI Example:

      salt '*' pkg.remove <package name>
      salt '*' pkg.remove SUNWgit
      salt '*' pkg.remove <package1>,<package2>,<package3>
      salt '*' pkg.remove pkgs='["foo", "bar"]'

`salt.modules.solarispkg.` `upgrade_available`(name)

  Check whether or not an upgrade is available for a given package

  CLI Example:

      salt '*' pkg.upgrade_available <package name>

`salt.modules.solarispkg.` `version`(*names, **kwargs)

  Returns a string representing the package version or an empty string if not installed. If more than one package name is specified, a dict of name/version pairs is returned.

  CLI Example:

      salt '*' pkg.version <package name>
      salt '*' pkg.version <package1> <package2> <package3> ...

Current Salt release: 0.17.1

#### Previous topic

salt.modules.solaris_user

#### Next topic

salt.modules.solr

### Quick search

Enter search terms or a module, class or function name.

### Upcoming SaltStack Events

My conferences on Lanyrd