Группа :: Система/Серверы
Пакет: jabber-alice
Главная Изменения Спек Патчи Исходники Загрузить Gear Bugs and FR Repocop
#!/bin/sh -e
# Note:any non-zero return code could break%post script processing
# of _any_ jabber-relative ALT Jabber Policy compatible package,
# see #14369
CONFIG_FILE=@configfile@
[ -r "$CONFIG_FILE" ] || exit 0
TEMP=`/bin/getopt -n "$0" -o '' -l port,host,password,set-port:,set-host:,set-password: -- "$@"` || exit 0
eval set -- "$TEMP"
TMP_FILE=''
backup_and_mktemp() {
if [ -z "$TMP_FILE" ]; then
cp -f -- "$CONFIG_FILE" "$CONFIG_FILE.bak"
fi
TMP_FILE=`/bin/mktemp $CONFIG_FILE.XXXXXXX` || exit 0
}
update_if_modified() {
if diff -q "$CONFIG_FILE" "$TMP_FILE" > /dev/null 2>&1; then
rm -f -- "$TMP_FILE"
else
mv -f -- "$TMP_FILE" "$CONFIG_FILE"
fi
}
while :; do
case "$1" in
--ip)
xmlstarlet select -t -v '/config/component_connection/host' "$CONFIG_FILE"
;;
--port)
xmlstarlet select -t -v '/config/component_connection/port' "$CONFIG_FILE"
;;
--host)
xmlstarlet select -t -v '/config/component_connection/component' "$CONFIG_FILE"
;;
--password)
xmlstarlet select -t -v '/config/component_connection/secret' "$CONFIG_FILE"
;;
--set-port)
backup_and_mktemp
xmlstarlet edit -u '/config/component_connection/port' -v "$2" "$CONFIG_FILE" > "$TMP_FILE"
update_if_modified
shift
;;
--set-host)
backup_and_mktemp
xmlstarlet edit -u '/config/component_connection/host' -v "$2" "$CONFIG_FILE" > "$TMP_FILE"
update_if_modified
shift
;;
--set-password)
backup_and_mktemp
xmlstarlet edit -u '/config/component_connection/secret' -v "$2" "$CONFIG_FILE" > "$TMP_FILE"
update_if_modified
shift
;;
--)
shift
break
;;
*)
echo "Invalid command: $1"
exit 0
esac
shift
done