remove now obsolete core directory
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								264a76ca2f
							
						
					
				
			
			
				commit
				
					
						c0ab4cdd8d
					
				
			
		
					 26 changed files with 0 additions and 1182 deletions
				
			
		|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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")" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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 "<push|pull> <src dir> <dst dir>" |  | ||||||
| 
 |  | ||||||
|    # ${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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Print error and exit (perror() alike) |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_exit_err() |  | ||||||
| { |  | ||||||
|    __cdist_echo error "$@" |  | ||||||
|    exit 1 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Run explorers - FIXME: this function is ugly |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_explorer_run() |  | ||||||
| { |  | ||||||
|    [ $# -eq 5 ] || __cdist_usage "<global|type> <local explorer dir> <remote explorer dir> <remote out dir> <local out dir>" |  | ||||||
| 
 |  | ||||||
|    # 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" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Test whether something is executable (that should be executable) or |  | ||||||
| # is missing |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_is_executable() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_exit_err "<executable>" |  | ||||||
| 
 |  | ||||||
|    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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # Let's build a cconfig tree from a configuration |  | ||||||
| # And save it into the cache tree |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_manifest_run() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_usage "<manifest>" |  | ||||||
| 
 |  | ||||||
|    __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}" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # Run the given command for each created object. |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_object_all() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_usage "<command>" |  | ||||||
| 
 |  | ||||||
|    __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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Exec the code for the given object locally and remote |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_object_code_run() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_exit_err "<object>" |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|    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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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 "<object>" "<type>" |  | ||||||
| 
 |  | ||||||
|    __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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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}" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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}\$;;" |  | ||||||
|    ) |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # Run the manifest for the given object. |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| __cdist_object_manifest_run() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_usage "<object>" |  | ||||||
| 
 |  | ||||||
|    __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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # For the given object: |  | ||||||
| #  - run type explorers |  | ||||||
| #  - run type manifest |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_object_prepare() |  | ||||||
| { |  | ||||||
|    [ $# -eq 1 ] || __cdist_usage "<object>" |  | ||||||
| 
 |  | ||||||
|    __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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| #  |  | ||||||
| # 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 "<object>" |  | ||||||
| 
 |  | ||||||
|    __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 |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Exit if an error occurs running something |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_run() |  | ||||||
| { |  | ||||||
|    "$@" || __cdist_echo error  "$1 exited non-zero, aborting." |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Run a cdist binary on the remote side |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_run_remote() |  | ||||||
| { |  | ||||||
|    [ $# -ge 1 ] || __cdist_usage "<binary> [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\";" \ |  | ||||||
|       "$@" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # 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   |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Remove tmp dir |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_tmp_removal() |  | ||||||
| { |  | ||||||
|    rm -rf "${__cdist_tmp_dir}" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # 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" |  | ||||||
| } |  | ||||||
|  | @ -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 <http://www.gnu.org/licenses/>. |  | ||||||
| # |  | ||||||
| # |  | ||||||
| # Print error and exit (perror() alike) |  | ||||||
| # |  | ||||||
| 
 |  | ||||||
| __cdist_usage() |  | ||||||
| { |  | ||||||
|    __cdist_exit_err "$__cdist_myname: $@" |  | ||||||
| }   |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue