pkgng
: This configures the PkgNG Package manager on FreeBSD systems, and adds support for managing packages with Puppet. This will eventually be in
pkgng::repo
: This configures a single PkgNG repository. Instead of defining the repo with the repo URL, we split it up in hostname, mirror_type, protocol
Pkgng::Mirror_type
: The type of a pkg mirrorPkgng::Protocol
: The protocol for a pkg mirror
This configures the PkgNG Package manager on FreeBSD systems, and adds support for managing packages with Puppet. This will eventually be in mainline FreeBSD, but for now, we are leaving the installation up to the administrator, since there is no going back.
If you have purge_repos_d as true - then you'll have no repositories defined unless you define one. You want to do this as you'll want this module to control repos anyway.
To install PkgNG, one can simply run the following: make -C /usr/ports/ports-mgmg/pkg install clean
include pkgng
The following parameters are available in the pkgng
class:
Data type: Stdlib::Absolutepath
Full path to database directory for pkg(8)
Default value: '/var/db/pkg'
Data type: Stdlib::Absolutepath
Full path to cache directory for pkg(8)
Default value: '/var/cache/pkg'
Data type: Stdlib::Absolutepath
Full path to ports directory
Default value: '/usr/ports'
Data type: Array[String]
Extra options to write to pkg.conf(5)
Default value: []
Data type: Boolean
Whether unmanaged repositories should be removed
Default value: true
Data type: Hash
Repositories to manage using create_resources()
Default value: {}
This configures a single PkgNG repository. Instead of defining the repo with the repo URL, we split it up in hostname, mirror_type, protocol and repopath. This way, this resource can be integrated with possible firewalls better.
pkg::repo { 'pkg.example.com': }
The following parameters are available in the pkgng::repo
defined type:
Data type: String[1]
Hostname of the repository
Default value: $name
Data type: Pkgng::Protocol
Transport used to reach the repository
Default value: 'http'
Data type: Pkgng::Mirror_type
Mirror type of the repository
Default value: 'srv'
Data type: Stdlib::Absolutepath
Path of the repository on packagehost
Default value: '/${ABI}/latest'
Data type: Boolean
Whether this repository is currently enabled
Default value: true
Data type: Integer[0,100]
Priority of the repository
Default value: 0
Data type: Optional[Stdlib::Absolutepath]
Path to the file containing the public key for this repository
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path to the file containing known signatures for the repository
Default value: undef
The type of a pkg mirror
Alias of Enum['http', 'none', 'srv']
The protocol for a pkg mirror
Alias of Enum['file', 'ftp', 'http', 'https', 'ssh']