Re: [OE-core] [oe-core][PATCH 5/7] cairo: fix file conflict when multilib enabled

2018-03-16 Thread Burton, Ross
Or, don't install a *binary* package in two multilib architectures at once.

Ross

On 12 March 2018 at 09:13, Zhang Xiao  wrote:

> Script file cairo-trace conflict between 32 and 64 bit packages.
> Use update-alternatives to add base_libdir as suffix to avoid it.
>
> Signed-off-by: Zhang Xiao 
> ---
>  meta/recipes-graphics/cairo/cairo_1.14.12.bb | 16 +++-
>  1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-graphics/cairo/cairo_1.14.12.bb
> b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
> index 075ca1ed34..1f2d68c0de 100644
> --- a/meta/recipes-graphics/cairo/cairo_1.14.12.bb
> +++ b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
> @@ -10,6 +10,20 @@ SRC_URI = "http://cairographics.org/
> releases/cairo-${PV}.tar.xz \
>  SRC_URI[md5sum] = "9f0db9dbfca0966be8acd682e636d165"
>  SRC_URI[sha256sum] = "8c90f00c500b2299c0a323dd9beead
> 2a00353752b2092ead558139bd67f7bf16"
>
> +inherit update-alternatives
> +
> +MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
> +
> +ALTERNATIVE_${PN}-perf-utils="cairo-trace"
> +ALTERNATIVE_LINK_NAME[cairo-trace] = "${bindir}/cairo-trace"
> +ALTERNATIVE_TARGET[cairo-trace] = "${bindir}/cairo-trace-${
> MULTILIB_SUFFIX}"
> +
> +PACKAGE_PREPROCESS_FUNCS += "alternatives_rename"
> +
> +alternatives_rename() {
> +   mv ${PKGD}${bindir}/cairo-trace ${PKGD}${bindir}/cairo-trace-$
> {MULTILIB_SUFFIX}
> +}
> +
>  PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
>
>  SUMMARY_${PN} = "The Cairo 2D vector graphics library"
> @@ -35,7 +49,7 @@ FILES_${PN} = "${libdir}/libcairo.so.*"
>  FILES_${PN}-dev += "${libdir}/cairo/*.so"
>  FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
>  FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-
> interpreter.so.*"
> -FILES_${PN}-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/*.la
> ${libdir}/cairo/libcairo-trace.so.*"
> +FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la
> ${libdir}/cairo/libcairo-trace.so.*"
>
>  do_install_append () {
> rm -rf ${D}${bindir}/cairo-sphinx
> --
> 2.11.0
>
> --
> ___
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [oe-core][PATCH 5/7] cairo: fix file conflict when multilib enabled

2018-03-12 Thread Zhang Xiao
Script file cairo-trace conflict between 32 and 64 bit packages.
Use update-alternatives to add base_libdir as suffix to avoid it.

Signed-off-by: Zhang Xiao 
---
 meta/recipes-graphics/cairo/cairo_1.14.12.bb | 16 +++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/cairo/cairo_1.14.12.bb 
b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
index 075ca1ed34..1f2d68c0de 100644
--- a/meta/recipes-graphics/cairo/cairo_1.14.12.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.14.12.bb
@@ -10,6 +10,20 @@ SRC_URI = 
"http://cairographics.org/releases/cairo-${PV}.tar.xz \
 SRC_URI[md5sum] = "9f0db9dbfca0966be8acd682e636d165"
 SRC_URI[sha256sum] = 
"8c90f00c500b2299c0a323dd9beead2a00353752b2092ead558139bd67f7bf16"
 
+inherit update-alternatives
+
+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
+
+ALTERNATIVE_${PN}-perf-utils="cairo-trace"
+ALTERNATIVE_LINK_NAME[cairo-trace] = "${bindir}/cairo-trace"
+ALTERNATIVE_TARGET[cairo-trace] = "${bindir}/cairo-trace-${MULTILIB_SUFFIX}"
+
+PACKAGE_PREPROCESS_FUNCS += "alternatives_rename"
+
+alternatives_rename() {
+   mv ${PKGD}${bindir}/cairo-trace 
${PKGD}${bindir}/cairo-trace-${MULTILIB_SUFFIX}
+}
+
 PACKAGES =+ "cairo-gobject cairo-script-interpreter cairo-perf-utils"
 
 SUMMARY_${PN} = "The Cairo 2D vector graphics library"
@@ -35,7 +49,7 @@ FILES_${PN} = "${libdir}/libcairo.so.*"
 FILES_${PN}-dev += "${libdir}/cairo/*.so"
 FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*"
 FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
-FILES_${PN}-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/*.la 
${libdir}/cairo/libcairo-trace.so.*"
+FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la 
${libdir}/cairo/libcairo-trace.so.*"
 
 do_install_append () {
rm -rf ${D}${bindir}/cairo-sphinx
-- 
2.11.0

-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core