cdist configuration management
Latest manual: https://www.cdi.st/manual/latest/
Home page: https://www.cdi.st
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.6 KiB
53 lines
1.6 KiB
#!/bin/sh -e |
|
# |
|
# 2013 Nico Schottelius (nico-cdist at schottelius.org) |
|
# 2020 Ander Punnar (ander@kvlt.ee) |
|
# |
|
# This file is part of cdist. |
|
# |
|
# cdist 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 3 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# cdist 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 cdist. If not, see <http://www.gnu.org/licenses/>. |
|
|
|
path_is="$( cat "${__object:?}/explorer/path_is" )" |
|
|
|
path_should="$( cat "${__object:?}/parameter/path" )" |
|
|
|
if [ "$path_is" = "$path_should" ] |
|
then |
|
exit 0 |
|
fi |
|
|
|
if [ "$( cat "${__object:?}/explorer/path_should_state" )" = 'absent' ] \ |
|
&& [ -z "${__cdist_dry_run+dry run}" ] |
|
then |
|
echo "$path_should does not exist in target" >&2 |
|
exit 1 |
|
fi |
|
|
|
name=${__object_id:?} |
|
|
|
if ! grep -Fxq "$path_should" "${__object:?}/explorer/alternatives" |
|
then |
|
if [ ! -f "$__object/parameter/install" ] |
|
then |
|
echo "$path_should is not in $name alternatives." >&2 |
|
echo 'Please install missing packages or use --install to add path to alternatives.' >&2 |
|
exit 1 |
|
fi |
|
|
|
link="$( cat "$__object/explorer/link" )" |
|
|
|
echo "update-alternatives --install '$link' '$name' '$path_should' 1000" |
|
fi |
|
|
|
echo "update-alternatives --set '$name' '$path_should'"
|
|
|