pallet.action.package documentation

Package management action.

package is used to install or remove a package.

package-source is used to specify a non-standard source for packages.


[request rpm-name & {:as options}]

Add an rpm. Source options are as for remote file.



Add a scope to an apt source


[type scope file]

Add a scope to all the existing package sources. Aptitude specific.


Configure the package manager


Format a package source definition


[request deb-name & {:as options}]

Install a deb file. Source options are as for remote file.



Add minimal packages for pallet to function


[session package-name & {:keys [action y force purge enable disable priority], :or {action :install, y true, priority 50}, :as options}]

Install or remove a package.

Options - :action [:install | :remove | :upgrade] - :purge [true|false] when removing, whether to remove all config - :enable [repo|(seq repo)] enable specific repository - :disable [repo|(seq repo)] disable specific repository - :priority n priority (0-100, default 50)

Package management occurs in one shot, so that the package manager can maintain a consistent view.


[session package-manager-args]

Package manager controls.

action is one of the following: - :update - update the list of available packages - :list-installed - output a list of the installed packages - :add-scope - enable a scope (eg. multiverse, non-free)

To refresh the list of packages known to the pakage manager: (package-manager session :update)

To enable multiverse on ubuntu: (package-manager session :add-scope :scope :multiverse)

To enable non-free on debian: (package-manager session :add-scope :scope :non-free)


[session action & options]

Package management.


Provide packager specific options


Control package sources. Options are the package manager keywords, each specifying a map of packager specific options.

:aptitude - :source-type string - source type (deb) - :url url - repository url - :scopes seq - scopes to enable for repository - :key-url url - url for key - :key-id id - id for key to look it up from key server - :key-server - the hostname of the key server to lookup keys

:yum - :name - repository name - :url url - repository base url - :gpgkey url - gpg key url for repository

Example (package-source "Partner" :aptitude {:url "" :scopes ["partner"]})


[session name & {:keys [apt aptitude yum], :as options}]

Add a packager source.


[session & {:keys [yum aptitude pacman brew pkgin], :as options}]

Install a list of packages keyed on packager. (packages session :yum ["git" "git-email"] :aptitude ["git-core" "git-email"])