]> gitweb.fluxo.info Git - metadot.git/commitdiff
Check for installed dependencies at metadot_deps
authorSilvio Rhatto <rhatto@riseup.net>
Sun, 19 Nov 2017 15:31:11 +0000 (13:31 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Sun, 19 Nov 2017 15:31:11 +0000 (13:31 -0200)
metadot

diff --git a/metadot b/metadot
index bc929f3caa35e6e95089a4387c6374d5d683b3d8..0b449a751fff090b1a43cb7e8616636f381459f1 100755 (executable)
--- a/metadot
+++ b/metadot
@@ -107,13 +107,22 @@ function metadot_deps {
   local module="$1"
   local destname
   local dirname
+  local deps_to_install
 
   if [ -d "$MODULES/$module" ]; then
     echo "Resolving dependencies for $module.."
 
     if [ -e "/etc/debian_version" ] && [ -e "$MODULES/$module/dependencies/debian" ]; then
       deps="`grep -v '^#' $MODULES/$module/dependencies/debian | xargs`"
-      LC_ALL=C DEBIAN_FRONTEND=noninteractive sudo apt-get install -y $deps
+
+      # Remove installed packages from list
+      for dep in $deps; do
+        if ! dpkg-query -W -f='${Status}' $dep | grep -q '^install ok'; then
+          deps_to_install="$deps_to_install $dep"
+        fi
+      done
+
+      LC_ALL=C DEBIAN_FRONTEND=noninteractive sudo apt-get install -y $deps_to_install
     fi
 
   else