#!/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 . # # # __file is a very basic type and should be able to be used as an # example for typewrites later # type="$(cat "$__object/parameter/type")" # If destination was specified, do not use the id if [ -f "$__object/parameter/destination" ]; then destination="$(cat "$__object/parameter/destination")" else # If no destination has been supplied, the id is the destination # Prepend /, which got lost in the object id (and relative paths # don't make sense) destination="/$__object_id" fi # Ensure we have an absolute path if ! $(echo "$destination" | grep -q ^/); then echo "Error: Destination ($destination) of $__object_id is not absolute." >&2 exit 1 fi # FIXME: Add file copying part here case "$type" in directory) echo mkdir \"$destination\" ;; file) echo touch \"$destination\" ;; *) echo "Unsupported type: \"$type\"" >&2 exit 1 ;; esac if [ -f "$__object/parameter/mode" ]; then mode="$(cat "$__object/parameters/mode")" echo chmod \"$mode\" \"$destination\" fi