[OE-core] [PATCH v2 2/4] libcap: fix (base_)libdir usage

Ricardo Salveti rsalveti at rsalveti.net
Tue May 8 17:46:43 UTC 2018


On Mon, Apr 16, 2018 at 10:00 AM, Koen Kooi <koen at dominion.thruhere.net> wrote:
> The recipe wants to install libs into base_libdir, but uses "basename $libdir" to derive that. That breaks in a multiarch setup. Use the proper variable and remove the inline python usage.
>
> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> ---
>  meta/recipes-support/libcap/libcap_2.25.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/recipes-support/libcap/libcap_2.25.bb b/meta/recipes-support/libcap/libcap_2.25.bb
> index d619a2e..47ecf34 100644
> --- a/meta/recipes-support/libcap/libcap_2.25.bb
> +++ b/meta/recipes-support/libcap/libcap_2.25.bb
> @@ -32,7 +32,7 @@ PACKAGECONFIG[pam] = "PAM_CAP=yes,PAM_CAP=no,libpam"
>
>  EXTRA_OEMAKE = " \
>    INDENT=  \
> -  lib=${@os.path.basename('${libdir}')} \
> +  lib='${base_libdir}' \
>    RAISE_SETFCAP=no \
>    DYNAMIC=yes \
>    BUILD_GPERF=yes \

This creates a build failure when usrmerge is used, as libcap expects
only the lib folder name and not the lib path (and when usrmerge is
enabled base_libdir gets set to /usr/lib instead of /lib).

Since base_libdir and libdir are all based out baselib, can you
provide more details about how that broke your multiarch setup?

The failure when usrmerge is used:
WARNING: libcap-2.25-r0 do_package: QA Issue: libcap:
Files/directories were installed but not shipped in any package:
  /usr/lib
  /usr/usr/lib/libcap.so
  /usr/usr/lib/libcap.so.2
  /usr/usr/lib/libcap.so.2.25
  /usr/usr/lib/libcap.a
  /usr/usr/lib/pkgconfig
  /usr/usr/lib/pkgconfig/libcap.pc
  /usr/usr/lib/security/pam_cap.so

Thanks,
-- 
Ricardo Salveti de Araujo



More information about the Openembedded-core mailing list