summaryrefslogtreecommitdiffstats
path: root/recipes/meta/run-postinsts/run-postinsts.awk
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/meta/run-postinsts/run-postinsts.awk')
-rw-r--r--recipes/meta/run-postinsts/run-postinsts.awk30
1 files changed, 30 insertions, 0 deletions
diff --git a/recipes/meta/run-postinsts/run-postinsts.awk b/recipes/meta/run-postinsts/run-postinsts.awk
new file mode 100644
index 0000000000..09a1400cf4
--- /dev/null
+++ b/recipes/meta/run-postinsts/run-postinsts.awk
@@ -0,0 +1,30 @@
+#
+# Copyright 2007 Openedhand Ltd.
+#
+# Author: Richard Purdie <rpurdie@openedhand.com>
+#
+# Rather hacky proof of concept
+#
+
+BEGIN {
+ rc=system("test -d /usr/dpkg/info/")
+ if (rc==0)
+ pkgdir="/var/dpkg/info"
+ else
+ pkgdir="/usr/lib/opkg/info"
+ package=""
+}
+/Package:.*/ {
+ package = substr($0, 10)
+}
+/Status:.*unpacked.*/ {
+ print "Configuring: " package > "/dev/stderr"
+ ret = system(pkgdir "/" package ".postinst 1>&2")
+ if (ret == 0)
+ $0 = gensub("unpacked", "installed", 1)
+ else
+ print "Postinstall failed for " package > "/dev/stderr"
+}
+{
+ print $0
+}