diff options
author | Roman Khimov <khimov@altell.ru> | 2010-04-09 01:19:53 +0000 |
---|---|---|
committer | Roman I Khimov <khimov@altell.ru> | 2010-04-12 11:03:12 +0400 |
commit | f62adac0eb3d847cf56b84ed3d695045eea85e6a (patch) | |
tree | b44fa6ff033712c4cfb66b7e2b7076bcb167da74 | |
parent | 85662dcec58a95d804d235169fc9d98ea00f00f6 (diff) |
rootfs_ipk.bbclass: run preinst/postinst scripts with "-e"
There are scripts that can and should work when being ran on build
host (for example, simple update-rc.d), but there are also many which
can't and won't ever (for example, anything adding users/groups).
The second group sometimes doesn't get "unpacked" flag because
scripts throw errors in the middle and return something nice from
the last command.
It can be considered as a bug in pre/postinst script (as it should
either explicitly check for "${D}" or just do "set -e" at start),
but it is common enough.
There is also another aspect to this as in general we can't be sure
that everything is OK wrt preinst/postinst if script commands throw
errors.
Running preinst/postinst scripts on host with "-e" should solve
that.
Signed-off-by: Roman I Khimov <khimov@altell.ru>
Acked-by: Chris Larson <clarson@kergoth.com>
-rw-r--r-- | classes/rootfs_ipk.bbclass | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/classes/rootfs_ipk.bbclass b/classes/rootfs_ipk.bbclass index 3a73ed8854..5483c7e077 100644 --- a/classes/rootfs_ipk.bbclass +++ b/classes/rootfs_ipk.bbclass @@ -70,12 +70,12 @@ fakeroot rootfs_ipk_do_rootfs () { fi for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.preinst; do - if [ -f $i ] && ! sh $i; then + if [ -f $i ] && ! sh -e $i; then opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` fi done for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.postinst; do - if [ -f $i ] && ! sh $i configure; then + if [ -f $i ] && ! sh -e $i configure; then opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` fi done |