From: Matthias Schiffer Date: Mon, 26 Sep 2016 13:25:38 +0000 (+0200) Subject: rootfs: fail on errors in postinst scripts X-Git-Tag: v17.01.0-rc1~1363 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=5b99693832d0307744ac16d29fb359b730fd86a3;p=openwrt%2Fstaging%2Fxback.git 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 --- 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; \