| 
									
										
										
										
											2010-09-19 14:13:13 +02:00
										 |  |  | #!/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/>. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # Print configuration directories - helper for all other scripts | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:32:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 21:49:01 +01:00
										 |  |  | # Values can be overriden from outside, so you can | 
					
						
							|  |  |  | # customise paths as you like (for distributors, geeks and hackers) | 
					
						
							| 
									
										
										
										
											2011-02-02 14:23:54 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | # Names | 
					
						
							|  |  |  | : ${__cdist_name_bin:=bin} | 
					
						
							|  |  |  | : ${__cdist_name_cache:=cache} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:49:20 +01:00
										 |  |  | : ${__cdist_name_explorer:=explorers} | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | : ${__cdist_name_host:=hosts} | 
					
						
							|  |  |  | : ${__cdist_name_init:=init} | 
					
						
							|  |  |  | : ${__cdist_name_object:=objects} | 
					
						
							|  |  |  | : ${__cdist_name_type:=types} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:49:20 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | # Base | 
					
						
							|  |  |  | : ${__cdist_config:=/etc/cdist} | 
					
						
							| 
									
										
										
										
											2011-02-05 19:42:49 +01:00
										 |  |  | : ${__cdist_explorer_dir:=$__cdist_config/$__cdist_name_explorer} | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | : ${__cdist_manifest_dir:=$__cdist_config/manifests} | 
					
						
							|  |  |  | : ${__cdist_manifest_init:=$__cdist_manifest_dir/$__cdist_name_init} | 
					
						
							|  |  |  | : ${__cdist_type_dir:=$__cdist_config/$__cdist_name_type} | 
					
						
							| 
									
										
										
										
											2011-02-02 14:01:21 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | # Cache | 
					
						
							| 
									
										
										
										
											2011-02-02 14:23:54 +01:00
										 |  |  | : ${__cdist_cache_dir:=$__cdist_config/cache} | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | : ${__cdist_cache_hosts:=$__cdist_cache_dir/$__cdist_name_host} | 
					
						
							|  |  |  | : ${__cdist_cache_bin:=$__cdist_cache_dir/$__cdist_name_bin} | 
					
						
							| 
									
										
										
										
											2011-02-02 14:23:54 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-04 14:38:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:42:49 +01:00
										 |  |  | # Remote | 
					
						
							| 
									
										
										
										
											2011-02-04 14:38:17 +01:00
										 |  |  | : ${__cdist_remote_base_dir:=/var/lib/cdist} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:49:20 +01:00
										 |  |  | : ${__cdist_remote_explorer_dir:=$__cdist_remote_base_dir/$__cdist_name_explorer} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:39:26 +01:00
										 |  |  | export __cdist_remote_explorer_dir | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | : ${__cdist_remote_cache_dir:=$__cdist_remote_base_dir/$__cdist_name_cache} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:49:20 +01:00
										 |  |  | : ${__cdist_remote_cache_explorer:=$__cdist_remote_cache_dir/$__cdist_name_explorer} | 
					
						
							| 
									
										
										
										
											2011-02-04 22:39:26 +01:00
										 |  |  | export __cdist_remote_cache_explorer | 
					
						
							| 
									
										
										
										
											2011-02-05 19:41:47 +01:00
										 |  |  | : ${__cdist_remote_cache_bin:=$__cdist_remote_base_dir/$__cdist_name_bin} | 
					
						
							| 
									
										
										
										
											2011-02-04 14:38:17 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:32:29 +01:00
										 |  |  | # Tempfiles need to be recreated for each individual script, unshared! | 
					
						
							|  |  |  | __cdist_tmp_dir=$(mktemp -d "/tmp/cdist.XXXXXXXXXXXX") | 
					
						
							|  |  |  | export __cdist_tmp_dir | 
					
						
							|  |  |  | __cdist_tmp_file=$(mktemp "$__cdist_tmp_dir/cdist.XXXXXXXXXXXX") | 
					
						
							|  |  |  | export __cdist_tmp_file | 
					
						
							| 
									
										
										
										
											2010-09-30 19:09:21 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  | ################################################################################ | 
					
						
							|  |  |  | # cconf standard vars prefixed with cdist | 
					
						
							|  |  |  | __cdist_pwd="$(pwd -P)" | 
					
						
							|  |  |  | __cdist_mydir="${0%/*}"; | 
					
						
							| 
									
										
										
										
											2010-09-30 19:09:21 +02:00
										 |  |  | __cdist_abs_mydir="$(cd "$__cdist_mydir" && pwd -P)" | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  | __cdist_myname=${0##*/}; | 
					
						
							| 
									
										
										
										
											2010-09-30 19:09:21 +02:00
										 |  |  | __cdist_abs_myname="$__cdist_abs_mydir/$__cdist_myname" | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 14:55:28 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ################################################################################ | 
					
						
							|  |  |  | # Other constants | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Used for generating binaries in cdist-build-bin | 
					
						
							|  |  |  | __cdist_bin_prefix="__" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 15:02:26 +01:00
										 |  |  | # Used for IDs | 
					
						
							| 
									
										
										
										
											2011-02-02 21:43:11 +01:00
										 |  |  | __cdist_sane_regexp='[A-Za-z0-9]*[-A-Za-z0-9_]*' | 
					
						
							| 
									
										
										
										
											2011-02-02 15:02:26 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-06 15:52:28 +01:00
										 |  |  | # File that contains source of a specific object creation | 
					
						
							| 
									
										
										
										
											2011-02-02 19:53:13 +01:00
										 |  |  | __cdist_object_source=".source" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-06 15:52:28 +01:00
										 |  |  | # Mark object finished | 
					
						
							|  |  |  | __cdist_object_finished=".done" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-05 19:32:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 14:01:21 +01:00
										 |  |  | ################################################################################ | 
					
						
							|  |  |  | # Function list | 
					
						
							|  |  |  | # | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  | __cdist_debug_echo() | 
					
						
							| 
									
										
										
										
											2010-09-25 12:36:30 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2011-02-02 14:01:21 +01:00
										 |  |  |    if [ "$__cdist_debug" ]; then | 
					
						
							| 
									
										
										
										
											2010-09-30 19:09:21 +02:00
										 |  |  |       echo "Debug: $@" | 
					
						
							|  |  |  |    fi | 
					
						
							| 
									
										
										
										
											2010-09-25 12:36:30 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2010-09-19 14:30:36 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 14:55:28 +01:00
										 |  |  | __cdist_exit_err() | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2011-02-02 14:55:28 +01:00
										 |  |  |    echo "$@" | 
					
						
							| 
									
										
										
										
											2010-09-29 18:55:18 +02:00
										 |  |  |    exit 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 14:55:28 +01:00
										 |  |  | __cdist_usage() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |    __cdist_exit_err "$__cdist_myname: $@" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-02-02 15:02:26 +01:00
										 |  |  | __cdist_cache_host() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |    echo "${__cdist_cache_hosts}/${__cdist_target_host}" | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2011-02-05 19:32:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | __cdist_tmp_removal() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |    rm -rf "${__cdist_tmp_dir}" | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ################################################################################ | 
					
						
							|  |  |  | # Trap for tmp removal | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | trap __cdist_tmp_removal EXIT |