The reason for the failure in master is that the functionality has been
moved from package.bbclass to package.py. I have created the patch for
master and sent it for review.

Cheers
Sreejith

On Wed, Jun 26, 2024 at 2:40 PM Sreejith Ravi via lists.openembedded.org
<[email protected]> wrote:

> Patch is created from the Kirkstone branch.
>
> Cheers
> Sreejith
>
> On Wed, Jun 26, 2024 at 2:37 PM Richard Purdie <[email protected]> wrote:
>
>> On Tue, 2024-06-25 at 19:15 +0000, Sreejith Ravi via
>> lists.openembedded.org wrote:
>> > Currently, the package_do_pkgconfig() only handles the "Requires" key
>> > field from the .pc file and ignores the "Requires.private" field
>> > while
>> > generating the dev dependency chain. This results in a broken
>> > dependency
>> > list and requires the installation of recommended packages to resolve
>> > the build dependencies when using the dev IPKs. This increases the
>> > hard disk space usage and download time and installs many unnecessary
>> > packages as part of the recommendations.
>> >
>> > This patch ensures that the "Requires.private" field is also
>> > considered
>> > when creating the dependency list for the dev IPKs. With this, the
>> > dev
>> > IPK will have the proper dependencies listed, eliminating the need to
>> > install recommended packages to resolve the build time dependencies.
>> >
>> > Example: usr/lib/pkgconfig/libical.pc
>> > ----------
>> > Libs: -L${libdir} -lical -licalss -licalvcal
>> > Libs.private: -lpthread
>> > Requires.private: icu-i18n
>> > ----------
>> > Depends field generated for libical-dev
>> > Depends: glib-2.0-dev, libical (= 3.0.7-r0)
>> > ------------
>> >
>> > When trying to resolve the build time dependency with libical
>> > package using “-dev” ipk generated, it will throw the below error.
>> > -----------
>> > Package icu-i18n was not found in the pkg-config search path.
>> > Perhaps you should add the directory containing `icu-i18n.pc'
>> > to the PKG_CONFIG_PATH environment variable
>> > Package 'icu-i18n', required by 'libical', not found
>> > -----------
>> >
>> > This patch will fix the broken dependency list.
>> >
>> > -------
>> > libical-dev depends field generated with this patch
>> > Depends: glib-2.0-dev, icu-dev, libical (= 3.0.7-r0)
>> > -------
>> >
>> > Other examples of packages generated with broken dev dependency.
>> >
>> > libflac-dev : https://packages.debian.org/sid/libflac-dev
>> > Without patch:
>> > Depends: flac (= 1.3.3-r0), libflac, libflac++
>> > with patch:
>> > Depends: flac (= 1.3.3-r0), libflac, libflac++, libogg-dev
>> >
>> > libglib2.0-dev : https://packages.debian.org/buster/libglib2.0-dev
>> > without patch:
>> > Depends: libffi-dev, libglib-2.0-0 (= 1:2.62.6-r0), libpcre-dev
>> > with patch:
>> > Depends: libffi-dev, libglib-2.0-0 (= 1:2.62.6-r0), libpcre-dev,
>> >          util-linux-dev, zlib-dev
>> >
>> > Signed-off-by: Sreejith Ravi <[email protected]>
>> > ---
>> >  meta/classes/package.bbclass | 2 +-
>> >  1 file changed, 1 insertion(+), 1 deletion(-)
>> >
>> > diff --git a/meta/classes/package.bbclass
>> > b/meta/classes/package.bbclass
>> > index 67351b2510..084fe428e5 100644
>> > --- a/meta/classes/package.bbclass
>> > +++ b/meta/classes/package.bbclass
>> > @@ -2182,7 +2182,7 @@ python package_do_pkgconfig () {
>> >                          if m:
>> >                              hdr = m.group(1)
>> >                              exp = pd.expand(m.group(2))
>> > -                            if hdr == 'Requires':
>> > +                            if hdr == 'Requires' or hdr ==
>> > 'Requires.private':
>> >                                  pkgconfig_needed[pkg] +=
>> > exp.replace(',', ' ').split()
>> >                                  continue
>> >                          m = var_re.match(l)
>> >
>>
>> Unfortunately this patch fails to apply. This is not a patch against
>> master and obviously hasn't need tested there.
>>
>> Cheers,
>>
>> Richard
>>
>>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#201168): 
https://lists.openembedded.org/g/openembedded-core/message/201168
Mute This Topic: https://lists.openembedded.org/mt/106876780/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to