Add run-postinsts. This runs any remaining postinstall scripts without needing ipkg/dpkg. Currently ipkg specific but this should be easy to change
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3069 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
parent
139d157060
commit
87c422828e
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright 2007 Openedhand Ltd.
|
||||
#
|
||||
# Author: Richard Purdie <rpurdie@openedhand.com>
|
||||
#
|
||||
|
||||
PKGSYSTEM=/usr/lib/ipkg
|
||||
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
|
|
@ -0,0 +1,25 @@
|
|||
#
|
||||
# Copyright 2007 Openedhand Ltd.
|
||||
#
|
||||
# Author: Richard Purdie <rpurdie@openedhand.com>
|
||||
#
|
||||
# Rather hacky proof of concept
|
||||
#
|
||||
|
||||
BEGIN {
|
||||
package=""
|
||||
}
|
||||
/Package:.*/ {
|
||||
package = substr($0, 10)
|
||||
}
|
||||
/Status:.*unpacked.*/ {
|
||||
print "Configuring: " package > "/dev/stderr"
|
||||
ret = system("/usr/lib/ipkg/info/" package ".postinst 1>&2")
|
||||
if (ret == 0)
|
||||
$0 = gensub("unpacked", "installed", 1)
|
||||
else
|
||||
print "Postinstall failed for " package > "/dev/stderr"
|
||||
}
|
||||
{
|
||||
print $0
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
DESCRIPTION = "Run postinstall scripts on device using awk"
|
||||
SECTION = "devel"
|
||||
PR = "r0"
|
||||
|
||||
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 () {
|
||||
:
|
||||
}
|
Loading…
Reference in New Issue