diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 5727d1502b..edd84fb40d 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass @@ -54,17 +54,27 @@ fakeroot rootfs_ipk_do_rootfs () { ${OPKG_POSTPROCESS_COMMANDS} ${ROOTFS_POSTINSTALL_COMMAND} + runtime_script_required=0 for i in ${IMAGE_ROOTFS}${opkglibdir}/info/*.preinst; do if [ -f $i ] && ! sh $i; then + runtime_script_required=1 opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` fi done for i in ${IMAGE_ROOTFS}${opkglibdir}/info/*.postinst; do if [ -f $i ] && ! sh $i configure; then + runtime_script_required=1 opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` fi done + if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then + if [ $runtime_script_required -eq 1 ]; then + echo "Some packages could not be configured offline and rootfs is read-only." + exit 1 + fi + fi + install -d ${IMAGE_ROOTFS}/${sysconfdir} echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version