From 8e9b20226ed1df96ce002fdb937ef61b540d1bf57f86000fb1d368e40b3efde3 Mon Sep 17 00:00:00 2001 From: Aaron Puchert Date: Fri, 20 Oct 2023 22:15:41 +0000 Subject: [PATCH 1/2] - Update to version 17.0.3. * This release contains bug-fixes for the LLVM 17.0.0 release. This release is API and ABI compatible with 17.0.0. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=600 --- llvm.changes | 7 +++++++ llvm.spec | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/llvm.changes b/llvm.changes index d3bcbd4..ecdb0b8 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 19 21:04:06 UTC 2023 - Aaron Puchert + +- Update to version 17.0.3. + * This release contains bug-fixes for the LLVM 17.0.0 release. + This release is API and ABI compatible with 17.0.0. + ------------------------------------------------------------------- Sat Oct 7 14:19:01 UTC 2023 - Aaron Puchert diff --git a/llvm.spec b/llvm.spec index 752e8d9..e9535b2 100644 --- a/llvm.spec +++ b/llvm.spec @@ -40,7 +40,7 @@ Obsoletes: %{1}8%{?2:-%{2}} \ Obsoletes: %{1}9%{?2:-%{2}} Name: llvm -Version: 17.0.2 +Version: 17.0.3 Release: 0 Summary: Low Level Virtual Machine License: Apache-2.0 WITH LLVM-exception OR NCSA From 4fa93f62559adc4ff92b748ba9e60544cbb23ebdcca0a43c62d7f1a91adc91a8 Mon Sep 17 00:00:00 2001 From: Aaron Puchert Date: Sat, 21 Oct 2023 22:49:09 +0000 Subject: [PATCH 2/2] - Strip minor version and patch-level, so that we don't need to update this package for every patch-level update. - Remove support for openSUSE 13. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=601 --- README.packaging | 53 ++++++++---------------------------------------- llvm.changes | 8 ++++---- llvm.spec | 35 +++++++++++++++----------------- 3 files changed, 29 insertions(+), 67 deletions(-) diff --git a/README.packaging b/README.packaging index 1af1713..1ca5997 100644 --- a/README.packaging +++ b/README.packaging @@ -32,11 +32,11 @@ tag as the currently-supported version of the llvmX package. [1] http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html -=========================================== -PATCH-LEVEL UPDATES TO CURRENT LLVM VERSION +=================== +PATCH-LEVEL UPDATES -For patch level updates, this package (llvm) and the current -llvmX package need to be updated. +For patch level updates, the corresponding llvmX package needs +to be updated. 1. llvmX package: 1. Add the new sources to the package and delete the old @@ -56,47 +56,14 @@ llvmX package need to be updated. 6. Confirm everything builds successfully and there are no new rpmlint issues. 7. Update the llvmX.changes file. -2. llvm package: - 1. Update the "Version" tag to match the new llvmX - version. - 2. Update the llvm.changes file. - - -======================================== -PATCH-LEVEL UPDATES TO OLD LLVM VERSIONS - -For patch-level updates to versions of LLVM before the -current version, only the corresponding llvmX package -needs to be updated. - -1. llvmX package: - 1. Add the new sources to the package and delete the old - ones. This will not include clang-docs-X.0.Z.src.tar.xz - or llvm-docs-X.0.Z.src.tar.xz (see next item). - 2. Build clang-docs-X.0.Z.src.tar.xz and - llvm-docs-X.0.Z.src.tar.xz. The instructions are in - the %install section of llvmX.spec. The instructions - need RPM substitutions, for example via rpmspec -P. - Add those sources as well and delete the old ones. - 3. Update the "_relver" tag in llvmX.spec to match the - new sources. - 4. Update the version number in the patches to match the - new sources. - 5. Update the "_uaver" tag in llvmX.spec to match - the "Version" tag. - 6. Confirm everything builds successfully and there are - no new rpmlint issues. Some patches may need to be - removed or rebased. - 7. Update the llvmX.changes file. ===================== MAJOR VERSION UPDATES -For updates that change the major or minor version number, -this package (llvm) needs to be updated, a new llvmX -package needs to be created, and the old llvmX package -needs to be modified. +For updates that change the major version number, this +package (llvm) needs to be updated and a new llvmX package +needs to be created. 1. New llvmX package: 1. Copy (do not link) the old llvmX to the new @@ -136,11 +103,9 @@ needs to be modified. removed or rebased. 13. Update the llvmX.changes file. 2. llvm package: - 1. Update the "Version" tag to match the new llvmX - version. - 2. Change the "_sonum" tag to match the one in the + 1. Change the "_sonum" tag to match the one in the new "llvmX.spec" file. - 3. Update the llvm.changes file. + 2. Update the llvm.changes file. 3. Project config: 1. Change %product_libs_llvm_ver to X. 2. If one of the .so version numbers for libclang, libc++ diff --git a/llvm.changes b/llvm.changes index ecdb0b8..0a7e772 100644 --- a/llvm.changes +++ b/llvm.changes @@ -1,9 +1,9 @@ ------------------------------------------------------------------- -Thu Oct 19 21:04:06 UTC 2023 - Aaron Puchert +Sat Oct 21 21:44:49 UTC 2023 - Aaron Puchert -- Update to version 17.0.3. - * This release contains bug-fixes for the LLVM 17.0.0 release. - This release is API and ABI compatible with 17.0.0. +- Strip minor version and patch-level, so that we don't need to + update this package for every patch-level update. +- Remove support for openSUSE 13. ------------------------------------------------------------------- Sat Oct 7 14:19:01 UTC 2023 - Aaron Puchert diff --git a/llvm.spec b/llvm.spec index e9535b2..c3156ed 100644 --- a/llvm.spec +++ b/llvm.spec @@ -19,11 +19,8 @@ %define _sonum 17 %ifarch aarch64 x86_64 %define has_lldb 1 -# python3-lldb%{_sonum} is only built with these distributions (see llvm%{_sonum} package) -%if 0%{?suse_version} > 1320 %define has_lldb_python 1 %endif -%endif # obsolete_llvm_versioned() prefix postfix # Obsolete packages X or X- with X being a set of older versions. @@ -40,7 +37,7 @@ Obsoletes: %{1}8%{?2:-%{2}} \ Obsoletes: %{1}9%{?2:-%{2}} Name: llvm -Version: 17.0.3 +Version: %{_sonum} Release: 0 Summary: Low Level Virtual Machine License: Apache-2.0 WITH LLVM-exception OR NCSA @@ -48,7 +45,7 @@ Group: Development/Languages/Other URL: https://www.llvm.org/ # This file documents the process for updating llvm Source0: README.packaging -Requires: llvm%{_sonum} = %{version} +Requires: llvm%{_sonum} Suggests: %{name}-doc %description @@ -66,7 +63,7 @@ don't require a specific LLVM version should depend on this. %package devel Summary: Header Files for LLVM Group: Development/Libraries/C and C++ -Requires: llvm%{_sonum}-devel = %{version} +Requires: llvm%{_sonum}-devel Provides: llvm-LTO-devel = %{version} Obsoletes: llvm-LTO-devel < %{version} Requires: llvm-gold @@ -85,7 +82,7 @@ don't require a specific LLVM version should depend on this. Summary: Documentation for LLVM Group: Documentation/HTML Requires: %{name} = %{version} -Requires: llvm%{_sonum}-doc = %{version} +Requires: llvm%{_sonum}-doc %obsolete_llvm_versioned llvm doc %description doc @@ -99,7 +96,7 @@ don't require a specific LLVM version should depend on this. Summary: CLANG frontend for LLVM Group: Development/Languages/C and C++ URL: https://clang.llvm.org/ -Requires: clang%{_sonum} = %{version} +Requires: clang%{_sonum} Provides: llvm-clang = %{version} Obsoletes: llvm-clang < %{version} Provides: llvm-emacs-plugins @@ -115,7 +112,7 @@ don't require a specific Clang version should depend on this. %package -n clang-devel Summary: CLANG frontend for LLVM (devel package) Group: Development/Libraries/C and C++ -Requires: clang%{_sonum}-devel = %{version} +Requires: clang%{_sonum}-devel Provides: llvm-clang-devel = %{version} Obsoletes: llvm-clang-devel < %{version} Provides: clang-devel-static = %{version} @@ -134,7 +131,7 @@ don't require a specific Clang version should depend on this. Summary: Documentation for Clang Group: Documentation/HTML Requires: clang = %{version} -Requires: clang%{_sonum}-doc = %{version} +Requires: clang%{_sonum}-doc %obsolete_llvm_versioned clang doc %description -n clang-doc @@ -147,7 +144,7 @@ don't require a specific Clang version should depend on this. %package gold Summary: Gold linker plugin for LLVM Group: Development/Tools/Building -Requires: llvm%{_sonum}-gold = %{version} +Requires: llvm%{_sonum}-gold %obsolete_llvm_versioned llvm gold %description gold @@ -160,7 +157,7 @@ don't require a specific LLVM version should depend on this. %package vim-plugins Summary: Vim plugins for LLVM Group: Productivity/Text/Editors -Requires: llvm%{_sonum}-vim-plugins = %{version} +Requires: llvm%{_sonum}-vim-plugins Supplements: packageand(llvm:vim) %obsolete_llvm_versioned llvm vim-plugins BuildArch: noarch @@ -175,7 +172,7 @@ don't require a specific LLVM version should depend on this. %package opt-viewer Summary: Tools for visualising the LLVM optimization records Group: Development/Languages/Other -Requires: llvm%{_sonum}-opt-viewer = %{version} +Requires: llvm%{_sonum}-opt-viewer %obsolete_llvm_versioned llvm opt-viewer BuildArch: noarch @@ -192,7 +189,7 @@ don't require a specific LLVM version should depend on this. Summary: Software debugger built using LLVM libraries Group: Development/Tools/Debuggers URL: https://lldb.llvm.org/ -Requires: lldb%{_sonum} = %{version} +Requires: lldb%{_sonum} Recommends: python3-lldb %description -n lldb @@ -208,7 +205,7 @@ don't require a specific LLDB version should depend on this. %package -n lldb-devel Summary: Development files for LLDB Group: Development/Libraries/C and C++ -Requires: lldb%{_sonum}-devel = %{version} +Requires: lldb%{_sonum}-devel %obsolete_llvm_versioned lldb devel %description -n lldb-devel @@ -232,7 +229,7 @@ frontend for LLVM. %package -n python3-lldb Summary: Python bindings for liblldb Group: Development/Libraries/Python -Requires: python3-lldb%{_sonum} = %{version} +Requires: python3-lldb%{_sonum} %obsolete_llvm_versioned python3-lldb %description -n python3-lldb @@ -246,7 +243,7 @@ don't require a specific LLDB version should depend on this. Summary: Linker for Clang/LLVM Group: Development/Tools/Building URL: https://lld.llvm.org/ -Requires: lld%{_sonum} = %{version} +Requires: lld%{_sonum} %description -n lld LLD is a linker from the LLVM project. That is a drop-in replacement for @@ -257,7 +254,7 @@ are useful for toolchain developers. Summary: LLVM Framework for High-Level Loop and Data-Locality Optimizations Group: Development/Languages/Other URL: https://polly.llvm.org/ -Requires: llvm%{_sonum}-polly = %{version} +Requires: llvm%{_sonum}-polly %obsolete_llvm_versioned llvm polly %description polly @@ -275,7 +272,7 @@ don't require a specific LLVM version should depend on this. %package polly-devel Summary: Development files for Polly Group: Development/Libraries/C and C++ -Requires: llvm%{_sonum}-polly-devel = %{version} +Requires: llvm%{_sonum}-polly-devel Requires: llvm-polly = %{version} %obsolete_llvm_versioned llvm polly-devel