#!/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 . # # # Let's build a cconfig tree from a generic configuration (example) # #[ $# -eq 1 ] || __cdist_usage "cconf" . cdist-config set -au # all types cdist is aware of export __cdist_types="file service user" cdist_tree_wrapper="cdist_tree_wrapper" # used to build the tree and other stuff tmpdir=/tmp/cdist-test-hardcoded cdist_bindir="${tmpdir}/bin" cdist_confdir="${tmpdir}/conf" cdist_type_prefix="__" ################################################################################ # Begin execution cdist_tree_wrapper_name=${cdist_tree_wrapper##*/} cdist_tree_wrapper_absdir=$(cd ${cdist_tree_wrapper%/*} && pwd -P) cdist_tree_wrapper_abs="$cdist_tree_wrapper_absdir/$cdist_tree_wrapper_name" rm -rf "${tmpdir}" # contains cdist-tree binaries mkdir -p "${cdist_bindir}" #ln -s "${cdist_tree_wrapper_abs}" "${bindir}" # Create our binaries, will are called from the manifest - temporary ( set -e cd "${cdist_bindir}" for bin in $__core_types; do ln -s "${cdist_tree_wrapper_abs}" "${cdist_type_prefix}${bin}" done ) # Cdist_tree_wrapper does not need any other tool, so remove them from the path. # but the manifest may need so - FIXME: think about it. #unset PATH # prepend our path PATH="${cdist_bindir}:$PATH" # create output dir mkdir -p "${cdist_confdir}" # force -x, so the user is aware the file is executed if [ -x "${__cdist_manifest_init}" ]; then "${__cdist_manifest_init}" else echo Throw some error, as you forgot to +x it. exit 1 fi echo "Finished tree generation, have a look at ${cdist_confdir}."