[OE-core] [PATCH] pango: Fix postinst

Martin Jansa martin.jansa at gmail.com
Thu Feb 27 22:15:01 UTC 2014


On Thu, Feb 27, 2014 at 09:20:38PM +0100, Martin Jansa wrote:
> * do_split_packages was appending call to
>   ${bindir}/${MLPREFIX}pango-querymodules
>   without $D prefix or test if $D is empty, so it was always
>   failing on buildhostis without pango-querymodules and such
>   failure is fatal when rootfs is read-only (do_rootfs fails
>   because some packages weren't configured)

Something is wrong, in theory the
if [ "x$D" != "x" ]; then
case should always exit with 0 or 1 before it reaches the call added by
do_split_packages so it has to be qemu_run_binary call failing and
causing exit 1

> 
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/recipes-graphics/pango/pango.inc | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/recipes-graphics/pango/pango.inc b/meta/recipes-graphics/pango/pango.inc
> index 17006d3..5fddff9 100644
> --- a/meta/recipes-graphics/pango/pango.inc
> +++ b/meta/recipes-graphics/pango/pango.inc
> @@ -42,21 +42,25 @@ EXTRA_OECONF = "--disable-introspection \
>  LEAD_SONAME = "libpango-1.0*"
>  LIBV = "1.8.0"
>  
> -postinst_prologue() {
> +pango_postinst() {
>  if ! [ -e $D${sysconfdir}/pango ] ; then
>  	mkdir -p $D${sysconfdir}/pango
>  fi
>  
> -if [ "x$D" != "x" ]; then
> +if [ -n "$D" ]; then
>  	${@qemu_run_binary(d, '$D','${bindir}/${MLPREFIX}pango-querymodules')} \
>  		$D${libdir}/pango/${LIBV}/modules/*.so \
>  		> $D${sysconfdir}/pango/${MLPREFIX}pango.modules 2>/dev/null
>  
> -	[ $? -ne 0 ] && exit 1
> +	if [ $? -ne 0 ] ; then
> +		echo "qemu_run_binary call ${bindir}/${MLPREFIX}pango-querymodules $D${libdir}/pango/${LIBV}/modules/*.so > $D${sysconfdir}/pango/${MLPREFIX}pango.modules failed"
> +		exit 1
>  
>  	sed -i -e "s:$D::" $D${sysconfdir}/pango/${MLPREFIX}pango.modules
>  
>  	exit 0
> +else
> +	${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules
>  fi
>  }
>  
> @@ -68,11 +72,11 @@ do_install_append () {
>  
>  
>  python populate_packages_prepend () {
> -    prologue = d.getVar("postinst_prologue", True)
> +    pango_postinst = d.getVar("pango_postinst", True)
>  
>      modules_root = d.expand('${libdir}/pango/${LIBV}/modules')
>  
> -    do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + '${bindir}/${MLPREFIX}pango-querymodules > /etc/pango/${MLPREFIX}pango.modules')
> +    do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', pango_postinst)
>  }
>  
>  FILES_${PN} = "${sysconfdir}/pango/* ${bindir}/* ${libdir}/libpango*${SOLIBS}"
> -- 
> 1.9.0
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20140227/13eaa09d/attachment-0002.sig>


More information about the Openembedded-core mailing list