diff options
Diffstat (limited to 'recipes/meta/run-postinsts/run-postinsts.awk')
-rw-r--r-- | recipes/meta/run-postinsts/run-postinsts.awk | 30 |
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 +} |