Re: dropping autogenerated dependency on pkg-config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 30, 2019 at 6:42 PM Tomasz Kłoczko <kloczko.tomasz@xxxxxxxxx> wrote:
>
> On Tue, 30 Apr 2019 at 21:04, Neal Gompa <ngompa13@xxxxxxxxx> wrote:
>>
>> > And what is wrong with just "BuildRequires: pkgconfig"?
>>
>> That is no guarantee that '/usr/bin/pkg-config' will be provided,
>> which is required by the dep generator and various tools.
>
>
> You just put in my hand +1 to not use paths in BuildRequires.
> +1 for me. Thx.
> If you will look across /usr/lib/macros and files in /usr/lib/rpm/macros.d you will find hundreds of other commands used with full path and only occasionally some of them are used in BRs in form "BuildRequires: /some/path/command".
> Are going to request/propose to change whole distribution pattern of BRs? Really?
> FYI: We call that thing which you are refusing to use .. abstraction.

No I didn't. I know perfectly well what abstractions are, and you're
asking me to remove an abstraction, not add one.

And no, I'm not going to request that. However, that's what we have
*now* and that abstraction (yes, it is one!) allows any valid provider
of /usr/bin/pkg-config to step in and satisfy the role for the
dependency generator. That's how *I* swapped pkgconfig for pkgconf
back in Fedora 26. Trust me, I know how this works.

>>
>> > Don't you see that this forces dependencies resolution to use packages files list?
>>
>> This is free already, as that data is always part of the solver cache.
>>
>> Besides, there is no ban on paths that are provided by primary.xml
>> (*/bin, */sbin, */lib(64|exec), /etc). The ban is basically pointless,
>> but that's what it is.
>
>
> <counerargument=WRONG>
> rpmbuild is not using dnf xml files :-/
> </counerargument>
>

Yes, but "dnf builddep" does... which we use as part of constructing a
package build environment.

>> > IIRC Fedora already had policy to not use paths in BRs.
>>
>> Outside of paths already provided in primary.xml, packagers SHOULD NOT, yes.
>
>
> You are again talking about install package time dependencies resolution.
> Command rpmbuild which is processing spec files is using rpm database.
> We are talking about packages build time dependencies resolution.

Are you seriously being obtuse on purpose?

But you seem to be missing the point. We use the BuildRequires listed
in the spec to install build dependencies using DNF with Mock. That's
how build environments are populated. All build-time dependencies are
install-time dependencies when you're preparing to build a package. I
don't know how you missed *that*.

> Please do me a favourite and execute on your system from root "rpm --rebuilddb; ls -l /var/lib/rpm/{Basenames,Providename}" and answer on the question: query to which one rpm table has chance to be shorter?
>

Just stop. Please.

First: the phrase is "do me a favor", not "do me a favo[u]rite".

Second, do you not even know that Mock passes --nodeps to rpmbuild
because the rpmdb in the chroot isn't necessarily compatible with rpm
in the chroot? We currently don't allow rpmbuild to evaluate
dependencies at all. We may change this if Koji switches to producing
bootstrap chroots before producing the build chroot. So right now,
that lookup is not even happening.

Third, if the lookup is happening, rpmbuild is perfectly capable of
evaluating file deps effectively. The rpmdb is relatively efficient
for this kind of lookup.



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux