From 2e4e291449af87d1aafaed9e604766ff28e35aa0 Mon Sep 17 00:00:00 2001 From: Jake Guffey Date: Mon, 20 Feb 2012 14:20:55 -0500 Subject: [PATCH] Added gencode-local to sync jailbase with remote side, added .gitignore to keep from syncing jailbase.tgz with github, new explorer basepresent to look for /usr/jail/{base,jailbase.tgz} --- conf/type/__jail/.gitignore | 1 + conf/type/__jail/explorer/basepresent | 42 +++++++++++++++++++++++++++ conf/type/__jail/gencode-local | 34 ++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 conf/type/__jail/.gitignore create mode 100755 conf/type/__jail/explorer/basepresent create mode 100755 conf/type/__jail/gencode-local 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 +