summaryrefslogtreecommitdiffstats
path: root/modules/package
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2018-10-14 23:35:48 -0400
committerJesse Luehrs <doy@tozt.net>2018-10-14 23:35:48 -0400
commitc667159ff4a6142f320377000e1bbff62f7ad377 (patch)
treea32c52ff1a88785b45f7e0f6c1e284e13a9c689b /modules/package
parent384f54c0136c4fae0630ac3718b45362d0ad9fd2 (diff)
downloadpuppet-tozt-c667159ff4a6142f320377000e1bbff62f7ad377.tar.gz
puppet-tozt-c667159ff4a6142f320377000e1bbff62f7ad377.zip
keep cargo/rust data on persistent storage
to avoid having to recompile cargo stuff on every rebuild
Diffstat (limited to 'modules/package')
-rw-r--r--modules/package/manifests/cargo.pp12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/package/manifests/cargo.pp b/modules/package/manifests/cargo.pp
index f24e06c..2f599b9 100644
--- a/modules/package/manifests/cargo.pp
+++ b/modules/package/manifests/cargo.pp
@@ -1,4 +1,12 @@
-define package::cargo($package, $user, $ensure) {
+define package::cargo($package, $user, $ensure, $home=undef) {
+ $_home = $home ? {
+ undef => $user ? {
+ 'root' => '/root',
+ default => "/home/$user",
+ },
+ default => $home,
+ }
+
case $ensure {
'installed': {
exec { "cargo install $package for $user":
@@ -10,6 +18,7 @@ define package::cargo($package, $user, $ensure) {
require => [
User[$user],
Rust::User[$user],
+ File["${_home}/.cargo"],
];
}
}
@@ -22,6 +31,7 @@ define package::cargo($package, $user, $ensure) {
require => [
User[$user],
Rust::User[$user],
+ File["${_home}/.cargo"],
];
}
}