package-ipkg: Do not fail build without base-files
authorFlorian Fainelli <f.fainelli@gmail.com>
Sat, 10 Dec 2016 00:04:49 +0000 (16:04 -0800)
committerJo-Philipp Wich <jo@mein.io>
Wed, 1 Feb 2017 15:07:30 +0000 (16:07 +0100)
If the base-files package is not selected, we will fail executing the
very first postinst script:

make[3]: Leaving directory `/local/users/fainelli/openwrt/trunk'
cp -fpR
/local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root-orion
/local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root.orig-orion
./usr/lib/opkg/info/busybox.postinst: line 3:
/local/users/fainelli/openwrt/trunk/build_dir/target-arm_xscale_musl-1.1.15_eabi/root-orion/lib/functions.sh:
No such file or directory
./usr/lib/opkg/info/busybox.postinst: line 4: default_postinst: command
not found
postinst script ./usr/lib/opkg/info/busybox.postinst has failed with
exit code 127
make[2]: *** [package/install] Error 1

Check for the existence of lib/functions.sh, and if it does not exist,
just bail out gracefully.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
include/package-ipkg.mk

index e168eb390f31290c68ecb406b09339d69fc9495b..d9b6f77cc441d587675fe1a6e54828b5320b87dc 100644 (file)
@@ -209,11 +209,13 @@ $(_endef)
                ( \
                        echo "#!/bin/sh"; \
                        echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \
+                       echo "[ -x "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \
                        echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \
                        echo "default_postinst \$$$$0 \$$$$@"; \
                ) > postinst; \
                ( \
                        echo "#!/bin/sh"; \
+                       echo "[ -x "\$$$${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; \
                        echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \
                        echo "default_prerm \$$$$0 \$$$$@"; \
                ) > prerm; \