aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2016-09-26 15:25:38 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2016-09-26 17:57:58 +0200
commit5b99693832d0307744ac16d29fb359b730fd86a3 (patch)
treef0da6f743e5bfcdd9c55bfc0f2e5bb4762e0e83f
parent021b96d7c5c668fbcb5375c65cee90832bb2854f (diff)
downloadupstream-5b99693832d0307744ac16d29fb359b730fd86a3.tar.gz
upstream-5b99693832d0307744ac16d29fb359b730fd86a3.tar.bz2
upstream-5b99693832d0307744ac16d29fb359b730fd86a3.zip
rootfs: fail on errors in postinst scripts
The Gluon firmware framework [1] uses postinst scripts for sanity checks. Make the build fail when a postinst script exits with an error to make these sanity checks effective. All postinst scripts in packages from the LEDE core and the packages feed seem to work correctly with this change and will always return 0 unless something is very broken. [1] https://github.com/freifunk-gluon/gluon Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-rw-r--r--include/rootfs.mk5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/rootfs.mk b/include/rootfs.mk
index 15f71ae0df..b1617215a3 100644
--- a/include/rootfs.mk
+++ b/include/rootfs.mk
@@ -60,6 +60,11 @@ define prepare_rootfs
cd $(1); \
for script in ./usr/lib/opkg/info/*.postinst; do \
IPKG_INSTROOT=$(1) $$(which bash) $$script; \
+ ret=$$?; \
+ if [ $$ret -ne 0 ]; then \
+ echo "postinst script $$script has failed with exit code $$ret" >&2; \
+ exit 1; \
+ fi; \
done; \
for script in ./etc/init.d/*; do \
grep '#!/bin/sh /etc/rc.common' $$script >/dev/null || continue; \