From 65f59d5e897ec1938b179eb4ed227bf2a7e4502c Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Tue, 2 Jul 2024 16:37:18 +0200 Subject: [PATCH 01/10] Add lldb.spec from which we integrate --- lldb.spec | 530 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 530 insertions(+) create mode 100644 lldb.spec diff --git a/lldb.spec b/lldb.spec new file mode 100644 index 0000000..f21bc0f --- /dev/null +++ b/lldb.spec @@ -0,0 +1,530 @@ + +%global lldb_version 18.1.7 +#global rc_ver 4 + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -n %{lldb_srcdir} -p2 + +%build +%global _lto_cflags -flto=thin + +%cmake -GNinja \ + -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ + +%cmake_build + +%install +%cmake_install + +%multilib_fix_c_header --file %{_includedir}/lldb/Host/Config.h + +# remove static libraries +rm -fv %{buildroot}%{_libdir}/*.a + +# python: fix binary libraries location +liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) +ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so +%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb + +# remove bundled six.py +rm -f %{buildroot}%{python3_sitearch}/six.* + +%ldconfig_scriptlets + +%check + + +%files +%license LICENSE.TXT +%{_bindir}/lldb* +# Usually, *.so symlinks are kept in devel subpackages. However, the python +# bindings depend on this symlink at runtime. +%{_libdir}/*.so +%{_libdir}/liblldb.so.* +%{_libdir}/liblldbIntelFeatures.so.* + +%files devel +%{_includedir}/lldb + +%files -n python3-lldb +%{python3_sitearch}/lldb + +%changelog +* Fri Jun 14 2024 Tom Stellard - 18.1.7-1 +- 18.1.7 Release + +* Fri Jun 07 2024 Python Maint - 18.1.6-2 +- Rebuilt for Python 3.13 + +* Tue May 21 2024 Tom Stellard - 18.1.6-1 +- 18.1.6 Release + +* Fri May 03 2024 Tom Stellard - 18.1.4-1 +- 18.1.4 Release + +* Wed Apr 17 2024 Tom Stellard - 18.1.3-1 +- 18.1.3 Release + +* Mon Mar 25 2024 Tulio Magno Quites Machado Filho - 18.1.2-2 +- Move liblldb symlink to the main package. Fix rhbz#2260611. + +* Fri Mar 22 2024 Tom Stellard - 18.1.2-1 +- 18.1.2 Release + +* Tue Mar 12 2024 Tom Stellard - 18.1.1-1 +- 18.1.1 Release + +* Wed Feb 28 2024 Tom Stellard - 18.1.0~rc4-1 +- 18.1.0-rc4 Release + +* Thu Jan 25 2024 Fedora Release Engineering - 17.0.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 17.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Nov 29 2023 Tulio Magno Quites Machado Filho - 17.0.6-1 +- Update to LLVM 17.0.6 + +* Wed Nov 01 2023 Tulio Magno Quites Machado Filho - 17.0.4-1 +- Update to LLVM 17.0.4 + +* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 17.0.3-1 +- Update to LLVM 17.0.3 + +* Wed Oct 04 2023 Tulio Magno Quites Machado Filho - 17.0.2-1 +- Update to LLVM 17.0.2 + +* Mon Sep 25 2023 Tulio Magno Quites Machado Filho - 17.0.1-1 +- Update to LLVM 17.0.1 + +* Mon Sep 11 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc4-1 +- Update to LLVM 17.0.0 RC4 + +* Fri Aug 25 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc3-1 +- Update to LLVM 17.0.0 RC3 + +* Wed Aug 23 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc2-1 +- Update to LLVM 17.0.0 RC2 + +* Wed Aug 02 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc1-1 +- Update to LLVM 17.0.0 RC1 + +* Thu Jul 20 2023 Fedora Release Engineering - 16.0.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Tulio Magno Quites Machado Filho - 16.0.6-1 +- Update to LLVM 16.0.6 + +* Fri Jun 16 2023 Python Maint - 16.0.5-4 +- Rebuilt for Python 3.12 + +* Thu Jun 15 2023 Nikita Popov - 16.0.5-3 +- Use llvm-cmake-utils package + +* Thu Jun 15 2023 Python Maint - 16.0.5-2 +- Rebuilt for Python 3.12 + +* Tue Jun 06 2023 Tulio Magno Quites Machado Filho - 16.0.5-1 +- Update to LLVM 16.0.5 + +* Fri May 19 2023 Tulio Magno Quites Machado Filho - 16.0.4-1 +- Update to LLVM 16.0.4 + +* Wed May 10 2023 Tulio Magno Quites Machado Filho - 16.0.3-1 +- Update to LLVM 16.0.3 + +* Wed Apr 26 2023 Tulio Magno Quites Machado Filho - 16.0.2-1 +- Update to LLVM 16.0.2 + +* Thu Apr 13 2023 Tulio Magno Quites Machado Filho - 16.0.1-1 +- Update to LLVM 16.0.1 + +* Tue Mar 21 2023 Tulio Magno Quites Machado Filho - 16.0.0-1 +- Update to LLVM 16.0.0 + +* Wed Mar 15 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc4-1 +- Update to LLVM 16.0.0 RC4 + +* Thu Feb 23 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc3-1 +- Update to LLVM 16.0.0 RC3 + +* Tue Feb 14 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc1-1 +- Update to LLVM 16.0.0 RC1 + +* Thu Jan 19 2023 Tulio Magno Quites Machado Filho - 15.0.7-3 +- Include the Apache license adopted in 2019. + +* Thu Jan 19 2023 Fedora Release Engineering - 15.0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jan 13 2023 Nikita Popov - 15.0.7-1 +- Update to LLVM 15.0.7 + +* Thu Jan 12 2023 Tom Stellard - 15.0.6-2 +- Omit frame pointers when building + +* Tue Dec 06 2022 Nikita Popov - 15.0.6-1 +- Update to LLVM 15.0.6 + +* Mon Nov 07 2022 Nikita Popov - 15.0.4-1 +- Update to LLVM 15.0.4 + +* Tue Oct 18 2022 Nikita Popov - 15.0.0-3 +- Fix crash on ppc64le (fix rhbz#2121369) + +* Mon Oct 03 2022 sguelton@redhat.com - 15.0.0-2 +- Backport compat patches for swig 4.1.0, see rhbz#2128646 + +* Tue Sep 06 2022 Nikita Popov - 15.0.0-1 +- Update to LLVM 15.0.0 + +* Tue Aug 09 2022 Nikita Popov - 14.0.5-3 +- Fix s390x build + +* Thu Jul 21 2022 Fedora Release Engineering - 14.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 20 2022 Timm Bäder - 14.0.5-1 +- Update to 14.0.5 + +* Mon Jun 13 2022 Python Maint - 14.0.0-2 +- Rebuilt for Python 3.11 + +* Wed Mar 23 2022 Timm Bäder - 14.0.0-1 +- Update to 14.0.0 + +* Thu Feb 03 2022 Nikita Popov - 13.0.1-1 +- Update to LLVM 13.0.1 final + +* Thu Jan 20 2022 Fedora Release Engineering - 13.0.1~rc2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jan 14 2022 Nikita Popov - 13.0.1~rc2-1 +- Update to LLVM 13.0.1rc2 + +* Wed Jan 12 2022 Nikita Popov - 13.0.1~rc1-1 +- Update to LLVM 13.0.1rc1 + +* Fri Oct 01 2021 Tom Stellard - 13.0.0-1 +- 13.0.0 Release + +* Wed Sep 22 2021 Tom Stellard - 13.0.0~rc3-1 +- 13.0.0-rc3 Release + +* Mon Aug 09 2021 Tom Stellard - 13.0.0~rc1-1 +- 13.0.0-rc1 Release + +* Thu Jul 22 2021 Fedora Release Engineering - 12.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Tom Stellard - 12.0.1-1 +- 12.0.1 Release + +* Thu Jul 01 2021 Tom Stellard - 12.0.0~rc3-1 +- 12.0.0-rc3 Release + +* Fri Jun 04 2021 Python Maint - 12.0.1~rc1-2 +- Rebuilt for Python 3.10 + +* Thu Jun 03 2021 Tom Stellard - 12.0.0~rc1-1 +- 12.0.0-rc1 Release + +* Fri Apr 16 2021 Tom Stellard - 12.0.0-1 +- 12.0.0 Release + +* Thu Apr 08 2021 sguelton@redhat.com - 12.0.0-11.rc5 +- New upstream release candidate + +* Fri Apr 02 2021 sguelton@redhat.com - 12.0.0-10.rc4 +- New upstream release candidate + +* Wed Mar 31 2021 Jonathan Wakely - 12.0.0-9.rc3 +- Rebuilt for removed libstdc++ symbols (#1937698) + +* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-8.rc3 +- LLVM 12.0.0 rc3 + +* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-7.rc2 +- rebuilt + +* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-6.rc2 +- Update test regexp + +* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-5.rc2 +- Improve CI debugging + +* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-4.rc2 +- Apply upstream D97721 + +* Mon Mar 01 2021 sguelton@redhat.com - 12.0.0-3.rc2 +- Update CI test + +* Thu Feb 25 2021 sguelton@redhat.com - 12.0.0-0.2.rc2 +- 12.0.0-rc2 release + +* Wed Feb 17 2021 sguelton@redhat.com - 12.0.0-0.1.rc1 +- 12.0.0-rc1 release + +* Tue Jan 26 2021 Fedora Release Engineering - 11.1.0-3.rc2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 22 2021 Serge Guelton - 11.1.0-2.rc2 +- llvm 11.1.0-rc2 release + +* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1 +- 11.1.0-rc1 release + +* Wed Jan 06 2021 Serge Guelton - 11.0.1-3 +- LLVM 11.0.1 final + +* Tue Dec 22 2020 sguelton@redhat.com - 11.0.1-2.rc2 +- llvm 11.0.1-rc2 + +* Tue Dec 01 2020 sguelton@redhat.com - 11.0.1-1.rc1 +- llvm 11.0.1-rc1 + +* Thu Oct 15 2020 sguelton@redhat.com - 11.0.0-1 +- Fix NVR + +* Mon Oct 12 2020 sguelton@redhat.com - 11.0.0-0.5 +- llvm 11.0.0 - final release + +* Thu Oct 08 2020 sguelton@redhat.com - 11.0.0-0.4.rc6 +- 11.0.0-rc6 + +* Fri Oct 02 2020 sguelton@redhat.com - 11.0.0-0.3.rc5 +- 11.0.0-rc5 Release + +* Sun Sep 27 2020 sguelton@redhat.com - 11.0.0-0.2.rc3 +- Fix NVR + +* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.1.rc3 +- 11.0.0-rc3 Release + +* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 +- 11.0.0-rc2 Release + +* Mon Aug 10 2020 Tom Stellard - 11.0.0-0.1.rc1 +- 11.0.0-rc1 Release + +* Wed Jul 29 2020 sguelton@redhat.com - 10.0.0-8 +- Make gcc dependency explicit, see https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires +- use %%license macro + +* Tue Jul 28 2020 Fedora Release Engineering - 10.0.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 17 2020 sguelton@redhat.com - 10.0.0-6 +- Use ninja and according macros as build system + +* Tue Jun 16 2020 sguelton@redhat.com - 10.0.0-5 +- Finer grain specification of python3-lldb deps + +* Tue Jun 02 2020 sguelton@redhat.com - 10.0.0-4 +- Fix arch-dependent header + +* Tue Jun 02 2020 sguelton@redhat.com - 10.0.0-3 +- Instruct cmake not to generate RPATH + +* Tue May 26 2020 Miro Hrončok - 10.0.0-2 +- Rebuilt for Python 3.9 + +* Mon Mar 30 2020 sguelton@redhat.com - 10.0.0-1 +- 10.0.0 final + +* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-0.6.rc6 +- 10.0.0 rc6 + +* Fri Mar 20 2020 sguelton@redhat.com - 10.0.0-0.5.rc5 +- 10.0.0 rc5 + +* Sun Mar 15 2020 sguelton@redhat.com - 10.0.0-0.4.rc4 +- 10.0.0 rc4 + +* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.3.rc3 +- 10.0.0 rc3 + +* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.2.rc2 +- 10.0.0 rc2 + +* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1 +- 10.0.0 rc1 + +* Wed Jan 29 2020 Tom Stellard - 9.0.1-4 +- Link against libclang-cpp.so +- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component-Libraries-In-clang-lib-Package + +* Wed Jan 29 2020 Fedora Release Engineering - 9.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Dec 21 2019 Tom Stellard - 9.0.1-2 +- 9.0.1 Release + +* Thu Sep 19 2019 Tom Stellard - 9.0.0-1 +- 9.0.0 Release + +* Thu Aug 22 2019 Tom Stellard - 9.0.0-0.1.rc3 +- 9.0.0-rc3 Release + +* Mon Aug 19 2019 Miro Hrončok - 8.0.0-2.2 +- Rebuilt for Python 3.8 + +* Thu Jul 25 2019 Fedora Release Engineering - 8.0.0-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Mar 26 2019 sguelton@redhat.com - 8.0.0-2 +- Only depend on Python3 + +* Wed Mar 20 2019 sguelton@redhat.com - 8.0.0-1 +- 8.0.0 final + +* Tue Mar 12 2019 sguelton@redhat.com - 8.0.0-0.4.rc4 +- 8.0.0 Release candidate 4 + +* Tue Mar 5 2019 sguelton@redhat.com - 8.0.0-0.3.rc3 +- 8.0.0 Release candidate 3 + +* Fri Feb 22 2019 sguelton@redhat.com - 8.0.0-0.2.rc2 +- 8.0.0 Release candidate 2 + +* Mon Feb 11 2019 sguelton@redhat.com - 8.0.0-0.1.rc1 +- 8.0.0 Release candidate 1 + +* Fri Feb 01 2019 Fedora Release Engineering - 7.0.1-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Dec 17 2018 sguelton@redhat.com - 7.0.1-1 +- 7.0.1 Release + +* Tue Dec 04 2018 sguelton@redhat.com - 7.0.0-2 +- Ensure rpmlint passes on specfile + +* Tue Sep 25 2018 Tom Stellard - 7.0.0-1 +- 7.0.0 Release + +* Fri Sep 21 2018 Tom Stellard - 7.0.0-0.5.rc3 +- lldb should depend on python2-lldb + +* Mon Sep 17 2018 Tom Stellard - 7.0.0-0.4.rc3 +- 7.0.0-rc3 Release + +* Wed Sep 12 2018 Tom Stellard - 7.0.0-0.3.rc2 +- Enable build on s390x + +* Fri Aug 31 2018 Tom Stellard - 7.0.0-0.2.rc2 +- 7.0.0-rc2 Release + +* Tue Aug 14 2018 Tom Stellard - 7.0.0-0.1.rc1 +- 7.0.1-rc1 Release + +* Tue Aug 07 2018 Tom Stellard - 6.0.1-3 +- Enable ppc64le arch + +* Fri Jul 13 2018 Fedora Release Engineering - 6.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon May 21 2018 Tom Stellard - 6.0.1-1 +- 6.0.1 Release + +* Mon May 21 2018 Tom Stellard - 6.0.1-0.1.rc1 +- 6.0.1-rc1 Release + +* Sat May 05 2018 Miro Hrončok - 6.0.0-4 +- Update Python macros to new packaging standards + (See https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build) + +* Tue Mar 20 2018 Tom Stellard - 6.0.0-3 +- Rebuild against llvm with the rhbz#1558657 fix + +* Wed Mar 14 2018 Tilmann Scheller - 6.0.0-2 +- Restore LLDB SB API headers, fixes rhbz#1548758 + +* Fri Mar 09 2018 Tom Stellard - 6.0.0-1 +- 6.0.0 Release + +* Tue Feb 13 2018 Tom Stellard - 6.0.0-0.3.rc2 +- 6.0.0-rc2 release + +* Thu Feb 08 2018 Fedora Release Engineering - 6.0.0-0.2.rc1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Jan 25 2018 Tom Stellard - 6.0.0-0.1.rc1 +- 6.0.1-rc1 Release + +* Thu Dec 21 2017 Tom Stellard - 5.0.1-1 +- 5.0.1 Release + +* Fri Oct 06 2017 Tom Stellard - 5.0.0-1 +- 5.0.0 Release + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 4.0.1-4 +- Python 2 binary package renamed to python2-lldb + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Mon Jul 31 2017 Jan Kratochvil - 4.0.1-3 +- Backport lldb r303907 + Resolves rhbz #1356140 + +* Wed Jul 26 2017 Fedora Release Engineering - 4.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jun 26 2017 Tom Stellard - 4.0.1-1 +- 4.0.1 Release + +* Mon May 15 2017 Fedora Release Engineering - 4.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + +* Fri Mar 24 2017 Tom Stellard - 4.0.0-1 +- lldb 4.0.0 + +* Tue Mar 21 2017 Tom Stellard - 3.9.1-4 +- Add explicit Requires for llvm-libs and clang-libs + +* Fri Mar 17 2017 Tom Stellard - 3.9.1-3 +- Adjust python sys.path so lldb can find readline.so + +* Tue Mar 14 2017 Tom Stellard - 3.9.1-2 +- Fix build with gcc 7 + +* Thu Mar 02 2017 Dave Airlie - 3.9.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 14 2016 Nathaniel McCallum - 3.9.0-3 +- Disable libedit support until upstream fixes it (#1356140) + +* Wed Nov 2 2016 Peter Robinson 3.9.0-2 +- Set upstream supported architectures in an ExclusiveArch + +* Wed Oct 26 2016 Dave Airlie - 3.9.0-1 +- lldb 3.9.0 +- fixup some issues with MIUtilParse by removing it +- build with -fno-rtti + +* Tue Jul 19 2016 Fedora Release Engineering - 3.8.0-2 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Mar 10 2016 Dave Airlie 3.8.0-1 +- lldb 3.8.0 + +* Thu Mar 03 2016 Dave Airlie 3.8.0-0.3 +- lldb 3.8.0 rc3 + +* Wed Feb 24 2016 Dave Airlie - 3.8.0-0.2 +- dynamically link to llvm + +* Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 +- lldb 3.8.0 rc2 + +* Sun Feb 14 2016 Dave Airlie 3.7.1-3 +- rebuild lldb against latest llvm + +* Thu Feb 04 2016 Fedora Release Engineering - 3.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 +- initial version using cmake build system From f7fcef719f3f928908c70297e18d04a66f7d67f8 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Mon, 1 Jul 2024 13:30:45 +0200 Subject: [PATCH 02/10] Add lldb to big-merge See https://github.com/fedora-llvm-team/llvm-snapshots/issues/573 --- build.spec.inc | 11 +- check.spec.inc | 2 +- files.spec.inc | 18 ++ globals.spec.inc | 4 + install.spec.inc | 18 ++ lldb.spec | 530 ---------------------------------------------- packages.spec.inc | 50 +++++ prep.spec.inc | 4 + 8 files changed, 105 insertions(+), 532 deletions(-) delete mode 100644 lldb.spec diff --git a/build.spec.inc b/build.spec.inc index e447682..fa45e65 100644 --- a/build.spec.inc +++ b/build.spec.inc @@ -38,7 +38,7 @@ cd llvm # TODO: Override LIBOMP_INSTALL_LIBDIR, because otherwise the libraries # are installed to /usr/lib64/$TRIPLE and clang can't find them. %cmake -G Ninja \ - -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld" \ + -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;lldb" \ \ \ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF \ @@ -187,6 +187,15 @@ cd llvm -DLLVM_COMMON_CMAKE_UTILS=%{install_datadir}/llvm/cmake \ \ \ + \ + -DLLDB_DISABLE_CURSES:BOOL=OFF \ + -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \ + -DLLDB_DISABLE_PYTHON:BOOL=OFF \ + -DPYTHON_VERSION_MAJOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.major)") \ + -DPYTHON_VERSION_MINOR:STRING=$(%{__python3} -c "import sys; print(sys.version_info.minor)") \ + \ + \ + \ %ifarch x86_64 -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error" \ %endif diff --git a/check.spec.inc b/check.spec.inc index 7d5b935..65473e3 100644 --- a/check.spec.inc +++ b/check.spec.inc @@ -205,7 +205,7 @@ export LIT_OPTS="-vv" export LD_LIBRARY_PATH="%{buildroot}/%{install_libdir}:%{buildroot}/%{_libdir}"; cd llvm -%cmake_build --target check-llvm check-clang check-lld +%cmake_build --target check-llvm check-clang check-lld check-lldb %endif diff --git a/files.spec.inc b/files.spec.inc index 797efb1..9d95efe 100644 --- a/files.spec.inc +++ b/files.spec.inc @@ -602,3 +602,21 @@ %{install_libdir}/liblld*.so.* #endregion + +#region LLDB files +%files -n %{pkg_name_lldb} +%license lldb/LICENSE.TXT +%{install_bindir}/lldb* +# Usually, *.so symlinks are kept in devel subpackages. However, the python +# bindings depend on this symlink at runtime. +# TODO(kkleine): This first entry is too broad. Include it back if needed but make it more narrow. +# %{install_libdir}/*.so +%{install_libdir}/liblldb.so.* +%{install_libdir}/liblldbIntelFeatures.so.* + +%files -n %{pkg_name_lldb}-devel +%{install_includedir}/lldb + +%files -n python3-lldb +%{python3_sitearch}/lldb +#endregion diff --git a/globals.spec.inc b/globals.spec.inc index 349172e..ce25d34 100644 --- a/globals.spec.inc +++ b/globals.spec.inc @@ -154,3 +154,7 @@ %global pkg_name_lld lld %endif #endregion + +#region LLDB globals +%global pkg_name_lldb lldb +#endregion diff --git a/install.spec.inc b/install.spec.inc index 398909b..646d6bf 100644 --- a/install.spec.inc +++ b/install.spec.inc @@ -280,3 +280,21 @@ fi %endif #endregion + +#region LLDB installation +%multilib_fix_c_header --file %{install_includedir}/lldb/Host/Config.h + +# remove static libraries +# TODO(kkleine): We need to remove these static libaries but not so widely, remember we're build all of LLVM. +# rm -fv %{buildroot}%{_libdir}/*.a + +# python: fix binary libraries location +liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) +ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so +%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb + +# remove bundled six.py +rm -f %{buildroot}%{python3_sitearch}/six.* + +%ldconfig_scriptlets +#endregion diff --git a/lldb.spec b/lldb.spec deleted file mode 100644 index f21bc0f..0000000 --- a/lldb.spec +++ /dev/null @@ -1,530 +0,0 @@ - -%global lldb_version 18.1.7 -#global rc_ver 4 - -%prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -n %{lldb_srcdir} -p2 - -%build -%global _lto_cflags -flto=thin - -%cmake -GNinja \ - -DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \ - -%cmake_build - -%install -%cmake_install - -%multilib_fix_c_header --file %{_includedir}/lldb/Host/Config.h - -# remove static libraries -rm -fv %{buildroot}%{_libdir}/*.a - -# python: fix binary libraries location -liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) -ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so -%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/lldb - -# remove bundled six.py -rm -f %{buildroot}%{python3_sitearch}/six.* - -%ldconfig_scriptlets - -%check - - -%files -%license LICENSE.TXT -%{_bindir}/lldb* -# Usually, *.so symlinks are kept in devel subpackages. However, the python -# bindings depend on this symlink at runtime. -%{_libdir}/*.so -%{_libdir}/liblldb.so.* -%{_libdir}/liblldbIntelFeatures.so.* - -%files devel -%{_includedir}/lldb - -%files -n python3-lldb -%{python3_sitearch}/lldb - -%changelog -* Fri Jun 14 2024 Tom Stellard - 18.1.7-1 -- 18.1.7 Release - -* Fri Jun 07 2024 Python Maint - 18.1.6-2 -- Rebuilt for Python 3.13 - -* Tue May 21 2024 Tom Stellard - 18.1.6-1 -- 18.1.6 Release - -* Fri May 03 2024 Tom Stellard - 18.1.4-1 -- 18.1.4 Release - -* Wed Apr 17 2024 Tom Stellard - 18.1.3-1 -- 18.1.3 Release - -* Mon Mar 25 2024 Tulio Magno Quites Machado Filho - 18.1.2-2 -- Move liblldb symlink to the main package. Fix rhbz#2260611. - -* Fri Mar 22 2024 Tom Stellard - 18.1.2-1 -- 18.1.2 Release - -* Tue Mar 12 2024 Tom Stellard - 18.1.1-1 -- 18.1.1 Release - -* Wed Feb 28 2024 Tom Stellard - 18.1.0~rc4-1 -- 18.1.0-rc4 Release - -* Thu Jan 25 2024 Fedora Release Engineering - 17.0.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 17.0.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Nov 29 2023 Tulio Magno Quites Machado Filho - 17.0.6-1 -- Update to LLVM 17.0.6 - -* Wed Nov 01 2023 Tulio Magno Quites Machado Filho - 17.0.4-1 -- Update to LLVM 17.0.4 - -* Wed Oct 18 2023 Tulio Magno Quites Machado Filho - 17.0.3-1 -- Update to LLVM 17.0.3 - -* Wed Oct 04 2023 Tulio Magno Quites Machado Filho - 17.0.2-1 -- Update to LLVM 17.0.2 - -* Mon Sep 25 2023 Tulio Magno Quites Machado Filho - 17.0.1-1 -- Update to LLVM 17.0.1 - -* Mon Sep 11 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc4-1 -- Update to LLVM 17.0.0 RC4 - -* Fri Aug 25 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc3-1 -- Update to LLVM 17.0.0 RC3 - -* Wed Aug 23 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc2-1 -- Update to LLVM 17.0.0 RC2 - -* Wed Aug 02 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc1-1 -- Update to LLVM 17.0.0 RC1 - -* Thu Jul 20 2023 Fedora Release Engineering - 16.0.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jul 10 2023 Tulio Magno Quites Machado Filho - 16.0.6-1 -- Update to LLVM 16.0.6 - -* Fri Jun 16 2023 Python Maint - 16.0.5-4 -- Rebuilt for Python 3.12 - -* Thu Jun 15 2023 Nikita Popov - 16.0.5-3 -- Use llvm-cmake-utils package - -* Thu Jun 15 2023 Python Maint - 16.0.5-2 -- Rebuilt for Python 3.12 - -* Tue Jun 06 2023 Tulio Magno Quites Machado Filho - 16.0.5-1 -- Update to LLVM 16.0.5 - -* Fri May 19 2023 Tulio Magno Quites Machado Filho - 16.0.4-1 -- Update to LLVM 16.0.4 - -* Wed May 10 2023 Tulio Magno Quites Machado Filho - 16.0.3-1 -- Update to LLVM 16.0.3 - -* Wed Apr 26 2023 Tulio Magno Quites Machado Filho - 16.0.2-1 -- Update to LLVM 16.0.2 - -* Thu Apr 13 2023 Tulio Magno Quites Machado Filho - 16.0.1-1 -- Update to LLVM 16.0.1 - -* Tue Mar 21 2023 Tulio Magno Quites Machado Filho - 16.0.0-1 -- Update to LLVM 16.0.0 - -* Wed Mar 15 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc4-1 -- Update to LLVM 16.0.0 RC4 - -* Thu Feb 23 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc3-1 -- Update to LLVM 16.0.0 RC3 - -* Tue Feb 14 2023 Tulio Magno Quites Machado Filho - 16.0.0~rc1-1 -- Update to LLVM 16.0.0 RC1 - -* Thu Jan 19 2023 Tulio Magno Quites Machado Filho - 15.0.7-3 -- Include the Apache license adopted in 2019. - -* Thu Jan 19 2023 Fedora Release Engineering - 15.0.7-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jan 13 2023 Nikita Popov - 15.0.7-1 -- Update to LLVM 15.0.7 - -* Thu Jan 12 2023 Tom Stellard - 15.0.6-2 -- Omit frame pointers when building - -* Tue Dec 06 2022 Nikita Popov - 15.0.6-1 -- Update to LLVM 15.0.6 - -* Mon Nov 07 2022 Nikita Popov - 15.0.4-1 -- Update to LLVM 15.0.4 - -* Tue Oct 18 2022 Nikita Popov - 15.0.0-3 -- Fix crash on ppc64le (fix rhbz#2121369) - -* Mon Oct 03 2022 sguelton@redhat.com - 15.0.0-2 -- Backport compat patches for swig 4.1.0, see rhbz#2128646 - -* Tue Sep 06 2022 Nikita Popov - 15.0.0-1 -- Update to LLVM 15.0.0 - -* Tue Aug 09 2022 Nikita Popov - 14.0.5-3 -- Fix s390x build - -* Thu Jul 21 2022 Fedora Release Engineering - 14.0.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 20 2022 Timm Bäder - 14.0.5-1 -- Update to 14.0.5 - -* Mon Jun 13 2022 Python Maint - 14.0.0-2 -- Rebuilt for Python 3.11 - -* Wed Mar 23 2022 Timm Bäder - 14.0.0-1 -- Update to 14.0.0 - -* Thu Feb 03 2022 Nikita Popov - 13.0.1-1 -- Update to LLVM 13.0.1 final - -* Thu Jan 20 2022 Fedora Release Engineering - 13.0.1~rc2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jan 14 2022 Nikita Popov - 13.0.1~rc2-1 -- Update to LLVM 13.0.1rc2 - -* Wed Jan 12 2022 Nikita Popov - 13.0.1~rc1-1 -- Update to LLVM 13.0.1rc1 - -* Fri Oct 01 2021 Tom Stellard - 13.0.0-1 -- 13.0.0 Release - -* Wed Sep 22 2021 Tom Stellard - 13.0.0~rc3-1 -- 13.0.0-rc3 Release - -* Mon Aug 09 2021 Tom Stellard - 13.0.0~rc1-1 -- 13.0.0-rc1 Release - -* Thu Jul 22 2021 Fedora Release Engineering - 12.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 14 2021 Tom Stellard - 12.0.1-1 -- 12.0.1 Release - -* Thu Jul 01 2021 Tom Stellard - 12.0.0~rc3-1 -- 12.0.0-rc3 Release - -* Fri Jun 04 2021 Python Maint - 12.0.1~rc1-2 -- Rebuilt for Python 3.10 - -* Thu Jun 03 2021 Tom Stellard - 12.0.0~rc1-1 -- 12.0.0-rc1 Release - -* Fri Apr 16 2021 Tom Stellard - 12.0.0-1 -- 12.0.0 Release - -* Thu Apr 08 2021 sguelton@redhat.com - 12.0.0-11.rc5 -- New upstream release candidate - -* Fri Apr 02 2021 sguelton@redhat.com - 12.0.0-10.rc4 -- New upstream release candidate - -* Wed Mar 31 2021 Jonathan Wakely - 12.0.0-9.rc3 -- Rebuilt for removed libstdc++ symbols (#1937698) - -* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-8.rc3 -- LLVM 12.0.0 rc3 - -* Thu Mar 11 2021 sguelton@redhat.com - 12.0.0-7.rc2 -- rebuilt - -* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-6.rc2 -- Update test regexp - -* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-5.rc2 -- Improve CI debugging - -* Tue Mar 02 2021 sguelton@redhat.com - 12.0.0-4.rc2 -- Apply upstream D97721 - -* Mon Mar 01 2021 sguelton@redhat.com - 12.0.0-3.rc2 -- Update CI test - -* Thu Feb 25 2021 sguelton@redhat.com - 12.0.0-0.2.rc2 -- 12.0.0-rc2 release - -* Wed Feb 17 2021 sguelton@redhat.com - 12.0.0-0.1.rc1 -- 12.0.0-rc1 release - -* Tue Jan 26 2021 Fedora Release Engineering - 11.1.0-3.rc2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Serge Guelton - 11.1.0-2.rc2 -- llvm 11.1.0-rc2 release - -* Thu Jan 14 2021 Serge Guelton - 11.1.0-0.1.rc1 -- 11.1.0-rc1 release - -* Wed Jan 06 2021 Serge Guelton - 11.0.1-3 -- LLVM 11.0.1 final - -* Tue Dec 22 2020 sguelton@redhat.com - 11.0.1-2.rc2 -- llvm 11.0.1-rc2 - -* Tue Dec 01 2020 sguelton@redhat.com - 11.0.1-1.rc1 -- llvm 11.0.1-rc1 - -* Thu Oct 15 2020 sguelton@redhat.com - 11.0.0-1 -- Fix NVR - -* Mon Oct 12 2020 sguelton@redhat.com - 11.0.0-0.5 -- llvm 11.0.0 - final release - -* Thu Oct 08 2020 sguelton@redhat.com - 11.0.0-0.4.rc6 -- 11.0.0-rc6 - -* Fri Oct 02 2020 sguelton@redhat.com - 11.0.0-0.3.rc5 -- 11.0.0-rc5 Release - -* Sun Sep 27 2020 sguelton@redhat.com - 11.0.0-0.2.rc3 -- Fix NVR - -* Thu Sep 24 2020 sguelton@redhat.com - 11.0.0-0.1.rc3 -- 11.0.0-rc3 Release - -* Tue Sep 01 2020 sguelton@redhat.com - 11.0.0-0.1.rc2 -- 11.0.0-rc2 Release - -* Mon Aug 10 2020 Tom Stellard - 11.0.0-0.1.rc1 -- 11.0.0-rc1 Release - -* Wed Jul 29 2020 sguelton@redhat.com - 10.0.0-8 -- Make gcc dependency explicit, see https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires -- use %%license macro - -* Tue Jul 28 2020 Fedora Release Engineering - 10.0.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 17 2020 sguelton@redhat.com - 10.0.0-6 -- Use ninja and according macros as build system - -* Tue Jun 16 2020 sguelton@redhat.com - 10.0.0-5 -- Finer grain specification of python3-lldb deps - -* Tue Jun 02 2020 sguelton@redhat.com - 10.0.0-4 -- Fix arch-dependent header - -* Tue Jun 02 2020 sguelton@redhat.com - 10.0.0-3 -- Instruct cmake not to generate RPATH - -* Tue May 26 2020 Miro Hrončok - 10.0.0-2 -- Rebuilt for Python 3.9 - -* Mon Mar 30 2020 sguelton@redhat.com - 10.0.0-1 -- 10.0.0 final - -* Wed Mar 25 2020 sguelton@redhat.com - 10.0.0-0.6.rc6 -- 10.0.0 rc6 - -* Fri Mar 20 2020 sguelton@redhat.com - 10.0.0-0.5.rc5 -- 10.0.0 rc5 - -* Sun Mar 15 2020 sguelton@redhat.com - 10.0.0-0.4.rc4 -- 10.0.0 rc4 - -* Thu Mar 05 2020 sguelton@redhat.com - 10.0.0-0.3.rc3 -- 10.0.0 rc3 - -* Fri Feb 14 2020 sguelton@redhat.com - 10.0.0-0.2.rc2 -- 10.0.0 rc2 - -* Fri Jan 31 2020 sguelton@redhat.com - 10.0.0-0.1.rc1 -- 10.0.0 rc1 - -* Wed Jan 29 2020 Tom Stellard - 9.0.1-4 -- Link against libclang-cpp.so -- https://fedoraproject.org/wiki/Changes/Stop-Shipping-Individual-Component-Libraries-In-clang-lib-Package - -* Wed Jan 29 2020 Fedora Release Engineering - 9.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Dec 21 2019 Tom Stellard - 9.0.1-2 -- 9.0.1 Release - -* Thu Sep 19 2019 Tom Stellard - 9.0.0-1 -- 9.0.0 Release - -* Thu Aug 22 2019 Tom Stellard - 9.0.0-0.1.rc3 -- 9.0.0-rc3 Release - -* Mon Aug 19 2019 Miro Hrončok - 8.0.0-2.2 -- Rebuilt for Python 3.8 - -* Thu Jul 25 2019 Fedora Release Engineering - 8.0.0-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Mar 26 2019 sguelton@redhat.com - 8.0.0-2 -- Only depend on Python3 - -* Wed Mar 20 2019 sguelton@redhat.com - 8.0.0-1 -- 8.0.0 final - -* Tue Mar 12 2019 sguelton@redhat.com - 8.0.0-0.4.rc4 -- 8.0.0 Release candidate 4 - -* Tue Mar 5 2019 sguelton@redhat.com - 8.0.0-0.3.rc3 -- 8.0.0 Release candidate 3 - -* Fri Feb 22 2019 sguelton@redhat.com - 8.0.0-0.2.rc2 -- 8.0.0 Release candidate 2 - -* Mon Feb 11 2019 sguelton@redhat.com - 8.0.0-0.1.rc1 -- 8.0.0 Release candidate 1 - -* Fri Feb 01 2019 Fedora Release Engineering - 7.0.1-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Dec 17 2018 sguelton@redhat.com - 7.0.1-1 -- 7.0.1 Release - -* Tue Dec 04 2018 sguelton@redhat.com - 7.0.0-2 -- Ensure rpmlint passes on specfile - -* Tue Sep 25 2018 Tom Stellard - 7.0.0-1 -- 7.0.0 Release - -* Fri Sep 21 2018 Tom Stellard - 7.0.0-0.5.rc3 -- lldb should depend on python2-lldb - -* Mon Sep 17 2018 Tom Stellard - 7.0.0-0.4.rc3 -- 7.0.0-rc3 Release - -* Wed Sep 12 2018 Tom Stellard - 7.0.0-0.3.rc2 -- Enable build on s390x - -* Fri Aug 31 2018 Tom Stellard - 7.0.0-0.2.rc2 -- 7.0.0-rc2 Release - -* Tue Aug 14 2018 Tom Stellard - 7.0.0-0.1.rc1 -- 7.0.1-rc1 Release - -* Tue Aug 07 2018 Tom Stellard - 6.0.1-3 -- Enable ppc64le arch - -* Fri Jul 13 2018 Fedora Release Engineering - 6.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon May 21 2018 Tom Stellard - 6.0.1-1 -- 6.0.1 Release - -* Mon May 21 2018 Tom Stellard - 6.0.1-0.1.rc1 -- 6.0.1-rc1 Release - -* Sat May 05 2018 Miro Hrončok - 6.0.0-4 -- Update Python macros to new packaging standards - (See https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build) - -* Tue Mar 20 2018 Tom Stellard - 6.0.0-3 -- Rebuild against llvm with the rhbz#1558657 fix - -* Wed Mar 14 2018 Tilmann Scheller - 6.0.0-2 -- Restore LLDB SB API headers, fixes rhbz#1548758 - -* Fri Mar 09 2018 Tom Stellard - 6.0.0-1 -- 6.0.0 Release - -* Tue Feb 13 2018 Tom Stellard - 6.0.0-0.3.rc2 -- 6.0.0-rc2 release - -* Thu Feb 08 2018 Fedora Release Engineering - 6.0.0-0.2.rc1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Jan 25 2018 Tom Stellard - 6.0.0-0.1.rc1 -- 6.0.1-rc1 Release - -* Thu Dec 21 2017 Tom Stellard - 5.0.1-1 -- 5.0.1 Release - -* Fri Oct 06 2017 Tom Stellard - 5.0.0-1 -- 5.0.0 Release - -* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 4.0.1-4 -- Python 2 binary package renamed to python2-lldb - See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 - -* Mon Jul 31 2017 Jan Kratochvil - 4.0.1-3 -- Backport lldb r303907 - Resolves rhbz #1356140 - -* Wed Jul 26 2017 Fedora Release Engineering - 4.0.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Mon Jun 26 2017 Tom Stellard - 4.0.1-1 -- 4.0.1 Release - -* Mon May 15 2017 Fedora Release Engineering - 4.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild - -* Fri Mar 24 2017 Tom Stellard - 4.0.0-1 -- lldb 4.0.0 - -* Tue Mar 21 2017 Tom Stellard - 3.9.1-4 -- Add explicit Requires for llvm-libs and clang-libs - -* Fri Mar 17 2017 Tom Stellard - 3.9.1-3 -- Adjust python sys.path so lldb can find readline.so - -* Tue Mar 14 2017 Tom Stellard - 3.9.1-2 -- Fix build with gcc 7 - -* Thu Mar 02 2017 Dave Airlie - 3.9.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Mon Nov 14 2016 Nathaniel McCallum - 3.9.0-3 -- Disable libedit support until upstream fixes it (#1356140) - -* Wed Nov 2 2016 Peter Robinson 3.9.0-2 -- Set upstream supported architectures in an ExclusiveArch - -* Wed Oct 26 2016 Dave Airlie - 3.9.0-1 -- lldb 3.9.0 -- fixup some issues with MIUtilParse by removing it -- build with -fno-rtti - -* Tue Jul 19 2016 Fedora Release Engineering - 3.8.0-2 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Thu Mar 10 2016 Dave Airlie 3.8.0-1 -- lldb 3.8.0 - -* Thu Mar 03 2016 Dave Airlie 3.8.0-0.3 -- lldb 3.8.0 rc3 - -* Wed Feb 24 2016 Dave Airlie - 3.8.0-0.2 -- dynamically link to llvm - -* Thu Feb 18 2016 Dave Airlie - 3.8.0-0.1 -- lldb 3.8.0 rc2 - -* Sun Feb 14 2016 Dave Airlie 3.7.1-3 -- rebuild lldb against latest llvm - -* Thu Feb 04 2016 Fedora Release Engineering - 3.7.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Oct 06 2015 Jan Vcelak 3.7.0-100 -- initial version using cmake build system diff --git a/packages.spec.inc b/packages.spec.inc index b9f5273..59edba1 100644 --- a/packages.spec.inc +++ b/packages.spec.inc @@ -344,3 +344,53 @@ Summary: LLD shared libraries Shared libraries for LLD. #endregion + +#region LLDB packages + +%package -n %{pkg_name_lldb} +Summary: Next generation high-performance debugger +License: Apache-2.0 WITH LLVM-exception OR NCSA +URL: http://lldb.llvm.org/ + +BuildRequires: clang +BuildRequires: cmake +BuildRequires: ncurses-devel +BuildRequires: swig +BuildRequires: libffi-devel +BuildRequires: zlib-devel +BuildRequires: libxml2-devel +BuildRequires: libedit-devel +BuildRequires: python3-lit +BuildRequires: multilib-rpm-config +BuildRequires: doxygen + +Requires: python3-lldb + +# For origin certification +BuildRequires: gnupg2 + +%description -n %{pkg_name_lldb} +LLDB is a next generation, high-performance debugger. It is built as a set +of reusable components which highly leverage existing libraries in the +larger LLVM Project, such as the Clang expression parser and LLVM +disassembler. + +%package -n %{pkg_name_lldb}-devel +Summary: Development header files for LLDB +Requires: %{pkg_name_lldb}%{?_isa} = %{version}-%{release} + +%description -n %{pkg_name_lldb}-devel +The package contains header files for the LLDB debugger. + +%package -n python3-lldb +%{?python_provide:%python_provide python3-lldb} +Summary: Python module for LLDB +BuildRequires: python3-devel +BuildRequires: python3-setuptools +Requires: python3-six +Requires: %{pkg_name_lldb}%{?_isa} = %{version}-%{release} + +%description -n python3-lldb +The package contains the LLDB Python module. + +#endregion diff --git a/prep.spec.inc b/prep.spec.inc index c023cc9..35a0693 100644 --- a/prep.spec.inc +++ b/prep.spec.inc @@ -56,3 +56,7 @@ %endif #endregion + +#region LLDB preparation +# Nothing needed here because the sources are extracted with the llvm tarball. +#endregion From 9cf03a4db78d71790e57dff776388981a6c36947 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Mon, 1 Jul 2024 14:03:54 +0000 Subject: [PATCH 03/10] Avoid building lldb docs This should fix this error: ``` Jul 01 12:48:27 FAILED: tools/lldb/docs/CMakeFiles/docs-lldb-html /home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/CMakeFiles/docs-lldb-html Jul 01 12:48:27 cd /home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs && /usr/bin/cmake -E env LLDB_SWIG_MODULE=/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs /usr/bin/sphinx-build-3 -b html -d /home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/_doctrees-lldb-html -q -t builder-html -D version=19 -D release=mainline /home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/lldb/docs /home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/html Jul 01 12:48:27 Jul 01 12:48:27 Extension error: Jul 01 12:48:27 Could not import extension sphinx_automodapi.automodapi (exception: No module named 'sphinx_automodapi') Jul 01 12:48:27 install sphinx_automodapi with /usr/bin/python3 -m pip install sphinx_automodapi Jul 01 12:48:27 install sphinx furo theme with /usr/bin/python3 -m pip install furo ``` the two python modules are not in fedroa unfortunately. --- prep.spec.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prep.spec.inc b/prep.spec.inc index 35a0693..fe1b528 100644 --- a/prep.spec.inc +++ b/prep.spec.inc @@ -58,5 +58,6 @@ #endregion #region LLDB preparation -# Nothing needed here because the sources are extracted with the llvm tarball. +# Empty lldb/docs/CMakeLists.txt because we cannot build it +echo "" > lldb/docs/CMakeLists.txt #endregion From 5b13ad894f7eddf8f610d3a9e586d6a2dc2d82d2 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Mon, 1 Jul 2024 15:11:06 +0000 Subject: [PATCH 04/10] Filter out flaky, unresolved and broken lldb test --- check.spec.inc | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/check.spec.inc b/check.spec.inc index 65473e3..afc4dc9 100644 --- a/check.spec.inc +++ b/check.spec.inc @@ -189,6 +189,48 @@ export LIT_XFAIL="$LIT_XFAIL;worksharing/for/omp_collapse_one_int.c" #endregion +#region LLDB +filter_out_tests+=("lldb-api :: functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py") + +# The following test is actually reported as lldb-unit :: Expression/./ExpressionTests/ClangHostTest/ComputeClangResourceDirectory +# It is a unit test and therefore must be filtered out using GTEST_FILTER. +# Filtering it out using LIT would mean to use a number that is not future proof: +#filter_out_tests+=("lldb-unit :: Expression/./ExpressionTests/0/47") +# NOTE: Replace slashes with dots and beware that anything behind the "-" will be filtered out. +export GTEST_FILTER="-*ClangHostTest.ComputeClangResourceDirectory*" + +# Flaky tests: +filter_out_tests+=("lldb-shell :: SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp") + +# TODO(kkleine): I think I saw this test hanging at least once. Comment back in if needed. +#filter_out_tests+=("lldb-api :: commands/process/attach/TestProcessAttach.py") + +# Filter out unresolved tests: +filter_out_tests+=("lldb-api :: api/multiple-debuggers/TestMultipleDebuggers.py") +filter_out_tests+=("lldb-api :: commands/expression/multiline-completion/TestMultilineCompletion.py") +filter_out_tests+=("lldb-api :: commands/expression/multiline-navigation/TestMultilineNavigation.py") +filter_out_tests+=("lldb-api :: commands/gui/basic/TestGuiBasic.py") +filter_out_tests+=("lldb-api :: commands/gui/breakpoints/TestGuiBreakpoints.py") +filter_out_tests+=("lldb-api :: commands/gui/spawn-threads/TestGuiSpawnThreads.py") +filter_out_tests+=("lldb-api :: commands/gui/viewlarge/TestGuiViewLarge.py") +filter_out_tests+=("lldb-api :: driver/batch_mode/TestBatchMode.py") +filter_out_tests+=("lldb-api :: driver/job_control/TestJobControl.py") +filter_out_tests+=("lldb-api :: driver/quit_speed/TestQuitWithProcess.py") +filter_out_tests+=("lldb-api :: functionalities/breakpoint/breakpoint_callback_command_source/TestBreakpointCallbackCommandSource.py") +filter_out_tests+=("lldb-api :: functionalities/progress_reporting/TestTrimmedProgressReporting.py") +filter_out_tests+=("lldb-api :: functionalities/rerun_and_expr/TestRerunAndExpr.py") +filter_out_tests+=("lldb-api :: iohandler/autosuggestion/TestAutosuggestion.py") +filter_out_tests+=("lldb-api :: iohandler/completion/TestIOHandlerCompletion.py") +filter_out_tests+=("lldb-api :: iohandler/resize/TestIOHandlerResize.py") +filter_out_tests+=("lldb-api :: iohandler/sigint/TestIOHandlerPythonREPLSigint.py") +filter_out_tests+=("lldb-api :: iohandler/sigint/TestProcessIOHandlerInterrupt.py") +filter_out_tests+=("lldb-api :: iohandler/stdio/TestIOHandlerProcessSTDIO.py") +filter_out_tests+=("lldb-api :: iohandler/unicode/TestUnicode.py") +filter_out_tests+=("lldb-api :: repl/clang/TestClangREPL.py") +filter_out_tests+=("lldb-api :: terminal/TestEditline.py") +filter_out_tests+=("lldb-api :: terminal/TestSTTYBeforeAndAfter.py") +#endregion + # Prepare LIT_FILTER_OUT regex from index bash array # Join each element with a pipe symbol (regex for "or") filter_out_tests=$(printf "|%s" "${filter_out_tests[@]}") From edb4034ecd22488d7433cae8f2a63b97008e0db7 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Tue, 2 Jul 2024 16:07:43 +0000 Subject: [PATCH 05/10] Don't clean after building the RPM --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ee3cd59..ee94585 100644 --- a/Makefile +++ b/Makefile @@ -33,7 +33,7 @@ local-rpm: setup --buildrootdir $(BUILDROOTDIR) \ --define "yyyymmdd $(YYYYMMDD)" \ --define "_disable_source_fetch 0" \ - -- $(SPEC) + -- $(SPEC) --noclean .PHONY: local-clean local-clean: From 459476a447b5a32ef3018d5c7f42dbb8d9fc77a0 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Tue, 2 Jul 2024 16:08:10 +0000 Subject: [PATCH 06/10] Remove %ldconfig_scriptlets and remove liblldb*.a files --- install.spec.inc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/install.spec.inc b/install.spec.inc index 646d6bf..0fc1424 100644 --- a/install.spec.inc +++ b/install.spec.inc @@ -285,8 +285,7 @@ fi %multilib_fix_c_header --file %{install_includedir}/lldb/Host/Config.h # remove static libraries -# TODO(kkleine): We need to remove these static libaries but not so widely, remember we're build all of LLVM. -# rm -fv %{buildroot}%{_libdir}/*.a +rm -fv %{buildroot}%{_libdir}/liblldb*.a # python: fix binary libraries location liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) @@ -295,6 +294,4 @@ ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so # remove bundled six.py rm -f %{buildroot}%{python3_sitearch}/six.* - -%ldconfig_scriptlets #endregion From 86fec774e2481f808dba0a8a0cc8ecac809eeeda Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Tue, 2 Jul 2024 21:15:43 +0000 Subject: [PATCH 07/10] Move all BuildRequires: tags to llvm.spec See https://src.fedoraproject.org/rpms/llvm/pull-request/234#comment-206917 --- llvm.spec | 47 ++++++++++++++++++++++++++++++- packages.spec.inc | 71 +---------------------------------------------- 2 files changed, 47 insertions(+), 71 deletions(-) diff --git a/llvm.spec b/llvm.spec index 12032f9..ffff599 100644 --- a/llvm.spec +++ b/llvm.spec @@ -45,9 +45,54 @@ BuildRequires: libedit-devel BuildRequires: python3-devel BuildRequires: python3-setuptools -# For origin certification +# For gpg source verification BuildRequires: gnupg2 +BuildRequires: python3-rpm-macros +BuildRequires: python3-lit +BuildRequires: swig +BuildRequires: libxml2-devel +BuildRequires: doxygen + +# For clang-offload-packager +BuildRequires: elfutils-libelf-devel +BuildRequires: perl +BuildRequires: perl-Data-Dumper +BuildRequires: perl-Encode +BuildRequires: libffi-devel +BuildRequires: python3 + +BuildRequires: perl-generators + +# According to https://fedoraproject.org/wiki/Packaging:Emacs a package +# should BuildRequires: emacs if it packages emacs integration files. +BuildRequires: emacs + +BuildRequires: libatomic + +# scan-build uses these perl modules so they need to be installed in order +# to run the tests. +BuildRequires: perl(Digest::MD5) +BuildRequires: perl(File::Copy) +BuildRequires: perl(File::Find) +BuildRequires: perl(File::Path) +BuildRequires: perl(File::Temp) +BuildRequires: perl(FindBin) +BuildRequires: perl(Hash::Util) +BuildRequires: perl(lib) +BuildRequires: perl(Term::ANSIColor) +BuildRequires: perl(Text::ParseWords) +BuildRequires: perl(Sys::Hostname) + +BuildRequires: graphviz + +%if %{without compat_build} +# For reproducible pyc file generation +# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#_byte_compilation_reproducibility +BuildRequires: /usr/bin/marshalparser +%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib} +%endif + Requires: %{pkg_name_llvm}-libs%{?_isa} = %{version}-%{release} Provides: llvm(major) = %{maj_ver} diff --git a/packages.spec.inc b/packages.spec.inc index 59edba1..7da2dd5 100644 --- a/packages.spec.inc +++ b/packages.spec.inc @@ -32,7 +32,6 @@ programs that use the LLVM infrastructure. %package -n %{pkg_name_llvm}-doc Summary: Documentation for LLVM BuildArch: noarch -BuildRequires: graphviz Requires: %{pkg_name_llvm} = %{version}-%{release} %description -n %{pkg_name_llvm}-doc @@ -95,36 +94,6 @@ Statistics for the RPM build. Only available in snapshot builds. %package -n %{pkg_name_clang} Summary: A C language family front-end for LLVM -BuildRequires: libxml2-devel -BuildRequires: perl-generators - -# According to https://fedoraproject.org/wiki/Packaging:Emacs a package -# should BuildRequires: emacs if it packages emacs integration files. -BuildRequires: emacs - -BuildRequires: libatomic - -%if %{without compat_build} -# For reproducible pyc file generation -# See https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#_byte_compilation_reproducibility -BuildRequires: /usr/bin/marshalparser -%global py_reproducible_pyc_path %{buildroot}%{python3_sitelib} -%endif - -# scan-build uses these perl modules so they need to be installed in order -# to run the tests. -BuildRequires: perl(Digest::MD5) -BuildRequires: perl(File::Copy) -BuildRequires: perl(File::Find) -BuildRequires: perl(File::Path) -BuildRequires: perl(File::Temp) -BuildRequires: perl(FindBin) -BuildRequires: perl(Hash::Util) -BuildRequires: perl(lib) -BuildRequires: perl(Term::ANSIColor) -BuildRequires: perl(Text::ParseWords) -BuildRequires: perl(Sys::Hostname) - Requires: %{pkg_name_clang}-libs%{?_isa} = %{version}-%{release} # clang requires gcc, clang++ requires libstdc++-devel @@ -246,8 +215,6 @@ Summary: LLVM "compiler-rt" runtime libraries License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT -BuildRequires: python3 - Requires: clang-resource-filesystem%{?isa} = %{version} %description -n %{pkg_name_compiler_rt} @@ -269,13 +236,6 @@ Summary: OpenMP runtime for clang URL: http://openmp.llvm.org -# For clang-offload-packager -BuildRequires: elfutils-libelf-devel -BuildRequires: perl -BuildRequires: perl-Data-Dumper -BuildRequires: perl-Encode -BuildRequires: libffi-devel - Requires: elfutils-libelf%{?isa} %description -n %{pkg_name_libomp} @@ -302,19 +262,6 @@ URL: http://openmp.llvm.org %package -n %{pkg_name_lld} Summary: The LLVM Linker -BuildRequires: clang -BuildRequires: cmake -BuildRequires: ninja-build -BuildRequires: ncurses-devel -BuildRequires: zlib-devel - -# For make check: -BuildRequires: python3-rpm-macros -BuildRequires: python3-lit - -# For gpg source verification -BuildRequires: gnupg2 - Requires(post): %{_sbindir}/update-alternatives Requires(preun): %{_sbindir}/update-alternatives @@ -352,23 +299,8 @@ Summary: Next generation high-performance debugger License: Apache-2.0 WITH LLVM-exception OR NCSA URL: http://lldb.llvm.org/ -BuildRequires: clang -BuildRequires: cmake -BuildRequires: ncurses-devel -BuildRequires: swig -BuildRequires: libffi-devel -BuildRequires: zlib-devel -BuildRequires: libxml2-devel -BuildRequires: libedit-devel -BuildRequires: python3-lit -BuildRequires: multilib-rpm-config -BuildRequires: doxygen - Requires: python3-lldb -# For origin certification -BuildRequires: gnupg2 - %description -n %{pkg_name_lldb} LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the @@ -385,8 +317,7 @@ The package contains header files for the LLDB debugger. %package -n python3-lldb %{?python_provide:%python_provide python3-lldb} Summary: Python module for LLDB -BuildRequires: python3-devel -BuildRequires: python3-setuptools + Requires: python3-six Requires: %{pkg_name_lldb}%{?_isa} = %{version}-%{release} From 393325cce1dc6089b015bd146dad39437fd10e4f Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Tue, 2 Jul 2024 21:26:42 +0000 Subject: [PATCH 08/10] Include liblldb*.so in %files See https://src.fedoraproject.org/rpms/llvm/pull-request/234#comment-206914 --- files.spec.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/files.spec.inc b/files.spec.inc index 9d95efe..c3f597d 100644 --- a/files.spec.inc +++ b/files.spec.inc @@ -609,8 +609,7 @@ %{install_bindir}/lldb* # Usually, *.so symlinks are kept in devel subpackages. However, the python # bindings depend on this symlink at runtime. -# TODO(kkleine): This first entry is too broad. Include it back if needed but make it more narrow. -# %{install_libdir}/*.so +%{install_libdir}/liblldb*.so %{install_libdir}/liblldb.so.* %{install_libdir}/liblldbIntelFeatures.so.* From ff2779276fc969a00e1d2f770499c84e5d1e26e7 Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Wed, 3 Jul 2024 07:47:34 +0000 Subject: [PATCH 09/10] Makefile fixes We can prefetch the sources using spectool as usual. --- Makefile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index ee94585..d5ee677 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ SPEC=llvm.spec BUILDDIR=$(shell pwd)/BUILD BUILDROOTDIR=$(shell pwd)/BUILD SOURCEDIR=$(shell pwd) -FEDORA_RELEASE=f39 +FEDORA_RELEASE=f40 .PHONY: setup setup: @@ -15,6 +15,7 @@ setup: mkdir -pv $(SOURCEDIR) YYYYMMDD=$(YYYYMMDD) ./.copr/snapshot-info.sh > $(SOURCEDIR)/version.spec.inc + spectool -g --define "_sourcedir $(SOURCEDIR)" llvm.spec .PHONY: local-srpm local-srpm: setup @@ -22,7 +23,6 @@ local-srpm: setup --define "yyyymmdd $(YYYYMMDD)" \ --define "_srcrpmdir $(OUTDIR)" \ --define "_sourcedir $(SOURCEDIR)" \ - --define "_disable_source_fetch 0" \ -bs $(SPEC) .PHONY: local-rpm @@ -32,7 +32,6 @@ local-rpm: setup --builddir $(BUILDDIR) \ --buildrootdir $(BUILDROOTDIR) \ --define "yyyymmdd $(YYYYMMDD)" \ - --define "_disable_source_fetch 0" \ -- $(SPEC) --noclean .PHONY: local-clean @@ -55,7 +54,6 @@ local-list-check: setup --builddir $(BUILDDIR) \ --buildrootdir $(BUILDROOTDIR) \ --define "yyyymmdd $(YYYYMMDD)" \ - --define "_disable_source_fetch 0" \ -- $(SPEC) -bl .PHONY: local-prep @@ -65,7 +63,6 @@ local-prep: setup --builddir $(BUILDDIR) \ --buildrootdir $(BUILDROOTDIR) \ --define "yyyymmdd $(YYYYMMDD)" \ - --define "_disable_source_fetch 0" \ -- $(SPEC) From 802e5ea8aab4d82423a6fd77e566881962a7bb5a Mon Sep 17 00:00:00 2001 From: Konrad Kleine Date: Wed, 3 Jul 2024 07:48:20 +0000 Subject: [PATCH 10/10] Add another flaky lldb test to exclude list This test seems flaky: lldb-api :: functionalities/fork/concurrent_vfork/TestConcurrentVFork.py --- check.spec.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/check.spec.inc b/check.spec.inc index afc4dc9..bf4ba14 100644 --- a/check.spec.inc +++ b/check.spec.inc @@ -190,8 +190,6 @@ export LIT_XFAIL="$LIT_XFAIL;worksharing/for/omp_collapse_one_int.c" #endregion #region LLDB -filter_out_tests+=("lldb-api :: functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py") - # The following test is actually reported as lldb-unit :: Expression/./ExpressionTests/ClangHostTest/ComputeClangResourceDirectory # It is a unit test and therefore must be filtered out using GTEST_FILTER. # Filtering it out using LIT would mean to use a number that is not future proof: @@ -201,6 +199,8 @@ export GTEST_FILTER="-*ClangHostTest.ComputeClangResourceDirectory*" # Flaky tests: filter_out_tests+=("lldb-shell :: SymbolFile/DWARF/x86/dwp-foreign-type-units.cpp") +filter_out_tests+=("lldb-api :: functionalities/data-formatter/data-formatter-stl/libstdcpp/variant/TestDataFormatterLibStdcxxVariant.py") +filter_out_tests+=("lldb-api :: functionalities/fork/concurrent_vfork/TestConcurrentVFork.py") # TODO(kkleine): I think I saw this test hanging at least once. Comment back in if needed. #filter_out_tests+=("lldb-api :: commands/process/attach/TestProcessAttach.py")