diff options
| -rwxr-xr-x | meta/recipes-devtools/dpkg/run-postinsts/run-postinsts | 36 | ||||
| -rw-r--r-- | meta/recipes-devtools/dpkg/run-postinsts/run-postinsts.awk | 30 | ||||
| -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 (renamed from meta/recipes-devtools/dpkg/run-postinsts_1.0.bb) | 7 | 
4 files changed, 50 insertions, 70 deletions
| diff --git a/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts b/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts deleted file mode 100755 index 5f6442cbe3..0000000000 --- a/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# Copyright 2007 Openedhand Ltd. -# -# Author: Richard Purdie <rpurdie@openedhand.com> -# - -PKGSYSTEM=/var/lib/dpkg - -if [ ! -e $PKGSYSTEM/status ]; then -  if [ -e /var/lib/opkg/status ]; then -    PKGSYSTEM=/var/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/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts.awk b/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts.awk deleted file mode 100644 index cbc8d1a109..0000000000 --- a/meta/recipes-devtools/dpkg/run-postinsts/run-postinsts.awk +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright 2007 Openedhand Ltd. -# -# Author: Richard Purdie <rpurdie@openedhand.com> -# -# Rather hacky proof of concept -# - -BEGIN { -  rc=system("test -d /var/lib/dpkg/info/") -  if (rc==0) -    pkgdir="/var/lib/dpkg/info" -  else -    pkgdir="/var/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/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/dpkg/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb index 4c9b2fd75a..5dd1709ff5 100644 --- a/meta/recipes-devtools/dpkg/run-postinsts_1.0.bb +++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb @@ -1,11 +1,11 @@ -DESCRIPTION = "Run postinstall scripts on device using awk" +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 file://run-postinsts.awk" +SRC_URI = "file://run-postinsts"  INITSCRIPT_NAME = "run-postinsts"  INITSCRIPT_PARAMS = "start 98 S ." @@ -24,6 +24,5 @@ do_install() {  	install -d ${D}${sysconfdir}/init.d/  	install -m 0755 ${WORKDIR}/run-postinsts ${D}${sysconfdir}/init.d/ -	install -d ${D}${datadir}/${BPN}/ -	install -m 0644 ${WORKDIR}/run-postinsts.awk ${D}${datadir}/${BPN}/ +	sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' ${D}${sysconfdir}/init.d/run-postinsts  } | 
