Parcourir la source

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 <[email protected]>
Matthias Schiffer il y a 9 ans
Parent
commit
5b99693832
1 fichiers modifiés avec 5 ajouts et 0 suppressions
  1. 5 0
      include/rootfs.mk

+ 5 - 0
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; \