forked from ungleich-public/cdist
Add FreeBSD support
Modified explorer/gshadow to do nothing on FreeBSD (unsupported command) Modified gencode-remote to use short options (--long not supported in FreeBSD)
This commit is contained in:
parent
37eabffd9c
commit
f6bd5290b3
2 changed files with 43 additions and 5 deletions
|
@ -23,6 +23,12 @@
|
|||
|
||||
name=$__object_id
|
||||
os_version="$($__explorer/os_version)"
|
||||
os="$($__explorer/os)"
|
||||
|
||||
if [ "$os" = "freebsd" ]; then
|
||||
echo "FreeBSD does not have getent gshadow"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
case "$os_version" in
|
||||
"Red Hat Enterprise Linux Server release "[45]*|"CentOS release "[45]*)
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
name="$__object_id"
|
||||
os_version="$(cat "$__global/explorer/os_version")"
|
||||
os="$(cat "$__global/explorer/os")"
|
||||
|
||||
cd "$__object/parameter"
|
||||
if grep -q "^${name}:" "$__object/explorer/group"; then
|
||||
|
@ -36,6 +37,10 @@ if grep -q "^${name}:" "$__object/explorer/group"; then
|
|||
case "$property" in
|
||||
password)
|
||||
current_value="$(awk -F: '{ print $2 }' < "$__object/explorer/gshadow")"
|
||||
if [ "$os" = "freebsd" ]; then
|
||||
echo "group/$name: FreeBSD doesn't support password modification" >&2
|
||||
exit 1
|
||||
fi
|
||||
case "$os_version" in
|
||||
"Red Hat Enterprise Linux Server release "[45]*|"CentOS release "[45]*)
|
||||
# TODO: Use gpasswd? Need to fix gshadow explorer first.
|
||||
|
@ -57,15 +62,42 @@ if grep -q "^${name}:" "$__object/explorer/group"; then
|
|||
done
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
echo groupmod "$@" "$name"
|
||||
else
|
||||
true
|
||||
case $os in
|
||||
freebsd)
|
||||
echo pw group mod "$@" "$name"
|
||||
;;
|
||||
*)
|
||||
echo groupmod "$@" "$name"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
for property in $(ls .); do
|
||||
new_value="$(cat "$property")"
|
||||
set -- "$@" "--$property" \"$new_value\"
|
||||
if [ "$os" = "freebsd" ]; then
|
||||
case $property in
|
||||
gid)
|
||||
proparg="-g"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown property: $property" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
proparg="--$property"
|
||||
fi
|
||||
|
||||
set -- "$@" "$proparg" \"$new_value\"
|
||||
done
|
||||
|
||||
echo groupadd "$@" "$name"
|
||||
case $os in
|
||||
freebsd)
|
||||
echo pw group add "$@" "$name"
|
||||
;;
|
||||
*)
|
||||
echo groupadd "$@" "$name"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
|
Loading…
Reference in a new issue