summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2017-05-30 09:41:03 +0000
committerintrigeri <intrigeri@boum.org>2017-05-30 09:41:03 +0000
commit6e54c32751efe11764b138a099616a71c627baa9 (patch)
tree1a1d298f9b982f778dbc3bdc8e54d19dcb745086 /manifests
parent6739923a0f75ffc82d0822eb15636cb244b8e31f (diff)
parent9a4adac94a72d8bd8c3d5b4657adac15f43ecd30 (diff)
Merge remote-tracking branch 'lelutin-gitlab/package' (Closes: #5)
Diffstat (limited to 'manifests')
-rw-r--r--manifests/package.pp43
-rw-r--r--manifests/preseeded_package.pp26
2 files changed, 49 insertions, 20 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]
+ }
+
+}
diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp
index 29a981e..e6fcab1 100644
--- a/manifests/preseeded_package.pp
+++ b/manifests/preseeded_package.pp
@@ -1,26 +1,12 @@
-# Install a package with a preseed file to automatically answer some questions.
-
+# This is a wrapper that will be removed after a while
define apt::preseeded_package (
$ensure = 'present',
$content = '',
) {
-
- $seedfile = "/var/cache/local/preseeding/${name}.seeds"
- $real_content = $content ? {
- '' => template ( "site_apt/${::debian_codename}/${name}.seeds" ),
- default => $content,
- }
-
- file { $seedfile:
- content => $real_content,
- mode => '0600',
- owner => 'root',
- group => 0,
- }
-
- package { $name:
- ensure => $ensure,
- responsefile => $seedfile,
- require => File[$seedfile],
+ warning('apt::preseeded_package is deprecated! you should now use apt::package with parameter use_seed set to true instead.')
+ apt::package { $name:
+ ensure => $ensure,
+ use_seed => true,
+ seedfile_content => $content,
}
}