diff --git a/conf/type/__jail/.gitignore b/conf/type/__jail/.gitignore new file mode 100644 index 00000000..e0471be4 --- /dev/null +++ b/conf/type/__jail/.gitignore @@ -0,0 +1 @@ +files/jailbase.tgz diff --git a/conf/type/__jail/explorer/basepresent b/conf/type/__jail/explorer/basepresent new file mode 100755 index 00000000..7c21fc08 --- /dev/null +++ b/conf/type/__jail/explorer/basepresent @@ -0,0 +1,42 @@ +#!/bin/sh +# +# 2012 Jake Guffey (jake.guffey at eprotex.com) +# +# 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 . +# +# +# See if the jailbase.tgz or /usr/jail/base dir exists +# + +name="base:jailbase.tgz" +exists=0 + +save_IFS="$IFS" +IFS=":" +for cur in $name; do + if [ -e "/usr/jail/$cur" ]; then + echo -n "$cur:" + let exists="$exists+1" 2>&1 >&- + fi +done +IFS="$save_IFS" + +if [ "$exists" -eq "0" ]; then + echo "NONE" +else + echo "$exists" +fi + diff --git a/conf/type/__jail/gencode-local b/conf/type/__jail/gencode-local new file mode 100755 index 00000000..6ad476e6 --- /dev/null +++ b/conf/type/__jail/gencode-local @@ -0,0 +1,34 @@ +#!/bin/sh +# +# 2012 Jake Guffey (jake.guffey at eprotex.com) +# +# 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 . +# +# +# The __jail type creates, configures, and deletes FreeBSD jails for use as +# virtual machines. +# + +#FIXME: /usr/jail should never be hardcoded in this type +#FIXME: jailbase.tgz should not be hardcoded in this file + +jailbase="/usr/jail/jailbase.tgz" +basepresent="$(cat "$__object/explorer/basepresent")" + +if [ "$basepresent" = "NONE" ]; then + __file "$jailbase" --source "$__object/files/jailbase.tgz" +fi +