From c0ab4cdd8de653e36ff8c77dd1eb072325435382 Mon Sep 17 00:00:00 2001 From: Nico Schottelius Date: Sun, 11 Sep 2011 21:34:24 +0200 Subject: [PATCH] remove now obsolete core directory Signed-off-by: Nico Schottelius --- core/__cdist_cache | 34 ------------ core/__cdist_dir | 46 ---------------- core/__cdist_dir_listing | 30 ----------- core/__cdist_echo | 56 ------------------- core/__cdist_exit_err | 28 ---------- core/__cdist_explorer_run | 79 --------------------------- core/__cdist_explorer_run_global | 32 ----------- core/__cdist_is_executable | 44 --------------- core/__cdist_kill_on_interrupt | 31 ----------- core/__cdist_manifest_run | 53 ------------------ core/__cdist_manifest_run_init | 32 ----------- core/__cdist_object_all | 60 --------------------- core/__cdist_object_code_run | 54 ------------------- core/__cdist_object_explorer_run | 89 ------------------------------- core/__cdist_object_gencode | 66 ----------------------- core/__cdist_object_gencode_run | 36 ------------- core/__cdist_object_list | 36 ------------- core/__cdist_object_manifest_run | 59 -------------------- core/__cdist_object_prepare | 47 ---------------- core/__cdist_object_run | 74 ------------------------- core/__cdist_run | 27 ---------- core/__cdist_run_remote | 32 ----------- core/__cdist_run_shell | 34 ------------ core/__cdist_tmp_removal | 27 ---------- core/__cdist_type_build_emulation | 49 ----------------- core/__cdist_usage | 27 ---------- 26 files changed, 1182 deletions(-) delete mode 100755 core/__cdist_cache delete mode 100755 core/__cdist_dir delete mode 100755 core/__cdist_dir_listing delete mode 100755 core/__cdist_echo delete mode 100755 core/__cdist_exit_err delete mode 100755 core/__cdist_explorer_run delete mode 100755 core/__cdist_explorer_run_global delete mode 100755 core/__cdist_is_executable delete mode 100644 core/__cdist_kill_on_interrupt delete mode 100755 core/__cdist_manifest_run delete mode 100755 core/__cdist_manifest_run_init delete mode 100755 core/__cdist_object_all delete mode 100755 core/__cdist_object_code_run delete mode 100755 core/__cdist_object_explorer_run delete mode 100755 core/__cdist_object_gencode delete mode 100755 core/__cdist_object_gencode_run delete mode 100755 core/__cdist_object_list delete mode 100755 core/__cdist_object_manifest_run delete mode 100755 core/__cdist_object_prepare delete mode 100755 core/__cdist_object_run delete mode 100755 core/__cdist_run delete mode 100755 core/__cdist_run_remote delete mode 100755 core/__cdist_run_shell delete mode 100755 core/__cdist_tmp_removal delete mode 100755 core/__cdist_type_build_emulation delete mode 100755 core/__cdist_usage diff --git a/core/__cdist_cache b/core/__cdist_cache deleted file mode 100755 index 95764d3d..00000000 --- a/core/__cdist_cache +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# 2010 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 . -# -# -# Save the configuration tree into the local cache -# - -__cdist_cache() -{ - # Create base to move into - mkdir -p "${__cdist_local_base_cache_dir}" - - __cdist_echo info \ - "Caching to $(__cdist_host_cache_dir "$__cdist_target_host")" - rm -rf "$(__cdist_host_cache_dir "$__cdist_target_host")" - mv "$__cdist_local_base_dir" \ - "$(__cdist_host_cache_dir "$__cdist_target_host")" -} diff --git a/core/__cdist_dir b/core/__cdist_dir deleted file mode 100755 index 32ee0075..00000000 --- a/core/__cdist_dir +++ /dev/null @@ -1,46 +0,0 @@ -#!/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 . -# -# -# Push a directory to a target, both sides have the same name (i.e. explorers) -# or -# Pull a directory from a target, both sides have the same name (i.e. explorers) -# - -__cdist_dir() -{ - [ $# -eq 3 ] || __cdist_usage " " - - # ${3%/*} will be the destination directory, so no subdirectories - # of the same name are created, if the directory is already existing - - if [ "$1" = "push" ]; then - # FIXME: add error handling with __cdist_run_remote_... or so - ssh "${__cdist_remote_user}@${__cdist_target_host}" \ - "mkdir -p \"$3\"" - scp -qr "$2" \ - "${__cdist_remote_user}@${__cdist_target_host}:${3%/*}" - elif [ "$1" = "pull" ]; then - mkdir -p "$3" - scp -qr "${__cdist_remote_user}@${__cdist_target_host}:$2" \ - "${3%/*}" - else - __cdist_exit_err "Unknown action $1" - fi -} diff --git a/core/__cdist_dir_listing b/core/__cdist_dir_listing deleted file mode 100755 index f4aa2320..00000000 --- a/core/__cdist_dir_listing +++ /dev/null @@ -1,30 +0,0 @@ -#!/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 . -# -# -# List files in a directory, if it exists -# -# We only create output, if there's at least one entry -# and can thus be used as a boolean ;-) -# - -__cdist_dir_listing() -{ - [ -d "$1" ] && ls -1 "$1" -} diff --git a/core/__cdist_echo b/core/__cdist_echo deleted file mode 100755 index a89d1821..00000000 --- a/core/__cdist_echo +++ /dev/null @@ -1,56 +0,0 @@ -#!/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 . -# -# -# echo / syslog alike function -# - -__cdist_echo() -{ - __cdist_echo_type="$1"; shift - - set +u - if [ "$__cdist_object_self" ]; then - __cdist_echo_prefix="${__cdist_object_self}:" - else - __cdist_echo_prefix="core: " - fi - set -u - - case "$__cdist_echo_type" in - debug) - if [ "$__cdist_debug" = 1 ]; then - echo $__cdist_echo_prefix "DEBUG: $@" - fi - ;; - info) - echo $__cdist_echo_prefix "$@" - ;; - warn) - echo $__cdist_echo_prefix "Warning: $@" - ;; - error) - echo $__cdist_echo_prefix "Error: $@" >&2 - ;; - *) - echo "CORE BUG, who created the broken commit in $0?" >&2 - exit 23 - ;; - esac -} diff --git a/core/__cdist_exit_err b/core/__cdist_exit_err deleted file mode 100755 index 303dbf20..00000000 --- a/core/__cdist_exit_err +++ /dev/null @@ -1,28 +0,0 @@ -#!/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 . -# -# -# Print error and exit (perror() alike) -# - -__cdist_exit_err() -{ - __cdist_echo error "$@" - exit 1 -} diff --git a/core/__cdist_explorer_run b/core/__cdist_explorer_run deleted file mode 100755 index 9e58fa09..00000000 --- a/core/__cdist_explorer_run +++ /dev/null @@ -1,79 +0,0 @@ -#!/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 . -# -# -# Run explorers - FIXME: this function is ugly -# - -__cdist_explorer_run() -{ - [ $# -eq 5 ] || __cdist_usage " " - - # Ensure there is at least one explorer - num="$(ls -1 "$__cdist_explorer_dir" | wc -l)" - if [ "$num" -lt 1 ]; then - __cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers" - fi - - # Check whether to setup variable for type explorer - case "$1" in - global) - ;; - type) - # FIXME: think about how and where this gets setup! - "$__cdist_name_var_object=\"$(__cdist_remote_object_dir "$__cdist_object_self")\"" - ;; - esac - - # Transfer explorers - __cdist_dir push "$2" "$3" - - # Create output directory - __cdist_run_remote mkdir -p "$4" - - # Execute all explorers - FIXME: isolate cd call? - cd "$2"; - # FIXME: cleanup double variable, no need when in directory - for __cdist_explorer_run_explorer in *; do - __cdist_explorer_explorer_name="${__cdist_explorer_run_explorer##*/}" - - if [ -f "$__cdist_explorer_run_explorer" ]; then - if [ ! -x "$__cdist_explorer_run_explorer" ]; then - __cdist_exit_err "Explorer \"$__cdist_explorer_run_explorer\" exists, but is not executable." - fi - - else - if [ -e "$__cdist_explorer_run_explorer" ]; then - __cdist_exit_err "Explorer \"$__cdist_explorer_run_explorer\" exists, but is not a file." - fi - fi - - # FIXME: no need for remote out dir probably? - # or should we leave it and continue using __cdist_dir pull? - __cdist_run_remote \ - "export $__cdist_name_var_explorer=\"$__cdist_remote_explorer_dir\";" \ - "export $__cdist_name_var_global=\"$__cdist_remote_out_dir\";" \ - "$3/$__cdist_explorer_run_explorer" ">" \ - "$4/$__cdist_explorer_run_explorer" || \ - __cdist_exit_err "Explorer $__cdist_explorer_run_explorer failed." - done - - # Transfer results back - __cdist_dir pull "$4" "$5" -} diff --git a/core/__cdist_explorer_run_global b/core/__cdist_explorer_run_global deleted file mode 100755 index 27359713..00000000 --- a/core/__cdist_explorer_run_global +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# 2010-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 . -# -# -# Copy & run the global explorers, i.e. not bound to types -# - -__cdist_explorer_run_global() -{ - __cdist_echo info "Running global explorers " - - # run the global explorers remotely - __cdist_explorer_run global \ - "$__cdist_explorer_dir" "$__cdist_remote_explorer_dir" \ - "$__cdist_remote_out_explorer_dir" "$__cdist_out_explorer_dir" -} diff --git a/core/__cdist_is_executable b/core/__cdist_is_executable deleted file mode 100755 index a7a6d174..00000000 --- a/core/__cdist_is_executable +++ /dev/null @@ -1,44 +0,0 @@ -#!/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 . -# -# -# Test whether something is executable (that should be executable) or -# is missing -# - -__cdist_is_executable() -{ - [ $# -eq 1 ] || __cdist_exit_err "" - - if [ -e "$1" ]; then - if [ -f "$1" ]; then - if [ -x "$1" ]; then - # Exists and is a correct executable - true - else - __cdist_exit_err "$1 exists, but is not executable." - fi - else - __cdist_exit_err "$1 exists, but is not a file." - fi - else - # Does not exist - false - fi -} diff --git a/core/__cdist_kill_on_interrupt b/core/__cdist_kill_on_interrupt deleted file mode 100644 index 7cb711fa..00000000 --- a/core/__cdist_kill_on_interrupt +++ /dev/null @@ -1,31 +0,0 @@ -#!/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 . -# -# -# Run the given command for each created object. -# - -# Does not work in children, will be called again in every script! -# Use only in interactive "front end" scripts -__cdist_kill_on_interrupt() -{ - __cdist_tmp_removal - kill 0 - exit 1 -} diff --git a/core/__cdist_manifest_run b/core/__cdist_manifest_run deleted file mode 100755 index cf85d646..00000000 --- a/core/__cdist_manifest_run +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh -# -# 2010-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 . -# -# -# Let's build a cconfig tree from a configuration -# And save it into the cache tree -# - -__cdist_manifest_run() -{ - [ $# -eq 1 ] || __cdist_usage "" - - __cdist_manifest="$1"; shift - - ################################################################################ - # Export information for cdist-type-emulator or manifest - # - - # Config dir should not get reset - FIXME: why did I do this? - export __cdist_conf_dir - - # Used to record the source in the object - export __cdist_manifest - - # Export information for manifests - __cdist_out_dir comes from cdist-config - export $__cdist_name_var_global="$__cdist_out_dir" - - ################################################################################ - # The actual run - # - - # Ensure binaries are existing - FIXME: move error handling into __cdist_type_build_emulation - __cdist_type_build_emulation \ - || __cdist_exit_err "Failed to build type emulation binaries" - - __cdist_run_shell "${__cdist_manifest}" -} diff --git a/core/__cdist_manifest_run_init b/core/__cdist_manifest_run_init deleted file mode 100755 index e8fa63de..00000000 --- a/core/__cdist_manifest_run_init +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# 2010-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 . -# -# -# Let's build a cconfig tree from a configuration -# And save it into the cache tree -# - -__cdist_manifest_run_init() -{ - # FIXME: probably do not export but always set explicitly? - export $__cdist_name_var_manifest="$__cdist_manifest_dir" - - __cdist_echo info "Running initial manifest for $__cdist_target_host " - __cdist_manifest_run "$__cdist_manifest_init" -} diff --git a/core/__cdist_object_all b/core/__cdist_object_all deleted file mode 100755 index 965d08f6..00000000 --- a/core/__cdist_object_all +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# -# 2011 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# Run the given command for each created object. -# - -__cdist_object_all() -{ - [ $# -eq 1 ] || __cdist_usage "" - - __cdist_object_all_object_all_command="$1"; shift - - __cdist_object_all_object_all_objects="$__cdist_tmp_dir/objects" - - # Ensure object dir exists, so marker can be created - mkdir -p "${__cdist_out_object_dir}" - - # FIXME: : - why do we use a file? - # core/__cdist_object_manifest_run: touch "$__cdist_objects_created" - - # Loop until we do not create new objects anymore - # which is equal to all objects have been run - touch "$__cdist_objects_created" - while [ -f "$__cdist_objects_created" ]; do - # Assume we're done after this run - rm "$__cdist_objects_created" - - # Get listing of objects - __cdist_object_list "$__cdist_out_object_dir" > \ - "$__cdist_object_all_object_all_objects" - - # NEED TO CREATE ARRAY, SSH DESTROYS WHILE READ LOOP - while read __cdist_object_all_object; do - set -- "$@" "$__cdist_object_all_object" - done < "$__cdist_object_all_object_all_objects" - - while [ $# -gt 0 ]; do - __cdist_object_all_object="$1"; shift - $__cdist_object_all_object_all_command "$__cdist_object_all_object" - done - done -} diff --git a/core/__cdist_object_code_run b/core/__cdist_object_code_run deleted file mode 100755 index 8af67ab8..00000000 --- a/core/__cdist_object_code_run +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# Exec the code for the given object locally and remote -# - -__cdist_object_code_run() -{ - [ $# -eq 1 ] || __cdist_exit_err "" - - - if [ ! -d "$(__cdist_object_dir "$1")" ]; then - __cdist_exit_err "Object undefined" - fi - - # Code local - export __cdist_out_object_dir="$__cdist_out_object_dir" - __cdist_echo debug "Trying to run local code" - if __cdist_is_executable \ - "$(__cdist_object_code "$1" "${__cdist_name_gencode_local}")"; then - __cdist_run_shell \ - "$(__cdist_object_code "$1" "${__cdist_name_gencode_local}")" - else - __cdist_echo debug "Local code: none" - fi - - # Code remote - __cdist_echo debug "Trying to run remote code" - if __cdist_is_executable \ - "$(__cdist_object_code "$1" "${__cdist_name_gencode_remote}")"; then - - __cdist_run_remote $(__cdist_remote_object_code "$1") - else - __cdist_echo debug "Remote code: none" - fi -} diff --git a/core/__cdist_object_explorer_run b/core/__cdist_object_explorer_run deleted file mode 100755 index da59d6c3..00000000 --- a/core/__cdist_object_explorer_run +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# Run the explorers for the given object on the target host. -# - -# FIXME: many cleanups needed before going production! - -__cdist_object_explorer_run() -{ - __cdist_object_self="$1"; shift - - __cdist_object_id="$(__cdist_object_id_from_object "$__cdist_object_self")" - __cdist_type="$(__cdist_type_from_object "$__cdist_object_self")" - - # Check if type of object has >= 1 explorer - __cdist_has_explorer="$(__cdist_dir_listing "$(__cdist_type_explorer_dir "$__cdist_type")" | wc -l)" - # Run the type explorers for the current object if any - if [ "$__cdist_has_explorer" -ge 1 ]; then - if ! __cdist_type_explorer_pushed "$__cdist_type"; then - # FIXME: variables! - src_dir="$(__cdist_type_explorer_dir "$__cdist_type")" - dst_dir="$(__cdist_remote_type_explorer_dir "$__cdist_type")" - __cdist_echo info "Transfering explorers for $__cdist_type " - __cdist_dir push "$src_dir" "$dst_dir" - __cdist_type_explorer_pushed_add "$__cdist_type" - fi - - __cdist_echo info "Running explorers" - # Copy object parameters - __cdist_dir push \ - "$(__cdist_object_parameter_dir "$__cdist_object_self")" \ - "$(__cdist_remote_object_parameter_dir "$__cdist_object_self")" - - # Execute explorers - # FIXME: STOPPED: - # - remove cdist-remote-explorer-run - # - problem: new variables / need to run explorer directly? - # -> or put logic into __cdist_explorer_run - # -> think about having _one_ wrapper script for remote to execute - # shell functions - - # Create remote output directory - __cdist_run_remote mkdir -p "$(__cdist_remote_object_type_explorer_dir "$__cdist_object_self")" - - cd "$(__cdist_type_explorer_dir "$__cdist_type")" - - - for __cdist_object_explorer_run_explorer in *; do - __cdist_run_remote \ - "$__cdist_name_var_object=\"$(__cdist_remote_object_dir "$__cdist_object_self")\"" \ - "$__cdist_name_var_object_id=\"$__cdist_object_id\"" \ - "$__cdist_name_var_self=\"$__cdist_object_self\"" \ - "$(__cdist_remote_type_explorer_dir "$__cdist_type")/$__cdist_object_explorer_run_explorer" \ - ">" "$(__cdist_remote_object_type_explorer_dir "$__cdist_object_self")/$__cdist_object_explorer_run_explorer" - done - -# __cdist_run_remote \ -# "$__cdist_name_var_object=\"$(__cdist_remote_object_dir "$__cdist_object_self")\"" \ -# "$__cdist_name_var_object_id=\"$__cdist_object_id\"" \ -# "$__cdist_name_var_self=\"$__cdist_object_self\"" \ -# cdist-remote-explorer-run \ -# "$__cdist_name_var_type_explorer" \ -# "$(__cdist_remote_type_explorer_dir "$__cdist_type")" \ -# "$(__cdist_remote_object_type_explorer_dir "$__cdist_object_self")" - - # Copy back results - __cdist_dir pull "$(__cdist_remote_object_type_explorer_dir "$__cdist_object_self")" \ - "$(__cdist_object_type_explorer_dir "$__cdist_object_self")" - fi -} diff --git a/core/__cdist_object_gencode b/core/__cdist_object_gencode deleted file mode 100755 index 08ef8b7d..00000000 --- a/core/__cdist_object_gencode +++ /dev/null @@ -1,66 +0,0 @@ -#!/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 . -# -# -# Generate code from one object (object must be relative path!) -# WARNING: OUTPUT ON STDOUT, ERRORS NEED TO BE ON STDERR! -# - -# FIXME: check variable names: -# either prefix or use global or use functions directly -# functions looks good, they are cheap anyway! - -__cdist_object_gencode() -{ - [ $# -eq 2 ] || __cdist_usage "" "" - - __cdist_object_self="$1"; shift - __cdist_gencode_type="$1"; shift - - __cdist_type="$(__cdist_type_from_object "$__cdist_object_self")" - __cdist_type_gencode="$(__cdist_type_gencode "$__cdist_type" "$__cdist_gencode_type")" - __cdist_code_output="$(__cdist_object_code "$__cdist_object_self" "$__cdist_gencode_type")" - - # export variables for the gencode script - export __object_id="$(__cdist_object_id_from_object "$__cdist_object_self")" - export __object="$(__cdist_object_dir "$__cdist_object_self")" - export __global="$__cdist_out_dir" - - if [ -x "$__cdist_type_gencode" ]; then - __cdist_run_shell "$__cdist_type_gencode" > "$__cdist_tmp_file" - else - if [ -e "$__cdist_type_gencode" ]; then - __cdist_exit_err "$__cdist_type_gencode exists, but is not executable" - fi - - # Ensure it's empty, if there is no gencode - : > "$__cdist_tmp_file" - fi - - # Only create code, if gencode created output - if [ "$(wc -l < "$__cdist_tmp_file")" -gt 0 ]; then - cat - "$__cdist_tmp_file" << eof > "$__cdist_code_output" -# -# The following code was generated by $__cdist_type_gencode -# - -eof - chmod u+x "${__cdist_code_output}" - fi -} diff --git a/core/__cdist_object_gencode_run b/core/__cdist_object_gencode_run deleted file mode 100755 index 308f5f33..00000000 --- a/core/__cdist_object_gencode_run +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# 2010 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# For the given object create the code to be executed on the target. -# - -__cdist_object_gencode_run() -{ - __cdist_object_gencode_run_object="$1"; shift - - __cdist_echo info "Generating local code " - __cdist_object_gencode "$__cdist_object_gencode_run_object" \ - "${__cdist_name_gencode_local}" - - __cdist_echo info "Generating remote code " - __cdist_object_gencode "$__cdist_object_gencode_run_object" \ - "${__cdist_name_gencode_remote}" -} diff --git a/core/__cdist_object_list b/core/__cdist_object_list deleted file mode 100755 index f2785c30..00000000 --- a/core/__cdist_object_list +++ /dev/null @@ -1,36 +0,0 @@ -#!/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 . -# -# -# Print error and exit (perror() alike) -# - -__cdist_object_list() -{ - # FIXME: no local in posix - local basedir="$1"; shift - - # Use subshell to prevent changing cwd in program - ( - cd "${basedir}" - - find . -name "$__cdist_name_dot_cdist" | \ - sed -e 's;^./;;' -e "s;/${__cdist_name_dot_cdist}\$;;" - ) -} diff --git a/core/__cdist_object_manifest_run b/core/__cdist_object_manifest_run deleted file mode 100755 index efc85539..00000000 --- a/core/__cdist_object_manifest_run +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/sh -# -# 2010 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# Run the manifest for the given object. -# - - -__cdist_object_manifest_run() -{ - [ $# -eq 1 ] || __cdist_usage "" - - __cdist_object_self="$1"; shift - - # FIXME: rename to __cdist_object_dir (everywhere!) - __cdist_cur_object_dir="$(__cdist_object_dir "$__cdist_object_self")" - __cdist_object_id="$(__cdist_object_id_from_object "$__cdist_object_self")" - - __cdist_echo info "Checking manifest " - - __cdist_type="$(__cdist_type_from_object "$__cdist_object_self")" - __cdist_manifest="$(__cdist_type_manifest "$__cdist_type")" - - if [ -f "$__cdist_manifest" ]; then - if [ -x "$__cdist_manifest" ]; then - # Make __cdist_manifest available for cdist-type-emulator - export __cdist_manifest - - __cdist_echo info "Executing manifest " - export $__cdist_name_var_object="$__cdist_cur_object_dir" - export $__cdist_name_var_object_id="$__cdist_object_id" - export $__cdist_name_var_type="$(__cdist_type_dir "$__cdist_type")" - - __cdist_manifest_run "$__cdist_manifest" - - # Tell cdist-object-run-all that there may be new objects - touch "$__cdist_objects_created" - else - __cdist_exit_err "${__cdist_manifest} needs to be executable." - fi - fi -} diff --git a/core/__cdist_object_prepare b/core/__cdist_object_prepare deleted file mode 100755 index 24039be0..00000000 --- a/core/__cdist_object_prepare +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -# -# 2011 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# For the given object: -# - run type explorers -# - run type manifest -# - -__cdist_object_prepare() -{ - [ $# -eq 1 ] || __cdist_usage "" - - __cdist_object_self="$1"; shift - __cdist_object_dir="$(__cdist_object_dir "$__cdist_object_self")" - [ -d "$__cdist_object_dir" ] || __cdist_exit_err "Object undefined" - - # Export to non-core for use in manifest and gencode scripts - export $__cdist_name_var_self=$__cdist_object_self - - __cdist_object_prepared="$(__cdist_object_prepared "$__cdist_object_self")" - if [ ! -f "$__cdist_object_prepared" ]; then - __cdist_echo info "Preparing object" - __cdist_object_explorer_run "$__cdist_object_self" - __cdist_object_manifest_run "$__cdist_object_self" - - # Mark this object as prepared - touch "$__cdist_object_prepared" - fi -} diff --git a/core/__cdist_object_run b/core/__cdist_object_run deleted file mode 100755 index d2c7df6e..00000000 --- a/core/__cdist_object_run +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -# -# 2011 Nico Schottelius (nico-cdist at schottelius.org) -# 2011 Steven Armstrong (steven-cdist at armstrong.cc) -# -# 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 . -# -# -# For the given object: -# - run type explorers -# - run type manifest -# - generate code -# - copy object to target -# - execute code on target -# - -__cdist_object_run() -{ - [ $# -eq 1 ] || __cdist_usage "" - - __cdist_object_self="$1"; shift - __cdist_object_dir="$(__cdist_object_dir "$__cdist_object_self")" - [ -d "$__cdist_object_dir" ] || __cdist_exit_err "Object undefined" - - # Export to non-core for use in manifest and gencode scripts - export $__cdist_name_var_self=$__cdist_object_self - - # FIXME: BUG: should be named differently! - # FIXME: BUG: I can be called recursively! -> variables are probably already set / overwritten! - __cdist_object_finished="$(__cdist_object_finished "$__cdist_object_self")" - if [ ! -f "$__cdist_object_finished" ]; then - # Resolve dependencies, if any - __cdist_object_require="$(__cdist_object_require "$__cdist_object_self")" - if [ -f "$__cdist_object_require" ]; then - # NEED TO CREATE ARRAY, SSH DESTROYS WHILE READ LOOP - while read __cdist_requirement; do - set -- "$@" "$__cdist_requirement" - done < "$__cdist_object_require" - - while [ $# -gt 0 ]; do - __cdist_requirement="$1"; shift - __cdist_echo info "Resolving requirement $__cdist_requirement" - # FIXME: BUG: at this point, the other __cdist_object_run may have - # overwritten all our variables! - __cdist_object_run "$__cdist_requirement" - done - fi - - __cdist_echo debug "Before gencode" - __cdist_object_gencode_run "$__cdist_object_self" - __cdist_echo debug "Before push" - __cdist_dir push "$(__cdist_object_dir "$__cdist_object_self")" \ - "$(__cdist_remote_object_dir "$__cdist_object_self")" - __cdist_echo debug "Before run" - __cdist_object_code_run "$__cdist_object_self" - __cdist_echo debug "Object run done" - - # Mark this object as done - touch "$__cdist_object_finished" - fi -} diff --git a/core/__cdist_run b/core/__cdist_run deleted file mode 100755 index 8febe550..00000000 --- a/core/__cdist_run +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 . -# -# -# Exit if an error occurs running something -# - -__cdist_run() -{ - "$@" || __cdist_echo error "$1 exited non-zero, aborting." -} diff --git a/core/__cdist_run_remote b/core/__cdist_run_remote deleted file mode 100755 index 17074049..00000000 --- a/core/__cdist_run_remote +++ /dev/null @@ -1,32 +0,0 @@ -#!/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 . -# -# -# Run a cdist binary on the remote side -# - -__cdist_run_remote() -{ - [ $# -ge 1 ] || __cdist_usage " [opts]" - - ssh "${__cdist_remote_user}@${__cdist_target_host}" \ - "export PATH=\"${__cdist_remote_bin_dir}:\$PATH\";" \ - "export __cdist_out_object_dir=\"$__cdist_remote_out_object_dir\";" \ - "$@" -} diff --git a/core/__cdist_run_shell b/core/__cdist_run_shell deleted file mode 100755 index b6e0a57d..00000000 --- a/core/__cdist_run_shell +++ /dev/null @@ -1,34 +0,0 @@ -#!/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 . -# -# -# Exit if an error occurs when running a shell script -# - -__cdist_run_shell() -{ - # Prepend our path, so all cdist tools come before other tools - PATH="${__cdist_out_type_bin_dir}:$PATH" sh -e "$@" - if [ "$?" -ne 0 ]; then - __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 -} diff --git a/core/__cdist_tmp_removal b/core/__cdist_tmp_removal deleted file mode 100755 index 74d74936..00000000 --- a/core/__cdist_tmp_removal +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 . -# -# -# Remove tmp dir -# - -__cdist_tmp_removal() -{ - rm -rf "${__cdist_tmp_dir}" -} diff --git a/core/__cdist_type_build_emulation b/core/__cdist_type_build_emulation deleted file mode 100755 index 3c7270ca..00000000 --- a/core/__cdist_type_build_emulation +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# 2010-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 . -# -# Build pseudo binaries for type emulation -# - -__cdist_type_build_emulation() -{ - [ $# -eq 0 ] || __cdist_usage "No arguments" - - [ -f "${__cdist_out_type_bin_dir}/.marker" ] && return 0 - - __cdist_type_emulator="$__cdist_abs_mydir/cdist-type-emulator" - - if [ ! -d "${__cdist_type_dir}" ]; then - __cdist_exit_err "$__cdist_type_dir must exist and contain available types" - fi - - # Get Types - ( - cd "${__cdist_type_dir}" - ls -1 > "${__cdist_tmp_file}" - ) - - # Create binaries - mkdir -p "${__cdist_out_type_bin_dir}" - while read __cdist_type_build_emulation_type; do - ln -sf "${__cdist_type_emulator}" \ - "${__cdist_out_type_bin_dir}/${__cdist_type_build_emulation_type}" - done < "${__cdist_tmp_file}" - - touch "${__cdist_out_type_bin_dir}/.marker" -} diff --git a/core/__cdist_usage b/core/__cdist_usage deleted file mode 100755 index 9dfa30e4..00000000 --- a/core/__cdist_usage +++ /dev/null @@ -1,27 +0,0 @@ -#!/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 . -# -# -# Print error and exit (perror() alike) -# - -__cdist_usage() -{ - __cdist_exit_err "$__cdist_myname: $@" -}