#!/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