Patchwork rootfs_ipk: issue a diagnostic if rootfs is declared read-only and not all maintainer scripts could be applied offline

login
register
mail settings
Submitter Phil Blundell
Date May 24, 2011, 2:49 p.m.
Message ID <1306248550.2525.196.camel@phil-desktop>
Download mbox | patch
Permalink /patch/4679/
State New, archived
Headers show

Comments

Phil Blundell - May 24, 2011, 2:49 p.m.
Signed-off-by: Phil Blundell <philb@gnu.org>
---
 meta/classes/rootfs_ipk.bbclass |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
Saul Wold - May 25, 2011, 5:19 p.m.
On 05/24/2011 07:49 AM, Phil Blundell wrote:
>
> Signed-off-by: Phil Blundell<philb@gnu.org>
> ---
>   meta/classes/rootfs_ipk.bbclass |   10 ++++++++++
>   1 files changed, 10 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
> index 4c8088b..99584eb 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
>
Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
index 4c8088b..99584eb 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