rpm.org 4.16.x is coming to Th

Neal Gompa ngompa13 at gmail.com
Sun Jan 31 16:45:23 CET 2021


On Sun, Jan 31, 2021 at 4:16 AM Jan Rękorajski <baggins at pld-linux.org> wrote:
>
> On Mon, 11 Jan 2021, Neal Gompa wrote:
>
> > On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe <glen at pld-linux.org> wrote:
> > >
> > >
> > > On 11.01.2021 10:38, Jan Rękorajski wrote:
> > > > If you think there is still something that is blocking the change please
> > > > speak*now*.
> > >
> > > are these pld introduced noauto* macros and files supported in 4.16 build?
> > >
> > >
> > > %define         _noautoprovfiles        %{_libdir}/%{name}
> >
> > No, you need to use the standard filtering mechanism:
> > https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/
>
> And, sadly, this mechanism is again a piece of crap, and another thing that was
> solved 20 years ago in PLD.
>
> rpm5 supports multiple lines with multiple regexps each. rpmfcExpandRegexps.
>

In the years I've been involved in rpm.org upstream, literally nobody
has ever asked for this to be made better, much less submitted
patches. Complaining about it being "crap" and "solved 20 years ago in
PLD" is unhelpful when as far as I know, nobody from PLD talked to
rpm.org rpm upstream in at least the past decade, even before PLD
switched to rpm5.org rpm back in 2012.

> rpm.org rpm can only do a single regexp in a single macro, so no things
> like we have:
>
> %__noautoreq            %(sed -e s'/#.*//' /etc/rpm/noautoreq) \
>         %{?_noautoreq: %{_noautoreq}} \
>         %{?_noautoreq_java: %{__noauto_regexp_helper -p java %{_noautoreq_java}}} \
>         %{?_noautoreq_mono: %{__noauto_regexp_helper -p mono %{_noautoreq_mono}}} \
>         %{?_noautoreq_pear: %{__noauto_regexp_helper -p pear %{_noautoreq_pear}}} \
>         %{?_noautoreq_perl: %{__noauto_regexp_helper -p perl %{_noautoreq_perl}}} \
>         %{?_noautoreq_pyegg: %{__noauto_regexp_helper -p pythonegg %{_noautoreq_pyegg}}} \
>         %{?_noautoreq_py3egg: %{__noauto_regexp_helper -p python3egg %{_noautoreq_py3egg}}} \
>

That's technically a single definition, isn't it?

> or, in a spec file
>
> %define _noautoreq libFoo.so.1 libBar.so.1
>
> I'll see if I can fix this...
>

You could make a macro wrapper that generates the RPM native one. Or
submit a patch to rpm.org rpm to support multiple regexps in the
current stuff.



-- 
真実はいつも一つ!/ Always, there's only one truth!


More information about the pld-devel-en mailing list