[oe-commits] Koen Kooi : run-postinsts: add from poky

GIT User account git at amethyst.openembedded.net
Sun Feb 22 10:08:17 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 1ac31da6db392f743b5f75e31ac91e12fcb27b26
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=1ac31da6db392f743b5f75e31ac91e12fcb27b26

Author: Koen Kooi <koen at openembedded.org>
Date:   Sun Feb 22 11:07:15 2009 +0100

run-postinsts: add from poky

---

 packages/meta/run-postinsts/run-postinsts     |   36 +++++++++++++++++++++++++
 packages/meta/run-postinsts/run-postinsts.awk |   30 ++++++++++++++++++++
 packages/meta/run-postinsts_1.0.bb            |   30 ++++++++++++++++++++
 3 files changed, 96 insertions(+), 0 deletions(-)

diff --git a/packages/meta/run-postinsts/run-postinsts b/packages/meta/run-postinsts/run-postinsts
new file mode 100755
index 0000000..f632d1c
--- /dev/null
+++ b/packages/meta/run-postinsts/run-postinsts
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Copyright 2007 Openedhand Ltd.
+#
+# Author: Richard Purdie <rpurdie at openedhand.com>
+#
+
+PKGSYSTEM=/var/dpkg
+
+if [ ! -e $PKGSYSTEM/status ]; then
+  if [ -e /usr/lib/opkg/status ]; then
+    PKGSYSTEM=/usr/lib/opkg
+  else
+    echo "No package system found"
+    exit 1
+  fi
+fi
+
+STAMP=$PKGSYSTEM/postinsts-done
+STATFILE=$PKGSYSTEM/status
+STATFILE2=$PKGSYSTEM/status2
+
+if [ -e $STAMP ]; then
+  exit 0
+fi
+
+awk -f /usr/share/run-postinsts/run-postinsts.awk $STATFILE > $STATFILE2
+if [ $? = 0 ]; then
+  mv $STATFILE2 $STATFILE
+  touch $STAMP
+  exit 0
+else
+  rm -f $STATFILE2
+  rm -f $STAMP
+  exit 1
+fi
diff --git a/packages/meta/run-postinsts/run-postinsts.awk b/packages/meta/run-postinsts/run-postinsts.awk
new file mode 100644
index 0000000..09a1400
--- /dev/null
+++ b/packages/meta/run-postinsts/run-postinsts.awk
@@ -0,0 +1,30 @@
+#
+# Copyright 2007 Openedhand Ltd.
+#
+# Author: Richard Purdie <rpurdie at 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
+}
diff --git a/packages/meta/run-postinsts_1.0.bb b/packages/meta/run-postinsts_1.0.bb
new file mode 100644
index 0000000..79333dc
--- /dev/null
+++ b/packages/meta/run-postinsts_1.0.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Run postinstall scripts on device using awk"
+SECTION = "devel"
+PR = "r6"
+
+SRC_URI = "file://run-postinsts file://run-postinsts.awk"
+
+INITSCRIPT_NAME = "run-postinsts"
+INITSCRIPT_PARAMS = "start 98 S ."
+
+inherit update-rc.d
+
+do_configure() {
+	:
+}
+
+do_compile () {
+	:
+}
+
+do_install() {
+	install -d ${D}${sysconfdir}/init.d/
+	install -m 0755 ${WORKDIR}/run-postinsts ${D}${sysconfdir}/init.d/
+
+	install -d ${D}${datadir}/${PN}/
+	install -m 0644 ${WORKDIR}/run-postinsts.awk ${D}${datadir}/${PN}/
+}
+
+do_stage () {
+	:
+}





More information about the Openembedded-commits mailing list