]> gitweb.fluxo.info Git - hydra.git/commitdiff
Auto install dependencies
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 29 Sep 2016 15:15:22 +0000 (12:15 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 29 Sep 2016 15:15:22 +0000 (12:15 -0300)
doc/todo.rst
lib/hydra/misc
share/hydra/eyaml
share/hydra/mass
share/hydra/newkeys
share/hydra/sync

index 6e66e48fb505cf11cdf355ca3c22de7b9dddd1d1..3a80f24e87a8182d7abb92cadee775c80398f809 100644 (file)
@@ -1,7 +1,6 @@
 TODO
 ====
 
-- auto install dependencies (hiera-eyaml, keyringer, etc).
 - docs.
 - deploy:
   - lockfile.
index 894502dffaa63eead37b260fa55b22700c22eab4..01057608f40f8105c6ea9753ceca34f7d7178b92 100644 (file)
@@ -66,7 +66,7 @@ function hydra_install_package {
 
   if [ "$?" == "1" ]; then
     echo "Installing package $1..."
-    DEBIAN_FRONTEND=noninteractive apt-get install $1 -y
+    DEBIAN_FRONTEND=noninteractive $SUDO apt-get install $1 -y || exit 1
   fi
 }
 
index 24e714d24f2e653f92e328f0540cf362ae1fd4e4..b07d991eb2d779c07f235b74bb04b2ffc5b42e9e 100755 (executable)
@@ -29,10 +29,7 @@ DOMAIN="`echo $FQDN | cut -d . -f 2-`"
 shift
 
 # Check for eyaml
-if ! which eyaml &> /dev/null; then
-  echo "Please install ruby-eyaml"
-  exit 1
-fi
+hydra_install_package hiera-eyaml
 
 # Check for node
 if [ -z "$NODE" ]; then
index a716bae4f7c6c114dfa8f63ef12291ba2d3221c4..ba5bddd85016d27db14a2d38ef9c4c316ca28cc1 100755 (executable)
@@ -18,7 +18,7 @@
 
 # Issue commands with pssh
 function mass_pssh {
-  hydra_check_command parallel-ssh
+  hydra_install_package pssh
   parallel-ssh -P -p 4 -t 0 -h $TMPWORK sudo $COMMAND
 }
 
@@ -32,13 +32,13 @@ function mass_loop {
 
 # Issue commands with dish
 function mass_dish {
-  hydra_check_command dish
+  hydra_install_package dish
   dish -f -p /dev/null -e "sudo $COMMAND" -g $TMPWORK
 }
 
 # Issue commands with mussh
 function mass_mussh {
-  hydra_check_command mussh
+  hydra_install_package mussh
   mussh -H $TMPWORK -c "sudo $COMMAND"
 }
 
index 84180bae3941b454aa7f7e92bbe9b87fd6c058d9..31e5ee4e3dbc9f78fe6b17241e145ab8f3027427 100755 (executable)
@@ -88,8 +88,7 @@ hydra_config_load
 
 # Check for keyringer.
 if ! which keyringer &> /dev/null; then
-  echo "Error: please install keyringer."
-  exit 1
+  hydra_install_package keyringer
 fi
 
 hydra_newkeys $*
index f062c98ef94f6115b2c7d612fb91c55cbd82142a..3727c8e9069ee87abbc084ce60c520b9669d4bc8 100755 (executable)
@@ -83,7 +83,7 @@ hydra_sync $REPOSITORIES
 # Update keyring.
 if [ "$UPDATE_KEYRINGER" != "no" ]; then
   if ! which keyringer &> /dev/null; then
-    echo "Please install keyringer for a full hydra experience."
+    hydra_install_package keyringer
   elif [ ! -e "$HOME/.keyringer/$HYDRA" ]; then
     echo "Initializing keyring for $HYDRA..."
     keyringer $HYDRA init $HYDRA_FOLDER/$repository