Adding live-initramfs 1.87.2-1.
[live-boot-grml.git] / bin / live-reconfigure
diff --git a/bin/live-reconfigure b/bin/live-reconfigure
new file mode 100755 (executable)
index 0000000..4e29768
--- /dev/null
@@ -0,0 +1,52 @@
+#! /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
+
+runcommandinroot "$root" dpkg-reconfigure -fnoninteractive --no-reload "$package"
+
+exit 0