FreeBSD improvements (#651)
This commit is contained in:
parent
b740d415ca
commit
b695e82bec
8 changed files with 58 additions and 4 deletions
1
cdist/conf/explorer/is-freebsd-jail
Normal file
1
cdist/conf/explorer/is-freebsd-jail
Normal file
|
@ -0,0 +1 @@
|
||||||
|
sysctl -n security.jail.jailed 2>/dev/null | grep "1" || true
|
|
@ -40,7 +40,7 @@ case "$os" in
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
scientific|centos|openbsd)
|
scientific|centos|freebsd|openbsd)
|
||||||
if [ "$name_sysconfig" = "$name_should" -a "$name_running" = "$name_should" ]; then
|
if [ "$name_sysconfig" = "$name_should" -a "$name_running" = "$name_should" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -62,7 +62,7 @@ case "$os" in
|
||||||
echo "printf '%s\n' '$name_should' > /etc/hostname"
|
echo "printf '%s\n' '$name_should' > /etc/hostname"
|
||||||
echo "hostname -F /etc/hostname"
|
echo "hostname -F /etc/hostname"
|
||||||
;;
|
;;
|
||||||
openbsd)
|
freebsd|openbsd)
|
||||||
echo "hostname '$name_should'"
|
echo "hostname '$name_should'"
|
||||||
;;
|
;;
|
||||||
suse)
|
suse)
|
||||||
|
|
|
@ -52,6 +52,13 @@ case "$os" in
|
||||||
--key HOSTNAME \
|
--key HOSTNAME \
|
||||||
--value "$name_should" --exact_delimiter
|
--value "$name_should" --exact_delimiter
|
||||||
;;
|
;;
|
||||||
|
freebsd)
|
||||||
|
__key_value rcconf-hostname \
|
||||||
|
--file /etc/rc.conf \
|
||||||
|
--delimiter '=' \
|
||||||
|
--key 'hostname' \
|
||||||
|
--value "$name_should"
|
||||||
|
;;
|
||||||
openbsd)
|
openbsd)
|
||||||
echo "$name_should" | __file /etc/myname --source -
|
echo "$name_should" | __file /etc/myname --source -
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -64,6 +64,10 @@ else
|
||||||
state="present"
|
state="present"
|
||||||
[ -f "/etc/runlevels/${target_runlevel}/${name}" ] || state="absent"
|
[ -f "/etc/runlevels/${target_runlevel}/${name}" ] || state="absent"
|
||||||
;;
|
;;
|
||||||
|
freebsd)
|
||||||
|
state="absent"
|
||||||
|
service -e | grep "/$name$" && state="present"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unsupported os: $os" >&2
|
echo "Unsupported os: $os" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -77,6 +77,10 @@ case "$state_should" in
|
||||||
echo "update-rc.d \"$name\" defaults >/dev/null"
|
echo "update-rc.d \"$name\" defaults >/dev/null"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
freebsd)
|
||||||
|
: # handled in manifest
|
||||||
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
echo "Unsupported os: $os" >&2
|
echo "Unsupported os: $os" >&2
|
||||||
exit 1
|
exit 1
|
||||||
|
|
28
cdist/conf/type/__start_on_boot/manifest
Normal file
28
cdist/conf/type/__start_on_boot/manifest
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
state_should="$(cat "$__object/parameter/state")"
|
||||||
|
state_is=$(cat "$__object/explorer/state")
|
||||||
|
name="$__object_id"
|
||||||
|
|
||||||
|
# Short circuit if nothing is to be done
|
||||||
|
[ "$state_should" = "$state_is" ] && exit 0
|
||||||
|
|
||||||
|
os=$(cat "$__global/explorer/os")
|
||||||
|
|
||||||
|
case "$os" in
|
||||||
|
freebsd)
|
||||||
|
if [ "$state_should" = 'present' ]; then
|
||||||
|
value='YES'
|
||||||
|
else
|
||||||
|
value='NO'
|
||||||
|
fi
|
||||||
|
__key_value rcconf-$name-enable \
|
||||||
|
--file /etc/rc.conf \
|
||||||
|
--key "${name}_enable" \
|
||||||
|
--value "\"$value\"" \
|
||||||
|
--delimiter '='
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
: # handled in gencode-remote
|
||||||
|
;;
|
||||||
|
esac
|
|
@ -26,5 +26,15 @@ if [ "$value_should" = "$value_is" ]; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
os=$(cat "$__global/explorer/os")
|
||||||
|
case "$os" in
|
||||||
|
redhat|centos|ubuntu|debian|devuan|archlinux|coreos)
|
||||||
|
flag='-w'
|
||||||
|
;;
|
||||||
|
frebsd)
|
||||||
|
flag=''
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# set the current runtime value
|
# set the current runtime value
|
||||||
printf 'sysctl -w %s="%s"\n' "$__object_id" "$value_should"
|
printf 'sysctl %s %s="%s"\n' "$flag" "$__object_id" "$value_should"
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
os=$(cat "$__global/explorer/os")
|
os=$(cat "$__global/explorer/os")
|
||||||
|
|
||||||
case "$os" in
|
case "$os" in
|
||||||
redhat|centos|ubuntu|debian|devuan|archlinux|coreos)
|
redhat|centos|ubuntu|debian|devuan|archlinux|coreos|freebsd)
|
||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
Loading…
Reference in a new issue