qemu related binaries installed to /usr/lib64/xen/bin even though it's being built in 32-bit platform Reproducible: Always Steps to Reproduce: 1. emerge xen-tools-4.2.1-r1 in x86 (not 64) platform with USE=qemu Actual Results: qemu binaries installed to /usr/lib64/xen/bin Expected Results: qemu binaries installed to /usr/lib/xen/bin workaround I have taken: --- xen-tools-4.2.1-r1.ebuild.orig 2013-02-23 04:39:25.610773971 +0000 +++ xen-tools-4.2.1-r1.ebuild 2013-02-23 04:55:00.278775019 +0000 @@ -267,9 +267,9 @@ keepdir /var/log/xen-consoles fi - if use qemu; then - mkdir -p "${D}"usr/lib64/xen/bin || die - mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/lib64/xen/bin/ || die + if use qemu && [ $(get_libdir) != "lib" ]; then + mkdir -p "${D}"usr/$(get_libdir)/xen/bin || die + mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/$(get_libdir)/xen/bin/ || die fi # For -static-libs wrt Bug 384355
eeer, I'm puzzled. Let's do some sanity checks here, though I find it difficult to fathom you haven't got this right. 1. $(get_libdir) can == either lib, lib32 || lib64. [ $(get_libdir) != "lib" ] then would be equiv. to $(get_libdir) == "lib64" or "lib32" which is accounting for the possible values for if use amd64. however your description indicates this is a correction for the case of x86 2. I would expect line 1 to read if use qemu && use x86; then OR if use qemu && [ $(get_libdir) == "lib" ]; then making it to account for the case of use x86. If you've arrived at this and you're running on an x86, it follows you've tried it, tested it and subsequently entered it here. tilt. Now let me point out I am in a 64 system here, but I have an x86 system I can boot into so as to run this. Chrooting into the x86 system I find untrustworthy. I will re-boot into it after you reply here. 3. mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/lib64/xen/bin/ || die does appear indeed wrong, hard-coding the moves to lib64. Indeed it need account for the 32-bit platform. Can you make line 1 read { if use qemu && use x86 }; then OR split into a nested 2 lines if use qemu; then if use x86; then and adjust lines 2 & 3 to suit, and re-post with what works. Once you get that more robust form, I'll reboot, run and test in x86 and polish off the case of elif use amd64. thx
confirm results as exactly described by Tomoatsu Shimada on x86, instead of the patch mentioned above we have used a simple nested set of if's (providing the correct test logic): --- xen-tools-4.2.1-r1.ebuild 2013-02-22 11:01:03.000000000 +0000 +++ xen-tools-4.2.1-r1.ebuild 2013-03-05 17:52:01.203779603 +0000 @@ -268,8 +268,11 @@ fi if use qemu; then - mkdir -p "${D}"usr/lib64/xen/bin || die - mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/lib64/xen/bin/ || die + if use x86; then + dodir /usr/lib/xen/bin/ + elif use amd64; then + mv "${D}"usr/lib/xen/bin/qemu* "${D}"usr/$(get_libdir)/xen/bin/ || die + fi fi # For -static-libs wrt Bug 384355 tested and working on both x86 and amd64 https://bugs.gentoo.org/458818 "app-emulation/xen-tools-4.2.1-r1: $(get_libdir) is not respected during taking care of qemu relevant binaries"; Gentoo Linux, Applications; IN_P; shimarin:idella4
05 Mar 2013; Ian Delaney <idella4@gentoo.org> xen-tools-4.2.0-r3.ebuild, xen-tools-4.2.1-r2.ebuild: Fix paths for qemu files, fixes Bug #458818 by Tomoatsu Shimada