#!/bin/bash
+# Copyright (C) 2016 Ian Kelling
-# for using some fai commands outside of fai
+# This program 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 2
+# of the License, or (at your option) any later version.
+
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# For using some fai commands outside of fai.
+# Usually this is sourced from another script. Note this has
+# paths specific to Ian's machine.
+# to set fai classes, export CLASS_CLASSNAME=true
ifclass() {
local var=${1/#/CLASS_}
[[ $HOSTNAME == $1 || ${!var} ]]
}
+fai-setclass() {
+ for class in "$@"; do
+ # export class vars with CLASS_ in front to avoid name collisions.
+ classes+=" $class"
+ export CLASS_$class=true
+ done
+ classes="${classes# }"
+ export classes
+}
+eval-fai-classfile() {
+ file=$1
+ fai-setclass $(bash -l $file)
+}
export -f ifclass
-classes= # used by fcopy
-for x in $(bash /a/bin/fai/fai/config/class/50-host-classes); do
- # export class vars with CLASS_ in front to avoid name colissions.
- classes+=" $x"
- export CLASS_$x=true
-done
-classes="${classes# }"
-export classes
+classes=DEFAULT # used by fcopy
+export CLASS_DEFAULT=true
+eval-fai-classfile /a/bin/fai/fai/config/class/50-host-classes
export FAI_ROOT=/
export FAI=/a/bin/fai/fai/config