From 5c35cad4770e0ac36d631ce940170c6e1fbe1871 Mon Sep 17 00:00:00 2001
From: Nico Schottelius <nico@kr.ethz.ch>
Date: Tue, 9 Aug 2011 17:39:21 +0200
Subject: [PATCH] cleanups

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
---
 core/__cdist_is_executable   | 26 ++++++-------
 core/__cdist_object_code_run | 75 +++++++-----------------------------
 core/__cdist_run_shell       |  9 ++---
 3 files changed, 30 insertions(+), 80 deletions(-)

diff --git a/core/__cdist_is_executable b/core/__cdist_is_executable
index 86732742..f2907922 100755
--- a/core/__cdist_is_executable
+++ b/core/__cdist_is_executable
@@ -21,25 +21,23 @@
 # Exec the code for the given object locally and remote
 #
 
-__cdist_run_if_executable()
+__cdist_is_executable()
 {
-   [ $# -gt 1 ] || __cdist_exit_err "<executable> <command> <args>"
+   [ $# -eq 1 ] || __cdist_exit_err "<executable>"
 
-   __cdist_run_if_executable_exec="$1"; shift
-
-   if [ -e "$__cdist_run_if_executable_exec" ]; then
-      if [ -f "$__cdist_run_if_executable_exec" ]; then
-         if [ -x "$__cdist_run_if_executable_exec" ]; then
-            __cdist_echo debug "Running $@ ..."
-            "$@"
+   if [ -e "$1" ]; then
+      if [ -f "$1" ]; then
+         if [ -x "$1" ]; then
+            # Exists and is a correct executable
+            true
          else
-            __cdist_exit_err "$__cdist_run_if_executable_exec exists, but is not executable."
+            __cdist_exit_err "$1 exists, but is not executable."
          fi
       else
-         __cdist_exit_err "$__cdist_run_if_executable_exec exists, but is not a file."
+         __cdist_exit_err "$1 exists, but is not a file."
       fi
+   else
+      # Does not exist
+      false
    fi
-
-   # Exit gracefully if nothing is todo
-   true
 }
diff --git a/core/__cdist_object_code_run b/core/__cdist_object_code_run
index 42e28a6a..53442bbe 100755
--- a/core/__cdist_object_code_run
+++ b/core/__cdist_object_code_run
@@ -24,72 +24,25 @@
 
 __cdist_object_code_run()
 {
+   [ $# -eq 1 ] || __cdist_exit_err "<object>"
+
    set -x
-   __cdist_object_code_run_object="$1"; shift
 
-   # Code local
-   export __cdist_out_object_dir="$__cdist_out_object_dir"
-   __cdist_code_run "$__cdist_object_code_run_object" "${__cdist_name_gencode_local}"
-
-   # Code remote
-   #__cdist_run_remote "__cdist_code_run" \
-   #   "$__cdist_object_code_run_object" "${__cdist_name_gencode_remote}"
-   __cdist_run_remote "echo" "__cdist_code_run" \
-      "$__cdist_object_code_run_object" "${__cdist_name_gencode_remote}; exit 1"
-}
-
-
-#!/bin/sh
-#
-# 2011 Nico Schottelius (nico-cdist at schottelius.org)
-#
-# This file is part of cdist.
-#
-# cdist is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# cdist is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with cdist. If not, see <http://www.gnu.org/licenses/>.
-#
-#
-# This binary is executed on the remote side to execute code
-# 
-
-__cdist_code_run()
-{
-   [ $# -eq 2 ] || __cdist_usage "<object> <type>"
-
-   __cdist_object_self="$1"; shift
-   __cdist_code_type="$1"; shift
-
-   if [ ! -d "$(__cdist_object_dir "$__cdist_object_self")" ]; then
+   if [ ! -d "$(__cdist_object_dir "$1")" ]; then
       __cdist_exit_err "Object undefined"
    fi  
 
-   __cdist_code="$(__cdist_object_code "$__cdist_object_self" "${__cdist_code_type}")"
-
-   __cdist_echo info "Checking code-${__cdist_code_type}"
-
-   if [ -e "$__cdist_code" ]; then
-      if [ -f "$__cdist_code" ]; then
-         if [ -x "$__cdist_code" ]; then
-            __cdist_echo info "Executing code-${__cdist_code_type}"
-            __cdist_run_shell "$__cdist_code"
-         else
-            __cdist_exit_err "$__cdist_code exists, but is not executable."
-         fi
-      else
-         __cdist_exit_err "$__cdist_code exists, but is not a file."
-      fi
+   # Code local
+   export __cdist_out_object_dir="$__cdist_out_object_dir"
+   if __cdist_is_executable \
+      "$(__cdist_object_code "$1" "${__cdist_name_gencode_local}")"; then
+      __cdist_run_shell \
+         "$(__cdist_object_code "$1" "${__cdist_name_gencode_local}")"
    fi
 
-   # Exit gracefully if nothing is todo
-   true
+   # Code remote
+   if __cdist_is_executable \
+      "$(__cdist_object_code "$1" "${__cdist_name_gencode_remote}")"; then
+
+   fi
 }
diff --git a/core/__cdist_run_shell b/core/__cdist_run_shell
index 07fb3d65..fecfba70 100755
--- a/core/__cdist_run_shell
+++ b/core/__cdist_run_shell
@@ -26,11 +26,10 @@ __cdist_run_shell()
    set +e
    sh -e "$@"
    if [ "$?" -ne 0 ]; then
-      __cdist_echo error  "$1 exited non-zero, aborting."
-      # __cdist_echo error  "$1 exited non-zero"
-      # __cdist_echo warn "Faulty code:"
-      # cat "$1"
-      # __cdist_exit_err "Aborting due to non-zero exit code."
+      __cdist_echo error  "$1 exited non-zero"
+      __cdist_echo warn "Faulty code:"
+      cat "$1"
+      __cdist_exit_err "Aborting due to non-zero exit code."
    fi  
    set -e
 }