diff options
author | Varac <varac@leap.se> | 2017-06-27 13:57:43 +0200 |
---|---|---|
committer | Varac <varac@leap.se> | 2017-06-27 13:57:43 +0200 |
commit | 3bed48fba6ae35813b8c4413887aba5262c43689 (patch) | |
tree | 75595f81892da069002af27f361c41ac6381cd96 /manifests/package.pp | |
parent | 5d001efb65f4ac2afa39d17b7b62d4f861f450a3 (diff) | |
parent | f3db3309f3a3fc5ee0f621593ed83805798f7890 (diff) |
Merge remote-tracking branch 'shared/master' into leap_master
Diffstat (limited to 'manifests/package.pp')
-rw-r--r-- | manifests/package.pp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/manifests/package.pp b/manifests/package.pp new file mode 100644 index 0000000..e83ac68 --- /dev/null +++ b/manifests/package.pp @@ -0,0 +1,43 @@ +# Install a package with a preseed file to automatically answer some questions. +define apt::package ( + $ensure = 'present', + $use_seed = false, + $seedfile_template = "site_apt/${::debian_codename}/${name}.seeds", + $seedfile_content = '', + $pin = '', + $pin_priority = 1000 +) { + + package { $name: + ensure => $ensure, + responsefile => $seedfile, + } + + if $use_seed { + $seedfile = "/var/cache/local/preseeding/${name}.seeds" + $real_seedfile_content = $seedfile_content ? { + '' => template ( $seedfile_template ), + default => $seedfile_content, + } + + file { $seedfile: + content => $real_seedfile_content, + mode => '0600', + owner => 'root', + group => 0, + } + + File[$seedfile] -> Package[$name] + } + + if $pin { + apt::preferences_snippet { $name: + ensure => $ensure, + priority => $pin_priority, + pin => $pin, + } + + Apt::Preferences_snippet[$name] -> Package[$name] + } + +} |