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]] -=-=-=-=-=-=-=-=-=-=-=-
