56 lines
1.1 KiB
Bash
Executable File
56 lines
1.1 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
set -e
|
|
export PATH=/usr/bin:/usr/sbin:/sbin:/bin
|
|
|
|
frontend=noninteractive
|
|
|
|
findcommandinroot() {
|
|
ROOT="$1/"
|
|
shift
|
|
while [ "$#" -ge 1 ]; do
|
|
P="$PATH"
|
|
while [ "$P" ]; do
|
|
D=${P%%:*}
|
|
P=${P#*:}
|
|
if [ "$D" = "$P" ]; then
|
|
P=
|
|
fi
|
|
if [ -z "$D" ]; then
|
|
D=.
|
|
fi
|
|
if [ -x "$ROOT$D/$1" ]; then
|
|
echo "$D/$1"
|
|
return 0
|
|
fi
|
|
done
|
|
shift
|
|
done
|
|
return 1
|
|
}
|
|
|
|
runcommandinroot() {
|
|
C=$(findcommandinroot "$1" "$2")
|
|
ROOT="$1"
|
|
shift
|
|
shift
|
|
[ -n "$C" ] && chroot "$ROOT" "$C" "$@"
|
|
}
|
|
|
|
root="$1"
|
|
package="$2"
|
|
|
|
version=$(runcommandinroot "$root" dpkg-query -W --showformat='${Version}' "$package" 2>/dev/null) || version=""
|
|
|
|
if [ -z "$version" ]; then
|
|
echo >&2 "$0: package '$package' is not installed"
|
|
exit 0
|
|
fi
|
|
|
|
unset DEBIAN_HAS_FRONTEND
|
|
unset DEBIAN_FRONTEND
|
|
unset DEBCONF_REDIR
|
|
runcommandinroot "$root" dpkg-reconfigure -fnoninteractive --no-reload "$package"
|
|
|
|
exit 0
|