diff options
Diffstat (limited to 'meta/recipes-devtools/run-postinsts')
-rwxr-xr-x | meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts | 47 | ||||
-rw-r--r-- | meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb | 28 |
2 files changed, 75 insertions, 0 deletions
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts new file mode 100755 index 0000000000..2593066da0 --- /dev/null +++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts @@ -0,0 +1,47 @@ +#!/bin/sh +# +# Copyright 2007 Openedhand Ltd. +# +# Author: Richard Purdie <rpurdie@openedhand.com> +# + +# The following script will run all the scriptlets found in #SYSCONFDIR#/deb-postinsts or +# #SYSCONFDIR#/ipk-postinsts + +pi_dir="" +for pm in rpm deb ipk; do + if [ -d "#SYSCONFDIR#/${pm}-postinsts" ]; then + pi_dir=#SYSCONFDIR#/${pm}-postinsts + break + fi +done + +[ -z "$pi_dir" ] && exit 0 + +[ -e #SYSCONFDIR#/default/postinst ] && . #SYSCONFDIR#/default/postinst + +remove_pi_dir=1 +for i in `ls $pi_dir`; do + i=$pi_dir/$i + echo "Running postinst $i..." + if [ -x $i ]; then + if [ "$POSTINST_LOGGING" = "1" ]; then + sh -c $i >>$LOGFILE 2&>1 + else + sh -c $i + fi + rm $i + else + echo "ERROR: postinst $i failed." + remove_pi_dir=0 + fi +done + +# since all postinstalls executed successfully, remove the postinstalls directory +# and the rcS.d link +if [ $remove_pi_dir = 1 ]; then + rm -rf $pi_dir + if [ -n "`which update-rc.d`" ]; then + update-rc.d -f run-postinsts remove + fi +fi diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb new file mode 100644 index 0000000000..5dd1709ff5 --- /dev/null +++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Run postinstall scripts on device" +SECTION = "devel" +PR = "r9" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \ + file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://run-postinsts" + +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/ + + sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' ${D}${sysconfdir}/init.d/run-postinsts +} |