[yocto] Requires section of RPM Spec

Bipnesh, Abhinav (Abhinav) abhinavbipnesh at avaya.com
Tue Oct 25 04:42:56 PDT 2016



-----Original Message-----
From: yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] On Behalf Of Alexander Kanavin
Sent: Tuesday, October 25, 2016 17:00
To: yocto at yoctoproject.org
Subject: Re: [yocto] Requires section of RPM Spec

On 10/25/2016 02:24 PM, Bipnesh, Abhinav (Abhinav) wrote:

> Is there a way we can avoid pre-populating the Requires section of the 
> generated RPM Spec from a recipe?
>
> I have not set any RDEPENDS or other such section but still the 
> section get populated. Below is an example
>
>
>
> Requires: libcrypto.so.1.0.0(OPENSSL_1.0.2d)
>
> Requires: libdl.so.2
>
> Requires: libuuid1 >= 2.26.2
>
> Requires(pre): libgcc1 >= 4.9.2
>
> Requires(pre): libssl1.0.0 >= 1.0.2h
>
> Requires(pre): libgcc_s.so.1(GCC_3.0)
>
> Requires(pre): libc.so.6(GLIBC_2.1)
>
> Requires(pre): /usr/bin/perl
>
> Requires(pre): libboost_system.so.1.58.0
>
> Requires(pre): libstdc++.so.6(GLIBCXX_3.4.20)
>
> Requires(pre): libc.so.6(GLIBC_2.3)

You need to provide some context: why do you want to avoid that? These are all runtime library dependencies, and they get added automatically by inspecting the binaries that your recipe generates. This is generally seen as a Good Thing.
Basically when we try to install these package on the image using RPM package management i.e. rpm -ivh <package name> the dependency checks fails as the rootfs doesn't contain RPM database from where the check be made. So below is sample output
# rpm -iUvh <package name> 
error: Failed dependencies:
        libgcc1 >= 4.9.2 is needed by 
        libssl1.0.0 >= 1.0.2h is needed by
        libgcc_s.so.1(GCC_3.0) is needed by
       libboost_date_time.so.1.58.0 is needed by

# ls -l libboost_*
-rwxr-xr-x 1 root root   5512 Oct 21 02:19 libboost_atomic.so.1.58.0
-rwxr-xr-x 1 root root  26036 Oct 21 02:19 libboost_chrono.so.1.58.0
-rwxr-xr-x 1 root root  56824 Oct 21 02:19 libboost_date_time.so.1.58.0
-rwxr-xr-x 1 root root 101668 Oct 21 02:19 libboost_filesystem.so.1.58.0
-rwxr-xr-x 1 root root 323468 Oct 21 02:19 libboost_graph.so.1.58.0
-rwxr-xr-x 1 root root  90296 Oct 21 02:19 libboost_iostreams.so.1.58.0
-rwxr-xr-x 1 root root 811012 Oct 21 02:19 libboost_log.so.1.58.0
-rwxr-xr-x 1 root root 976360 Oct 21 02:19 libboost_log_setup.so.1.58.0
-rwxr-xr-x 1 root root  56736 Oct 21 02:19 libboost_prg_exec_monitor.so.1.58.0
-rwxr-xr-x 1 root root 445064 Oct 21 02:19 libboost_program_options.so.1.58.0
-rwxr-xr-x 1 root root  18964 Oct 21 02:19 libboost_random.so.1.58.0
-rwxr-xr-x 1 root root 959576 Oct 21 02:19 libboost_regex.so.1.58.0
-rwxr-xr-x 1 root root 339904 Oct 21 02:19 libboost_serialization.so.1.58.0
-rwxr-xr-x 1 root root  98740 Oct 21 02:19 libboost_signals.so.1.58.0
-rwxr-xr-x 1 root root  11824 Oct 21 02:19 libboost_system.so.1.58.0
-rwxr-xr-x 1 root root 119904 Oct 21 02:19 libboost_thread.so.1.58.0
-rwxr-xr-x 1 root root 595776 Oct 21 02:19 libboost_unit_test_framework.so.1.58.0
-rwxr-xr-x 1 root root 236348 Oct 21 02:19 libboost_wserialization.so.1.58.0

That's why we don't want to pre-populate the dependency sections so that we can install them without any errors.

Abhinav

Alex

--
_______________________________________________
yocto mailing list
yocto at yoctoproject.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.yoctoproject.org_listinfo_yocto&d=DQICAg&c=BFpWQw8bsuKpl1SgiZH64Q&r=geJ1wB7xRIMmteYB2Fo8esL32BOWvwP1HmY0YuLEB4E&m=FeKYhuKIOgKi8l5-w8UurfoeqRmIQsl85fImHIm8TeY&s=4Q8Zpb9FOMKgs8iCSOGRmw8o6mWm32Q1YboglTdDhOg&e= 



More information about the yocto mailing list