Hi RP,

Thanks for the comments.

On 3/2/26 18:57, Richard Purdie wrote:
On Sun, 2026-03-01 at 04:25 -0800, Robert Yang via lists.openembedded.org wrote:
From: Robert Yang <[email protected]>

The rpm 6 doesn't support external dependency generator. Oe-core used it for
per file dependency which was saved into pn.requires and pn.provides, but that
hasn't been used any more since 2012 (rev:
be40f6d0bb80274366af00461112af65687a4de8), and there were no complains or
updates in the past 13 years, so just drop it to support rpm 6.

This commit message is confusing. I think we need to be clear about the
following:

Is this file dependency information written into the existing rpms with
rpm 5?

I think you mean rpm 4 here, no, it isn't:
* You disabled it by default since 2012 (rev: be40f6d0bb80274366af00461112af65687a4de8), and said:

    Since few people use the per file dependency information, this patch
    goes for the faster approach. It can be enabled if anyone needs it although
    I'd mention that its being used to us as this code may well go away in
    the future if nobody complains.

* And even if we enable it manually, these info are just used by rpmbuild, others shouldn't use it?


After the changes, do we still have the file dependency information or
is this being removed?

Yes, we will still have the file dependency information generated by rpmbuild,
here are related code from rpm:

    /* If new-fangled dependency generation is disabled ... */
    if (!rpmExpandNumeric("%{?_use_internal_dependency_generator}")) {
    if (fc->rpmformat < 6) {
        /* ... then generate dependencies using %{__find_requires} et al. */
        rpmlog(RPMLOG_WARNING,
        _("Deprecated external dependency generator is used!\n"));
        rc = rpmfcApplyExternal(fc);
    } else {
        rpmlog(RPMLOG_ERR,
        _("External dependency generator is incompatible with v6 packages\n"));
        rc = RPMRC_FAIL;
    }
    } else {
    /* ... otherwise generate per-file dependencies */
    rc = rpmfcApplyInternal(fc);
    }


I think you're saying there were no external users after 2012 but I'm
not even 100% sure about that.

These info are for rpmbuild, there shouldn't be external users? And we must drop
it to support rpm 6.

And now I can't reproduce the build errors from autobuilder, I suspect it is
because of host contamination issues, I tried to reproduce it on ubuntu
25.04 and debian v12, but can't reproduce them, it looks to me that cairo.pc's
provides (pkgconfig(cairo) = 1.18.4) wasn't generate in autobuilder, but I don't
 know why.

We didn't get such issues in rpm4 was because rpm/scripts/pkgconfigdeps.sh didn't work in Yocto in the past, now rpm6 makes it work, so we got so many
corner case issues, I've tried do as many tests I can, but still failed.

// Robert

> > Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#232270): 
https://lists.openembedded.org/g/openembedded-core/message/232270
Mute This Topic: https://lists.openembedded.org/mt/118074032/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to