From 010a4bc91e745ef34175b521830f9c2b644cb0e6 Mon Sep 17 00:00:00 2001
From: Cullum Smith <cullum@sacredheartsc.com>
Date: Thu, 11 Jul 2024 21:25:13 -0400
Subject: make boxconf command line more intuitive, fix undef vars

---
 lib/10-core  |  2 +-
 lib/30-files | 34 +++++++++++++++++-----------------
 lib/40-os    |  6 +++---
 3 files changed, 21 insertions(+), 21 deletions(-)

(limited to 'lib')

diff --git a/lib/10-core b/lib/10-core
index 8e01afc..d7280d9 100644
--- a/lib/10-core
+++ b/lib/10-core
@@ -221,7 +221,7 @@ _boxconf_deploy(){
   # $2 = hostname used for configuration
   # $3..$N = original boxconf CLI args
   _bc_deploy_target=$1; shift
-  _bc_deploy_hostname=$2; shift
+  _bc_deploy_hostname=$1; shift
 
   _bc_stagedir=$(mktemp -d -t "boxconf-${_bc_deploy_hostname}")
   trap 'rm -rf -- "$_bc_stagedir"' HUP INT QUIT TERM ABRT EXIT
diff --git a/lib/30-files b/lib/30-files
index fb4bbee..767bbeb 100644
--- a/lib/30-files
+++ b/lib/30-files
@@ -3,23 +3,23 @@
 _boxconf_try_files(){
   # Get the highest precedence file for a given path.
   # $1 = target file path
-  for _bcsf_file in                                                                \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTNAME}"                             \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTNAME}"                                  \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS_DISTRIBUTION}" \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS_DISTRIBUTION}"      \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS_DISTRIBUTION}.${BOXCONF_HOSTCLASS}" \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS_DISTRIBUTION}.${BOXCONF_HOSTCLASS}"      \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS_FAMILY}"       \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS_FAMILY}"            \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS_FAMILY}.${BOXCONF_HOSTCLASS}"       \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS_FAMILY}.${BOXCONF_HOSTCLASS}"            \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}"                            \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}"                                 \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS_DISTRIBUTION}"                      \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS_DISTRIBUTION}"                           \
-    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS_FAMILY}"                            \
-    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS_FAMILY}"                                 \
+  for _bcsf_file in \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTNAME}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTNAME}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_DISTRO}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_DISTRO}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_DISTRO}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_DISTRO}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}.${BOXCONF_OS}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_HOSTCLASS}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_DISTRO}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_DISTRO}" \
+    "${BOXCONF_SITE_FILE_DIR}${1}.${BOXCONF_OS}" \
+    "${BOXCONF_FILE_DIR}${1}.${BOXCONF_OS}" \
     "${BOXCONF_SITE_FILE_DIR}${1}.common" \
     "${BOXCONF_FILE_DIR}${1}.common"
   do
diff --git a/lib/40-os b/lib/40-os
index cedeb86..d2821da 100644
--- a/lib/40-os
+++ b/lib/40-os
@@ -26,7 +26,7 @@ set_loader_conf(){
   # Set the FreeBSD bootloader options in /boot/loader.conf.
   # The host will be rebooted if the file is changed.
   # $1..$N = bootloader options (as "name=value" strings)
-  [ "$BOXCONF_OS_FAMILY" = freebsd ] || bug 'set_loader_conf can only be used on FreeBSD'
+  [ "$BOXCONF_OS" = freebsd ] || bug 'set_loader_conf can only be used on FreeBSD'
 
   while [ $# -gt 0 ]; do
     grep -qxF "${1%%=*}=\"${1#*=}\"" /boot/loader.conf || BOXCONF_NEED_REBOOT=true
@@ -50,7 +50,7 @@ x
 load_kernel_module(){
   # Ensure the given kernel modules are loaded.
   # $1..$N = bootloader options (as "name=value" strings)
-  case $BOXCONF_OS_FAMILY in
+  case $BOXCONF_OS in
     freebsd)
       while [ $# -gt 0 ]; do
         kldstat -qn "$1" || kldload -v "$1"
@@ -58,7 +58,7 @@ load_kernel_module(){
       done
       ;;
     *)
-      die "load_kernel_module unimplemented for ${BOXCONF_OS_FAMILY}"
+      die "load_kernel_module unimplemented for ${BOXCONF_OS}"
       ;;
   esac
 }
-- 
cgit v1.2.3