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

Jakub Bogusz qboosh at pld-linux.org
Tue Mar 16 21:12:45 CET 2021


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


-- 
Jakub Bogusz    http://qboosh.pl/


More information about the pld-devel-en mailing list