Hello community, here is the log from the commit of package llvm7 for openSUSE:Factory checked in at 2020-03-22 14:17:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llvm7 (Old) and /work/SRC/openSUSE:Factory/.llvm7.new.3160 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llvm7" Sun Mar 22 14:17:05 2020 rev:22 rq:786948 version:7.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/llvm7/llvm7.changes 2020-03-03 10:20:23.735166197 +0100 +++ /work/SRC/openSUSE:Factory/.llvm7.new.3160/llvm7.changes 2020-03-22 14:17:16.210060666 +0100 @@ -1,0 +2,19 @@ +Thu Mar 19 22:51:37 UTC 2020 - Aaron Puchert <aaronpuch...@alice-dsl.net> + +- Move all clang-related scripts (including those originally in + clangX-checker) and hmaptool into a common unversioned + subpackage clang-tools, like python3-clang. + The scripts reference the unversioned executables, so allowing + multiple versions via update-alternatives would be misleading. + This should be the proper solution to boo#1161873. +- Include run-find-all-symbols script in clang-tools. +- Drop the now empty llvm-emacs-plugins package. +- Remove metadata for clangX-include-fixer subpackage that never + had any files and thus wasn't released as rpm. There are so many + clang binaries that packaging them separately doesn't scale. +- Remove unneccesary libtool dependency. +- Don't let clang depend on libc++, we link it with libstdc++. +- Recommend gold plugin if clang and gold are installed. +- Require clang-tools for clangX-devel. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llvm7.spec ++++++ --- /var/tmp/diff_new_pack.NLe77b/_old 2020-03-22 14:17:19.522062791 +0100 +++ /var/tmp/diff_new_pack.NLe77b/_new 2020-03-22 14:17:19.526062794 +0100 @@ -55,7 +55,7 @@ %bcond_with ffi %bcond_with oprofile %bcond_with valgrind -%bcond_with pyclang +%bcond_with clang_scripts Name: llvm7 Version: 7.0.1 @@ -118,7 +118,6 @@ BuildRequires: cmake BuildRequires: fdupes BuildRequires: libstdc++-devel -BuildRequires: libtool BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: python3-base @@ -193,12 +192,9 @@ # Avoid multiple provider errors Requires: libLTO%{_sonum} Requires: libclang%{_sonum} -Recommends: clang%{_sonum}-checker +Recommends: clang-tools Suggests: libstdc++-devel Suggests: libc++-devel -%if %{with cxx} -Requires: libc++%{_socxx} -%endif # Install after llvm packages that might have had diagtool as slave of llvm-ar # to prevent breaking the clang link group. OrderWithRequires: llvm7 @@ -209,44 +205,38 @@ %description -n clang%{_sonum} This package contains the clang (C language) frontend for LLVM. -%package -n clang%{_sonum}-checker -Summary: Static code analyzer for CLANG +%package -n clang-tools +Summary: Tools for Clang Group: Development/Languages/C and C++ URL: https://clang-analyzer.llvm.org/ # Avoid multiple provider errors -Requires: libclang%{_sonum} -# Due to a packaging error in clang3_8 we have to conflict. -Conflicts: clang3_8 +Requires: clang%{_sonum} +# Some binaries used to be in the clang package. +Conflicts: clang5 +Conflicts: clang6 +# hmaptool used to be contained in the llvm package. +Conflicts: llvm5 +Conflicts: llvm6 +Provides: clang%{_sonum}-checker Conflicts: scan-build < %{version} Conflicts: scan-view < %{version} +Provides: llvm%{_sonum}-emacs-plugins Provides: scan-build = %{version} Provides: scan-view = %{version} +Conflicts: emacs-llvm < %{version} +Provides: emacs-llvm = %{version} +Conflicts: vim-plugin-llvm < %{version} -%description -n clang%{_sonum}-checker -This package contains scan-build and scan-view, command line -static code analyzers for CLANG. - -%package -n clang%{_sonum}-include-fixer -Summary: Automatically add missing includes -# Avoid multiple provider errors -Group: Development/Languages/C and C++ -Requires: libclang%{_sonum} = %{_relver} -Conflicts: clang-include-fixer < %{version} -Conflicts: find-all-symbols < %{version} -Provides: clang-include-fixer = %{version} -Provides: find-all-symbols = %{version} - -%description -n clang%{_sonum}-include-fixer -One of the major nuisances of C++ compared to other languages -is the manual management of include directives in any file. -clang-include-fixer addresses one aspect of this problem by -providing an automated way of adding include directives for -missing symbols in one translation unit. - -While inserting missing includes, clang-include-fixer adds -missing namespace qualifiers to all instances of an -unidentified symbol if the symbol is missing some prefix -namespace qualifiers. +%description -n clang-tools +This package contains tools and scripts for using Clang, including: +* bash completions for clang, +* the clang-doc tool, +* plugins for using clang-format, clang-rename, clang-include-fixer + in vim and emacs. +* scripts for using clang-format: git-clang-format and clang-format-diff, +* scripts for using clang-tidy: run-clang-tidy and clang-tidy-diff, +* scripts for using the Clang static analyzer: scan-build and scan-view, +* a script for using find-all-symbols: run-find-all-symbols. %package -n libclang%{_sonum} Summary: Library files needed for clang @@ -262,6 +252,7 @@ Group: Development/Libraries/C and C++ Requires: %{name}-devel = %{_relver} Requires: clang%{_sonum} = %{_relver} +Requires: clang-tools Conflicts: cmake(Clang) %description -n clang%{_sonum}-devel @@ -297,6 +288,7 @@ Requires: libLLVM%{_sonum} Conflicts: llvm-gold-provider < %{version} Provides: llvm-gold-provider = %{version} +Supplements: packageand(clang%{_sonum}:binutils-gold) %description gold This package contains the Gold linker plugin for LLVM. @@ -370,17 +362,6 @@ %description vim-plugins This package contains vim plugins for LLVM like syntax highlighting. -%package emacs-plugins -Summary: Emacs plugins for LLVM -Group: Productivity/Text/Editors -Supplements: packageand(llvm%{_sonum}-devel:emacs) -Conflicts: emacs-llvm < %{version} -Provides: emacs-llvm = %{version} -BuildArch: noarch - -%description emacs-plugins -This package contains Emacs plugins for LLVM like syntax highlighting. - %package -n python3-clang Summary: Python bindings for libclang Group: Development/Libraries/Python @@ -785,7 +766,7 @@ # install python bindings # The python bindings use the unversioned libclang.so, # so it doesn't make sense to have multiple versions of it -%if %{with pyclang} +%if %{with clang_scripts} install -d %{buildroot}%{python3_sitelib}/clang pushd tools/clang/bindings/python cp clang/*.py %{buildroot}%{python3_sitelib}/clang @@ -810,6 +791,7 @@ mv %{buildroot}%{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff mv %{buildroot}%{_datadir}/clang/clang-tidy-diff.py %{buildroot}%{_bindir}/clang-tidy-diff mv %{buildroot}%{_datadir}/clang/run-clang-tidy.py %{buildroot}%{_bindir}/run-clang-tidy +mv %{buildroot}%{_datadir}/clang/run-find-all-symbols.py %{buildroot}%{_bindir}/run-find-all-symbols install -d %{buildroot}%{python3_sitelib} mv %{buildroot}%{_datadir}/opt-viewer/opt-diff.py %{buildroot}%{_bindir}/opt-diff @@ -818,10 +800,8 @@ mv %{buildroot}%{_datadir}/opt-viewer/optpmap.py %{buildroot}%{python3_sitelib}/optpmap.py mv %{buildroot}%{_datadir}/opt-viewer/optrecord.py %{buildroot}%{python3_sitelib}/optrecord.py -mkdir -p %{buildroot}%{_libdir}/clang/%{_relver} -mv %{buildroot}%{_datadir}/clang/bash-autocomplete.sh %{buildroot}%{_libdir}/clang/%{_relver}/bash-autocomplete.sh mkdir -p %{buildroot}%{_datadir}/bash-completion/completions -ln -s %{_sysconfdir}/alternatives/clang-bash-autocomplete.sh %{buildroot}%{_datadir}/bash-completion/completions/clang.sh +mv %{buildroot}%{_datadir}/clang/bash-autocomplete.sh %{buildroot}%{_datadir}/bash-completion/completions/clang chmod -x %{buildroot}%{_mandir}/man1/scan-build.1 @@ -856,12 +836,9 @@ rm %{buildroot}%{_datadir}/clang/*.applescript rm %{buildroot}%{_datadir}/clang/clang-format-sublime.py -# XXX: FIXME we should put these in a sub-package -rm %{buildroot}%{_datadir}/clang/run-find-all-symbols.py - # Prepare for update-alternatives usage mkdir -p %{buildroot}%{_sysconfdir}/alternatives -binfiles=( bugpoint diagtool dsymutil hmaptool llc lli \ +binfiles=( bugpoint diagtool dsymutil llc lli \ llvm-ar llvm-as llvm-bcanalyzer llvm-c-test llvm-cat llvm-cfi-verify llvm-cov llvm-cxxdump llvm-cxxfilt llvm-cvtres llvm-diff llvm-dis \ llvm-dlltool llvm-dwarfdump llvm-dwp llvm-exegesis llvm-extract \ @@ -873,10 +850,9 @@ sanstats verify-uselistorder yaml2obj \ c-index-test clang clangd clang++ clang-apply-replacements \ clang-change-namespace clang-check clang-cl clang-format \ - clang-func-mapping clang-import-test clang-include-fixer clang-format-diff \ + clang-func-mapping clang-import-test clang-include-fixer \ clang-offload-bundler clang-query clang-refactor clang-rename \ - clang-reorder-fields clang-tidy clang-tidy-diff find-all-symbols \ - git-clang-format modularize run-clang-tidy \ + clang-reorder-fields clang-tidy find-all-symbols modularize \ %if %{with lldb} lldb lldb-argdumper lldb-mi lldb-server lldb-test \ %endif @@ -932,23 +908,35 @@ %_llvm_with_ffi %{with ffi} %_llvm_with_oprofile %{with oprofile} %_llvm_with_valgrind %{with valgrind} -%_llvm_with_pyclang %{with pyclang} +%_llvm_with_clang_scripts %{with clang_scripts} %_llvm_with_lldb %{with lldb} EOF # Fix shebangs. -for script in %{buildroot}%{_bindir}/{{clang-{format,tidy}-diff,git-clang-format,\ -hmaptool,run-clang-tidy}-%{_relver},{ccc,c++}-analyzer,scan-{build,view}}; do +for script in %{buildroot}%{_bindir}/{clang-{format,tidy}-diff,git-clang-format,\ +hmaptool,run-{clang-tidy,find-all-symbols},scan-{build,view}}; do sed -i '1 s|/usr/bin/env *|/usr/bin/|' $script done # Remove executable bit where not needed. chmod -x \ %{buildroot}%{python3_sitelib}/optpmap.py \ - %{buildroot}%{_libdir}/clang/%{_relver}/bash-autocomplete.sh \ + %{buildroot}%{_datadir}/bash-completion/completions/clang \ %{buildroot}%{_datadir}/clang/clang-{format,include-fixer,rename}.{el,py} \ %{buildroot}%{_datadir}/opt-viewer/style.css +%if !%{with clang_scripts} +rm %{buildroot}%{_bindir}/{c++,ccc}-analyzer +rm %{buildroot}%{_bindir}/clang-{format-diff,tidy-diff} +rm %{buildroot}%{_bindir}/git-clang-format +rm %{buildroot}%{_bindir}/hmaptool +rm %{buildroot}%{_bindir}/run-{clang-tidy,find-all-symbols} +rm %{buildroot}%{_bindir}/scan-{build,view} +rm %{buildroot}%{_datadir}/bash-completion/completions/clang +rm -r %{buildroot}%{_datadir}/{clang,scan-build,scan-view}/ +rm %{buildroot}%{_mandir}/man1/scan-build.1 +%endif + # Remove documentation sources. rm -r %{buildroot}%{_docdir}/llvm{,-clang}/html/_sources @@ -1039,7 +1027,6 @@ --install %{_bindir}/llvm-ar llvm-ar %{_bindir}/llvm-ar-%{_relver} %{_uaver} \ --slave %{_bindir}/bugpoint bugpoint %{_bindir}/bugpoint-%{_relver} \ --slave %{_bindir}/dsymutil dsymutil %{_bindir}/dsymutil-%{_relver} \ - --slave %{_bindir}/hmaptool hmaptool %{_bindir}/hmaptool-%{_relver} \ --slave %{_bindir}/llc llc %{_bindir}/llc-%{_relver} \ --slave %{_bindir}/lli lli %{_bindir}/lli-%{_relver} \ --slave %{_bindir}/llvm-as llvm-as %{_bindir}/llvm-as-%{_relver} \ @@ -1135,7 +1122,6 @@ --slave %{_bindir}/clang-check clang-check %{_bindir}/clang-check-%{_relver} \ --slave %{_bindir}/clang-cl clang-cl %{_bindir}/clang-cl-%{_relver} \ --slave %{_bindir}/clang-format clang-format %{_bindir}/clang-format-%{_relver} \ - --slave %{_bindir}/clang-format-diff clang-format-diff %{_bindir}/clang-format-diff-%{_relver} \ --slave %{_bindir}/clang-func-mapping clang-func-mapping %{_bindir}/clang-func-mapping-%{_relver} \ --slave %{_bindir}/clang-import-test clang-import-test %{_bindir}/clang-import-test-%{_relver} \ --slave %{_bindir}/clang-include-fixer clang-include-fixer %{_bindir}/clang-include-fixer-%{_relver} \ @@ -1145,15 +1131,11 @@ --slave %{_bindir}/clang-rename clang-rename %{_bindir}/clang-rename-%{_relver} \ --slave %{_bindir}/clang-reorder-fields clang-reorder-fields %{_bindir}/clang-reorder-fields-%{_relver} \ --slave %{_bindir}/clang-tidy clang-tidy %{_bindir}/clang-tidy-%{_relver} \ - --slave %{_bindir}/clang-tidy-diff clang-tidy-diff %{_bindir}/clang-tidy-diff-%{_relver} \ --slave %{_bindir}/diagtool diagtool %{_bindir}/diagtool-%{_relver} \ --slave %{_bindir}/find-all-symbols find-all-symbols %{_bindir}/find-all-symbols-%{_relver} \ - --slave %{_bindir}/git-clang-format git-clang-format %{_bindir}/git-clang-format-%{_relver} \ --slave %{_bindir}/modularize modularize %{_bindir}/modularize-%{_relver} \ - --slave %{_bindir}/run-clang-tidy run-clang-tidy %{_bindir}/run-clang-tidy-%{_relver} \ --slave %{_mandir}/man1/clang.1%{ext_man} clang.1%{ext_man} %{_mandir}/man1/clang-%{_relver}.1%{ext_man} \ - --slave %{_mandir}/man1/diagtool.1%{ext_man} diagtool.1%{ext_man} %{_mandir}/man1/diagtool-%{_relver}.1%{ext_man} \ - --slave %{_datadir}/bash-completion/completions/clang.sh clang-bash-autocomplete.sh %{_libdir}/clang/%{_relver}/bash-autocomplete.sh + --slave %{_mandir}/man1/diagtool.1%{ext_man} diagtool.1%{ext_man} %{_mandir}/man1/diagtool-%{_relver}.1%{ext_man} %postun -n clang%{_sonum} if [ ! -f %{_bindir}/clang-%{_relver} ] ; then @@ -1193,7 +1175,6 @@ %{_bindir}/bugpoint %{_bindir}/dsymutil -%{_bindir}/hmaptool %{_bindir}/llc %{_bindir}/lli %{_bindir}/llvm-ar @@ -1250,7 +1231,6 @@ %{_bindir}/bugpoint-%{_relver} %{_bindir}/dsymutil-%{_relver} -%{_bindir}/hmaptool-%{_relver} %{_bindir}/llc-%{_relver} %{_bindir}/lli-%{_relver} %{_bindir}/llvm-ar-%{_relver} @@ -1307,7 +1287,6 @@ %ghost %{_sysconfdir}/alternatives/bugpoint %ghost %{_sysconfdir}/alternatives/dsymutil -%ghost %{_sysconfdir}/alternatives/hmaptool %ghost %{_sysconfdir}/alternatives/llc %ghost %{_sysconfdir}/alternatives/lli %ghost %{_sysconfdir}/alternatives/llvm-ar @@ -1456,7 +1435,6 @@ %{_bindir}/clang-cl %{_bindir}/clang-cpp %{_bindir}/clang-format -%{_bindir}/clang-format-diff %{_bindir}/clang-func-mapping %{_bindir}/clang-import-test %{_bindir}/clang-include-fixer @@ -1466,12 +1444,9 @@ %{_bindir}/clang-rename %{_bindir}/clang-reorder-fields %{_bindir}/clang-tidy -%{_bindir}/clang-tidy-diff %{_bindir}/diagtool %{_bindir}/find-all-symbols -%{_bindir}/git-clang-format %{_bindir}/modularize -%{_bindir}/run-clang-tidy %{_bindir}/c-index-test-%{_relver} %{_bindir}/clang-%{_relver} %{_bindir}/clangd-%{_relver} @@ -1481,7 +1456,6 @@ %{_bindir}/clang-check-%{_relver} %{_bindir}/clang-cl-%{_relver} %{_bindir}/clang-format-%{_relver} -%{_bindir}/clang-format-diff-%{_relver} %{_bindir}/clang-func-mapping-%{_relver} %{_bindir}/clang-import-test-%{_relver} %{_bindir}/clang-include-fixer-%{_relver} @@ -1491,12 +1465,9 @@ %{_bindir}/clang-rename-%{_relver} %{_bindir}/clang-reorder-fields-%{_relver} %{_bindir}/clang-tidy-%{_relver} -%{_bindir}/clang-tidy-diff-%{_relver} %{_bindir}/diagtool-%{_relver} %{_bindir}/find-all-symbols-%{_relver} -%{_bindir}/git-clang-format-%{_relver} %{_bindir}/modularize-%{_relver} -%{_bindir}/run-clang-tidy-%{_relver} %ghost %{_sysconfdir}/alternatives/c-index-test %ghost %{_sysconfdir}/alternatives/clang %ghost %{_sysconfdir}/alternatives/clangd @@ -1506,7 +1477,6 @@ %ghost %{_sysconfdir}/alternatives/clang-check %ghost %{_sysconfdir}/alternatives/clang-cl %ghost %{_sysconfdir}/alternatives/clang-format -%ghost %{_sysconfdir}/alternatives/clang-format-diff %ghost %{_sysconfdir}/alternatives/clang-func-mapping %ghost %{_sysconfdir}/alternatives/clang-import-test %ghost %{_sysconfdir}/alternatives/clang-include-fixer @@ -1516,13 +1486,9 @@ %ghost %{_sysconfdir}/alternatives/clang-rename %ghost %{_sysconfdir}/alternatives/clang-reorder-fields %ghost %{_sysconfdir}/alternatives/clang-tidy -%ghost %{_sysconfdir}/alternatives/clang-tidy-diff %ghost %{_sysconfdir}/alternatives/diagtool %ghost %{_sysconfdir}/alternatives/find-all-symbols -%ghost %{_sysconfdir}/alternatives/git-clang-format %ghost %{_sysconfdir}/alternatives/modularize -%ghost %{_sysconfdir}/alternatives/run-clang-tidy -%ghost %{_sysconfdir}/alternatives/clang-bash-autocomplete.sh %{_mandir}/man1/clang.1%{ext_man} %{_mandir}/man1/diagtool.1%{ext_man} %{_mandir}/man1/clang-%{_relver}.1%{ext_man} @@ -1531,23 +1497,31 @@ %ghost %{_sysconfdir}/alternatives/diagtool.1%{ext_man} %dir %{_libdir}/clang/ %dir %{_libdir}/clang/%{_relver}/ -%{_libdir}/clang/%{_relver}/bash-autocomplete.sh # The sanitizer runtime is not available for ppc. %ifnarch ppc %{_libdir}/clang/%{_relver}/lib %{_libdir}/clang/%{_relver}/share %endif -%{_datadir}/bash-completion/completions/clang.sh -%files -n clang%{_sonum}-checker +%if %{with clang_scripts} +%files -n clang-tools %license CREDITS.TXT LICENSE.TXT %{_bindir}/c++-analyzer %{_bindir}/ccc-analyzer +%{_bindir}/clang-format-diff +%{_bindir}/clang-tidy-diff +%{_bindir}/git-clang-format +%{_bindir}/hmaptool +%{_bindir}/run-clang-tidy +%{_bindir}/run-find-all-symbols %{_bindir}/scan-build %{_bindir}/scan-view +%{_datadir}/bash-completion/completions/clang +%{_datadir}/clang/ %{_datadir}/scan-build/ %{_datadir}/scan-view/ %{_mandir}/man1/scan-build.1%{ext_man} +%endif %files opt-viewer %license CREDITS.TXT LICENSE.TXT @@ -1639,23 +1613,12 @@ %license CREDITS.TXT LICENSE.TXT %{_libdir}/libLTO.so -%files emacs-plugins -%license CREDITS.TXT LICENSE.TXT -%dir %{_datadir}/clang/ -%{_datadir}/clang/clang-format.el -%{_datadir}/clang/clang-include-fixer.el -%{_datadir}/clang/clang-rename.el - %files vim-plugins %license CREDITS.TXT LICENSE.TXT %doc utils/vim/README.vim %{_datadir}/vim/ -%dir %{_datadir}/clang/ -%{_datadir}/clang/clang-format.py -%{_datadir}/clang/clang-rename.py -%{_datadir}/clang/clang-include-fixer.py -%if %{with pyclang} +%if %{with clang_scripts} %files -n python3-clang %license CREDITS.TXT LICENSE.TXT %{python3_sitelib}/clang/