@n3npq There are arch specific includes in the toolchains themselves (not 
necessarily located in /usr/include). I'm talking about the likes of 
xmmintrin.h (which is x86 specific intrinsics for x86 SIMD in gcc) and other 
bits in /usr/lib64/gcc/*/*/include.

Especially when building compilers and cross-compilers from the same source 
package, it can be useful to tell the corresponding packages to include 
xmmintrin.h if it's there (target = x86 or x86_64 or x32) and not barf if it 
isn't there (e.g. while building ARM targets).
It gets more complicated than just %ifarch because of cross-compilers (arm 
crosscompiler built on x86_64 won't have xmmintrin.h), so it can get a little 
convoluted.
(And no, just including /usr/lib64/gcc/*/*/include/*.h or the likes doesn't do 
the trick because some of those headers go into C++ or Fortran specific 
subpackages).

The libreoffice language pack bits would be as simple as you're saying if 
libreoffice didn't invent its own directory structure.
We have:
%{_libdir}/libreoffice/program/resource/$LANGNAME <--- contains translations
%{_libdir}/libreoffice/readmes/README_$LANGNAME <--- translated README file
%{_libdir}/libreoffice/share/autotext/$LANGNAME <--- per-language 
auto-completions
%{_libdir}/libreoffice/share/registry/Langpack-$LANGNAME.xcd <--- translation 
metadata
%{_libdir}/libreoffice/share/registry/res/*_$LANGNAME.xcd <--- translated 
resource metadata
%{_libdir}/libreoffice/help/$LANGNAME <--- help files
It was even worse in some older versions with extras along the lines of
%{_datadir}/hyphen/$LANGNAME <--- hyphenation rules
%{_datadir}/autocorr/$LANGNAME <--- autocorrection
(those have moved to separate libraries lately).
There's loads of different combinations of incomplete translations -- some 
languages have translations, but no README, no auto-completion, no help, others 
have a translation, a README, auto-completion, no help, others have only 
translated help, ...

Of course it's possible to generate the help packages by specifying what's 
there for every language (and keep that up to date with every update that has a 
new language related feature or that drops a language), but this is far 
simpler, more readable and less of a pain to maintain:
%optional %{_libdir}/libreoffice/program/resource/$LANGNAME
%optional %{_libdir}/libreoffice/readmes/README_$LANGNAME
%optional %{_libdir}/libreoffice/share/autotext/$LANGNAME
%optional %{_libdir}/libreoffice/share/registry/Langpack-$LANGNAME.xcd
%optional %{_libdir}/libreoffice/share/registry/res/*_$LANGNAME.xcd
%optional %{_libdir}/libreoffice/help/$LANGNAME
%optional %{_datadir}/hyphen/$LANGNAME
%optional %{_datadir}/autocorr/$LANGNAME


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/pull/417#issuecomment-373242839
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to