diff options
Diffstat (limited to 'commands/freebsd/_freebsd.sh')
-rw-r--r-- | commands/freebsd/_freebsd.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/commands/freebsd/_freebsd.sh b/commands/freebsd/_freebsd.sh new file mode 100644 index 0000000..76871f7 --- /dev/null +++ b/commands/freebsd/_freebsd.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +freebsd() { + if [ ! "$(os_get "id")" = "freebsd" ]; then exit 1; fi +} + +freebsd_ensure() { + _os_type=os_get "id" + if [ ! "${_os_type}" = "freebsd" ]; then + _execution_error error=unsupported_operating_system expected_os_type="freebsd" os_type="${_os_type}" + fi +} + +freebsd_ensure_kernel_module_loaded() { + _kmod="${1}" + if [ -z "${_kmod}" ]; then _execution_error function=freebsd_ensure_kernel_module_loaded error=missing_argument arg=kmod; fi + if ! kldstat -q -m "${_kmod}" > /dev/null 2>&1; then + _execution_error error=missing_dependency dependency=kernel_module kernel_module="${_kmod}" + fi +} + |