#!/bin/sh # # Copyright 2007 Openedhand Ltd. # # Author: Richard Purdie # # The following script will run all the scriptlets found in #SYSCONFDIR#/deb-postinsts, # #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-posinsts. pi_dir="" for pm in rpm deb ipk; do if [ -d "#SYSCONFDIR#/${pm}-postinsts" ]; then pi_dir=#SYSCONFDIR#/${pm}-postinsts break fi done remove_rcsd_link () { if [ -n "`which update-rc.d`" ]; then update-rc.d -f run-postinsts remove fi } if [ -z "$pi_dir" ]; then remove_rcsd_link exit 0 fi [ -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..." [ "$POSTINST_LOGGING" = "1" ] && echo "Running postinst $i..." >> $LOGFILE 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." [ "$POSTINST_LOGGING" = "1" ] && echo "ERROR: postinst $i failed." >> $LOGFILE 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 remove_rcsd_link fi