[packages/crossmingw32-pango] - rpm.org+meson combo require to redefine all dirs

Jan Rękorajski baggins at pld-linux.org
Tue Mar 16 22:02:18 CET 2021


On Tue, 16 Mar 2021, Jakub Bogusz wrote:

> On Sun, Mar 14, 2021 at 10:31:25PM +0100, qboosh wrote:
> > commit f5e59fe05417d0d72ef5e99cb896e81fdb32885a
> > Author: Jakub Bogusz <qboosh at pld-linux.org>
> > Date:   Sun Mar 14 22:32:30 2021 +0100
> > 
> >     - rpm.org+meson combo require to redefine all dirs; disable debug packages
> > 
> >  crossmingw32-pango.spec | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> > ---
> > diff --git a/crossmingw32-pango.spec b/crossmingw32-pango.spec
> > index b0b1e43..5d32499 100644
> > --- a/crossmingw32-pango.spec
> > +++ b/crossmingw32-pango.spec
> > @@ -45,6 +45,14 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
> >  %define		_libdir			%{_prefix}/lib
> >  %define		_pkgconfigdir		%{_prefix}/lib/pkgconfig
> >  %define		_dlldir			/usr/share/wine/windows/system
> > +# rpm.org needs redefining these (redefining _prefix don't change them)
> > +%define		_bindir			%{_prefix}/bin
> > +%define		_sbindir		%{_prefix}/sbin
> > +%define		_includedir		%{_prefix}/include
> > +%define		_libexecdir		%{_prefix}/libexec
> > +%define		_datadir		%{_prefix}/share
> > +%define		_infodir		%{_datadir}/info
> > +%define		_mandir			%{_datadir}/man
> >  %define		__pkgconfig_provides	%{nil}
> >  %define		__pkgconfig_requires	%{nil}
> >  # for meson 0.50+, keep __cc/__cxx as host compiler and pass %{target}-* in meson-cross.txt
> 
> In rpm5 packaging _*dir macros were defined relative to _prefix.
> In rpm.org rpm/platform/*-linux/macros files define absolute _*dir macros
> (instead of relative to %{_prefix}):
> 
> | # ---- configure macros.
> | #
> | %_prefix                /usr
> | %_exec_prefix           /usr
> | %_bindir                /usr/bin
> | %_sbindir               /usr/sbin
> | %_libexecdir            /usr/libexec
> | %_datarootdir           %{_prefix}/share
> | %_datadir               /usr/share
> | %_sysconfdir            /etc
> | %_sharedstatedir        /var/lib
> | %_localstatedir         /var
> | %_lib                   lib
> | %_libdir                /usr/lib
> | %_includedir            /usr/include
> | %_oldincludedir         /usr/include
> | %_infodir               /usr/share/info
> | %_mandir                /usr/share/man
> 
> Is it intentional change?
> 
> meson doesn't allow --{bin,sbin,include,libexec,data,info,man}dir outside --prefix,
> so in case of cross* packages I needed to additionally redefine more macros, even
> though some dirs are not actually used (just %meson macro passes them).

Side effect. We had this defined in our macros.pld.in, in rpm.org it's
in the per-platform definitions created by the rpm.

I believe it should be pretty straighforward to patch platform.in to use
relative defs. Just add a patch.

-- 
Jan Rękorajski                    | PLD/Linux
SysAdm | baggins<at>pld-linux.org | http://www.pld-linux.org/


More information about the pld-devel-en mailing list