Message ID | 1678168291-14150-1-git-send-email-wangmy@fujitsu.com |
---|---|
State | Accepted, archived |
Commit | 3cf894b8a9c4fa14fcc7c7445e85e9ae3192b398 |
Headers | show |
Series | [v2] vala: Fix install conflict when enable multilib. | expand |
On Tue, 7 Mar 2023 at 06:51, wangmy <wangmy@fujitsu.com> wrote: > @@ -42,14 +42,20 @@ EXTRA_OECONF += " --disable-valadoc" > # Vapigen wrapper needs to be available system-wide, because it will be used > # to build vapi files from all other packages with vala support > do_install:append:class-target() { > - install -d ${D}${bindir_crossscripts}/ > - install ${B}/vapigen-wrapper ${D}${bindir_crossscripts}/ > + install -d ${D}${bindir_crossscripts} > + install ${B}/vapigen-wrapper ${D}${bindir_crossscripts} > + install ${B}/vapigen-wrapper ${D}${libdir} > } > > +FILES:${PN}-dev += "${libdir}/vapigen-wrapper" > + The correct way to fix this is to simply delete vapigen-wrapper from target packages in vala_package_preprocess(). It is only needed in sysroots, not on actual targets. Alex
On Tue, 2023-03-07 at 13:51 +0800, wangmy wrote: > From: Wang Mingyu <wangmy@fujitsu.com> > > Error: Transaction test error: > file /usr/bin/vala-gen-introspect-0.56 conflicts between attempted installs of lib32-vala-0.56.3-r0.armv7ahf_neon and vala-0.56.3-r0.aarch64 > file /usr/bin/vapigen-wrapper conflicts between attempted installs > of lib32-vala-0.56.3-r0.armv7ahf_neon and vala-0.56.3-r0.aarch64 > > Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> > --- > meta/recipes-devtools/vala/vala.inc | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) Alex's comment is correct, we should remove the wrapper. I'd also remind about my previous comment on patches like this. I'd like to see any changes for these kinds of errors containing a "diff -u" of the files so we can see what the issues are. I will not be merging any without that information present in the commit message. Cheers, Richard
diff --git a/meta/recipes-devtools/vala/vala.inc b/meta/recipes-devtools/vala/vala.inc index d3daee37dc..5f4d4ceb70 100644 --- a/meta/recipes-devtools/vala/vala.inc +++ b/meta/recipes-devtools/vala/vala.inc @@ -42,14 +42,20 @@ EXTRA_OECONF += " --disable-valadoc" # Vapigen wrapper needs to be available system-wide, because it will be used # to build vapi files from all other packages with vala support do_install:append:class-target() { - install -d ${D}${bindir_crossscripts}/ - install ${B}/vapigen-wrapper ${D}${bindir_crossscripts}/ + install -d ${D}${bindir_crossscripts} + install ${B}/vapigen-wrapper ${D}${bindir_crossscripts} + install ${B}/vapigen-wrapper ${D}${libdir} } +FILES:${PN}-dev += "${libdir}/vapigen-wrapper" + # Put vapigen wrapper into target sysroot so that it can be used when building # vapi files. SYSROOT_DIRS += "${bindir_crossscripts}" +inherit multilib_script +MULTILIB_SCRIPTS = "${PN}:${bindir}/vala-gen-introspect-0.56" + SYSROOT_PREPROCESS_FUNCS:append:class-target = " vapigen_sysroot_preprocess" vapigen_sysroot_preprocess() { # Tweak the vapigen name in the vapigen pkgconfig file, so that it picks @@ -65,4 +71,5 @@ PACKAGE_PREPROCESS_FUNCS += "vala_package_preprocess" vala_package_preprocess () { sed -i -e 's:${RECIPE_SYSROOT}::g;' ${PKGD}${bindir_crossscripts}/vapigen-wrapper + rm -rf ${PKGD}${bindir_crossscripts} }