]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/aur/manifests/install.pp
Add aura helper
[perso/Immae/Projets/Puppet.git] / modules / aur / manifests / install.pp
diff --git a/modules/aur/manifests/install.pp b/modules/aur/manifests/install.pp
new file mode 100644 (file)
index 0000000..074088e
--- /dev/null
@@ -0,0 +1,28 @@
+define aur::install (
+  $ensure = 'present',
+) {
+
+  case $ensure {
+    'present': {
+      exec { "pacman::aur::install::${name}":
+        require   => Class[aur::aura],
+        command   => "/usr/bin/aura -A ${name}",
+        unless    => "/usr/bin/aura -Qk ${name}",
+        logoutput => 'on_failure',
+        timeout   => 1800,
+      }
+    }
+    'absent': {
+      exec { "pacman::aur::remove::${name}":
+        require   => Class[aur::aura],
+        command   => "/usr/bin/aura -Rs ${name}",
+        onlyif    => "/usr/bin/aura -Qi ${name}",
+        logoutput => 'on_failure',
+      }
+    }
+    default: {
+      fail("Pacman::Aur[${name}] ensure parameter must be either 'present' or 'absent'")
+    }
+
+  }
+}