Re: rpm.org 4.16.x is coming to Th

2021-01-31 Thread Jan Rękorajski
On Sun, 31 Jan 2021, Neal Gompa wrote:

> On Sun, Jan 31, 2021 at 4:16 AM Jan Rękorajski  wrote:
> >
> > On Mon, 11 Jan 2021, Neal Gompa wrote:
> >
> > > On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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.

Sorry, but it was working AFAIR before the split without any special
patching. There was no rpm5 20 years ago :)

And how would I know that rpm.org does not have something that was there
so long ago?

> > 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?

Unfortunately not for the regexp(3) :(
It's a multiline blob that's far from being a valid regexp as such.

> > 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.

Wrapper it is. TBH adding a wrapper is more straightforward than
figuring out hacky rpm5 code and adapting it for rpm.org.

-- 
Jan Rękorajski| PLD/Linux
SysAdm | bagginspld-linux.org | http://www.pld-linux.org/
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-31 Thread Neal Gompa
On Sun, Jan 31, 2021 at 4:16 AM Jan Rękorajski  wrote:
>
> On Mon, 11 Jan 2021, Neal Gompa wrote:
>
> > On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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!
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-31 Thread Jan Rękorajski
On Mon, 11 Jan 2021, Neal Gompa wrote:

> On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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.

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}}} \

or, in a spec file

%define _noautoreq libFoo.so.1 libBar.so.1

I'll see if I can fix this...

-- 
Jan Rękorajski| PLD/Linux
SysAdm | bagginspld-linux.org | http://www.pld-linux.org/
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-19 Thread Jan Rękorajski
On Mon, 11 Jan 2021, Elan Ruusamäe 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*.
> 
> php devel packages /usr/bin/php dependency

Sorry, but I do not consider one sad package to be a blocker.

The real blocker was our tooling that relied on rpm5 APIs.
I fixed ftp admin tools and builder tooling should be ready now.

-- 
Jan Rękorajski| PLD/Linux
SysAdm | bagginspld-linux.org | http://www.pld-linux.org/
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-19 Thread Jan Rękorajski
On Mon, 18 Jan 2021, Marcin Krol wrote:

> > rpmbuild --nobuild doesn't return missing deps, just empty output
> > 
> > This call is used in install.py of pld-builder.new and not returning 
> > missing deps results in builders not doing auto install of missing deps.
> > 
> > M.
> > 
> > P.S. Tested on TLD, but differences shouldn't matter in this case
> 
> Looks like "rpmbuild --nodbuild -br" does the job...

Thanks for figuring this out.

I ported ftp admin tools over to rpm4 / py3, unfortunately I don't have
a builder handy to break for porting. Luckily it looks like builder does
not pull python-rpm, just calls rpm binary. So if there are no more
surprises we should be good to go.

-- 
Jan Rękorajski| PLD/Linux
SysAdm | bagginspld-linux.org | http://www.pld-linux.org/
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-18 Thread Marcin Krol

rpmbuild --nobuild doesn't return missing deps, just empty output

This call is used in install.py of pld-builder.new and not returning 
missing deps results in builders not doing auto install of missing deps.


M.

P.S. Tested on TLD, but differences shouldn't matter in this case


Looks like "rpmbuild --nodbuild -br" does the job...

M.
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-17 Thread Marcin Krol

On 11-Jan-21 09:38, Jan Rękorajski wrote:

Hi,

Later this week rpm from rpm.org, along with all necessary tools
(macros, poldek, specdump, etc.) are going to land in th-test.

I believe the last real stopper[1] has been "fixed", so we should finally
switch.

If you think there is still something that is blocking the change please
speak *now*.

Please be aware that rpm database format will change with this to sqlite.

[1] https://github.com/poldek-pm/poldek/issues/17


rpmbuild --nobuild doesn't return missing deps, just empty output

This call is used in install.py of pld-builder.new and not returning 
missing deps results in builders not doing auto install of missing deps.


M.

P.S. Tested on TLD, but differences shouldn't matter in this case

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: AutoProvidesAndRequiresFiltering (was Re: rpm.org 4.16.x is coming to Th)

2021-01-11 Thread Neal Gompa
On Mon, Jan 11, 2021 at 12:34 PM Elan Ruusamäe  wrote:
>
>
> On 11.01.2021 17:10, Neal Gompa wrote:
> > On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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/
>
> I've always thought, why provide/require SONAME dependencies of files that 
> are not in default dl.so search path?
>
> like, why this (or equivalent) can't be the default:
>
> %global __provides_exclude_from ^%{_libdir}/.+/.+\\.so$
> %global __requires_exclude_from ^%{_libdir}/.+/.+\\.so$
>
> to exclude everything not a direct file in %{_libdir}[*].
>
> [*] might also need to support lib32dir and libx32dir for multiarch.
>

The main reason is that it's difficult to *add* paths to dynamically
search sanely, but it's possible to do what you're saying by changing
the fileattr definitions for elf dependencies to include a file path
restriction.


-- 
真実はいつも一つ!/ Always, there's only one truth!
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


AutoProvidesAndRequiresFiltering (was Re: rpm.org 4.16.x is coming to Th)

2021-01-11 Thread Elan Ruusamäe


On 11.01.2021 17:10, Neal Gompa wrote:

On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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/


I've always thought, why provide/require SONAME dependencies of files that are 
not in default dl.so search path?

like, why this (or equivalent) can't be the default:

%global __provides_exclude_from ^%{_libdir}/.+/.+\\.so$
%global __requires_exclude_from ^%{_libdir}/.+/.+\\.so$

to exclude everything not a direct file in %{_libdir}[*].

[*] might also need to support lib32dir and libx32dir for multiarch.

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-11 Thread Neal Gompa
On Mon, Jan 11, 2021 at 10:09 AM Elan Ruusamäe  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/


-- 
真実はいつも一つ!/ Always, there's only one truth!
___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-11 Thread Elan Ruusamäe


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}

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-11 Thread Elan Ruusamäe


On 11.01.2021 10:38, Jan Rękorajski wrote:

Please be aware that rpm database format will change with this to sqlite.


please provide guide for this. migrating, back, forward,  etc. common 
problems and how to troubleshoot.



wiki is good place:

- https://www.pld-linux.org/packages/rpm#rpm_416_porting_status


___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en


Re: rpm.org 4.16.x is coming to Th

2021-01-11 Thread Elan Ruusamäe

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*.


php devel packages /usr/bin/php dependency

___
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en