SHA256
1
0
forked from pool/llvm

- 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
This commit is contained in:
Aaron Puchert
2023-10-21 22:49:09 +00:00
committed by Git OBS Bridge
parent 8e9b20226e
commit 4fa93f6255
3 changed files with 29 additions and 67 deletions

View File

@@ -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 [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 For patch level updates, the corresponding llvmX package needs
llvmX package need to be updated. to be updated.
1. llvmX package: 1. llvmX package:
1. Add the new sources to the package and delete the old 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 6. Confirm everything builds successfully and there are
no new rpmlint issues. no new rpmlint issues.
7. Update the llvmX.changes file. 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 MAJOR VERSION UPDATES
For updates that change the major or minor version number, For updates that change the major version number, this
this package (llvm) needs to be updated, a new llvmX package (llvm) needs to be updated and a new llvmX package
package needs to be created, and the old llvmX package needs to be created.
needs to be modified.
1. New llvmX package: 1. New llvmX package:
1. Copy (do not link) the old llvmX to the new 1. Copy (do not link) the old llvmX to the new
@@ -136,11 +103,9 @@ needs to be modified.
removed or rebased. removed or rebased.
13. Update the llvmX.changes file. 13. Update the llvmX.changes file.
2. llvm package: 2. llvm package:
1. Update the "Version" tag to match the new llvmX 1. Change the "_sonum" tag to match the one in the
version.
2. Change the "_sonum" tag to match the one in the
new "llvmX.spec" file. new "llvmX.spec" file.
3. Update the llvm.changes file. 2. Update the llvm.changes file.
3. Project config: 3. Project config:
1. Change %product_libs_llvm_ver to X. 1. Change %product_libs_llvm_ver to X.
2. If one of the .so version numbers for libclang, libc++ 2. If one of the .so version numbers for libclang, libc++

View File

@@ -1,9 +1,9 @@
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Oct 19 21:04:06 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net> Sat Oct 21 21:44:49 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- Update to version 17.0.3. - Strip minor version and patch-level, so that we don't need to
* This release contains bug-fixes for the LLVM 17.0.0 release. update this package for every patch-level update.
This release is API and ABI compatible with 17.0.0. - Remove support for openSUSE 13.
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Oct 7 14:19:01 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net> Sat Oct 7 14:19:01 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net>

View File

@@ -19,11 +19,8 @@
%define _sonum 17 %define _sonum 17
%ifarch aarch64 x86_64 %ifarch aarch64 x86_64
%define has_lldb 1 %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 %define has_lldb_python 1
%endif %endif
%endif
# obsolete_llvm_versioned() prefix postfix # obsolete_llvm_versioned() prefix postfix
# Obsolete packages <prefix>X or <prefix>X-<postfix> with X being a set of older versions. # Obsolete packages <prefix>X or <prefix>X-<postfix> with X being a set of older versions.
@@ -40,7 +37,7 @@ Obsoletes: %{1}8%{?2:-%{2}} \
Obsoletes: %{1}9%{?2:-%{2}} Obsoletes: %{1}9%{?2:-%{2}}
Name: llvm Name: llvm
Version: 17.0.3 Version: %{_sonum}
Release: 0 Release: 0
Summary: Low Level Virtual Machine Summary: Low Level Virtual Machine
License: Apache-2.0 WITH LLVM-exception OR NCSA License: Apache-2.0 WITH LLVM-exception OR NCSA
@@ -48,7 +45,7 @@ Group: Development/Languages/Other
URL: https://www.llvm.org/ URL: https://www.llvm.org/
# This file documents the process for updating llvm # This file documents the process for updating llvm
Source0: README.packaging Source0: README.packaging
Requires: llvm%{_sonum} = %{version} Requires: llvm%{_sonum}
Suggests: %{name}-doc Suggests: %{name}-doc
%description %description
@@ -66,7 +63,7 @@ don't require a specific LLVM version should depend on this.
%package devel %package devel
Summary: Header Files for LLVM Summary: Header Files for LLVM
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: llvm%{_sonum}-devel = %{version} Requires: llvm%{_sonum}-devel
Provides: llvm-LTO-devel = %{version} Provides: llvm-LTO-devel = %{version}
Obsoletes: llvm-LTO-devel < %{version} Obsoletes: llvm-LTO-devel < %{version}
Requires: llvm-gold Requires: llvm-gold
@@ -85,7 +82,7 @@ don't require a specific LLVM version should depend on this.
Summary: Documentation for LLVM Summary: Documentation for LLVM
Group: Documentation/HTML Group: Documentation/HTML
Requires: %{name} = %{version} Requires: %{name} = %{version}
Requires: llvm%{_sonum}-doc = %{version} Requires: llvm%{_sonum}-doc
%obsolete_llvm_versioned llvm doc %obsolete_llvm_versioned llvm doc
%description doc %description doc
@@ -99,7 +96,7 @@ don't require a specific LLVM version should depend on this.
Summary: CLANG frontend for LLVM Summary: CLANG frontend for LLVM
Group: Development/Languages/C and C++ Group: Development/Languages/C and C++
URL: https://clang.llvm.org/ URL: https://clang.llvm.org/
Requires: clang%{_sonum} = %{version} Requires: clang%{_sonum}
Provides: llvm-clang = %{version} Provides: llvm-clang = %{version}
Obsoletes: llvm-clang < %{version} Obsoletes: llvm-clang < %{version}
Provides: llvm-emacs-plugins Provides: llvm-emacs-plugins
@@ -115,7 +112,7 @@ don't require a specific Clang version should depend on this.
%package -n clang-devel %package -n clang-devel
Summary: CLANG frontend for LLVM (devel package) Summary: CLANG frontend for LLVM (devel package)
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: clang%{_sonum}-devel = %{version} Requires: clang%{_sonum}-devel
Provides: llvm-clang-devel = %{version} Provides: llvm-clang-devel = %{version}
Obsoletes: llvm-clang-devel < %{version} Obsoletes: llvm-clang-devel < %{version}
Provides: clang-devel-static = %{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 Summary: Documentation for Clang
Group: Documentation/HTML Group: Documentation/HTML
Requires: clang = %{version} Requires: clang = %{version}
Requires: clang%{_sonum}-doc = %{version} Requires: clang%{_sonum}-doc
%obsolete_llvm_versioned clang doc %obsolete_llvm_versioned clang doc
%description -n clang-doc %description -n clang-doc
@@ -147,7 +144,7 @@ don't require a specific Clang version should depend on this.
%package gold %package gold
Summary: Gold linker plugin for LLVM Summary: Gold linker plugin for LLVM
Group: Development/Tools/Building Group: Development/Tools/Building
Requires: llvm%{_sonum}-gold = %{version} Requires: llvm%{_sonum}-gold
%obsolete_llvm_versioned llvm gold %obsolete_llvm_versioned llvm gold
%description gold %description gold
@@ -160,7 +157,7 @@ don't require a specific LLVM version should depend on this.
%package vim-plugins %package vim-plugins
Summary: Vim plugins for LLVM Summary: Vim plugins for LLVM
Group: Productivity/Text/Editors Group: Productivity/Text/Editors
Requires: llvm%{_sonum}-vim-plugins = %{version} Requires: llvm%{_sonum}-vim-plugins
Supplements: packageand(llvm:vim) Supplements: packageand(llvm:vim)
%obsolete_llvm_versioned llvm vim-plugins %obsolete_llvm_versioned llvm vim-plugins
BuildArch: noarch BuildArch: noarch
@@ -175,7 +172,7 @@ don't require a specific LLVM version should depend on this.
%package opt-viewer %package opt-viewer
Summary: Tools for visualising the LLVM optimization records Summary: Tools for visualising the LLVM optimization records
Group: Development/Languages/Other Group: Development/Languages/Other
Requires: llvm%{_sonum}-opt-viewer = %{version} Requires: llvm%{_sonum}-opt-viewer
%obsolete_llvm_versioned llvm opt-viewer %obsolete_llvm_versioned llvm opt-viewer
BuildArch: noarch BuildArch: noarch
@@ -192,7 +189,7 @@ don't require a specific LLVM version should depend on this.
Summary: Software debugger built using LLVM libraries Summary: Software debugger built using LLVM libraries
Group: Development/Tools/Debuggers Group: Development/Tools/Debuggers
URL: https://lldb.llvm.org/ URL: https://lldb.llvm.org/
Requires: lldb%{_sonum} = %{version} Requires: lldb%{_sonum}
Recommends: python3-lldb Recommends: python3-lldb
%description -n lldb %description -n lldb
@@ -208,7 +205,7 @@ don't require a specific LLDB version should depend on this.
%package -n lldb-devel %package -n lldb-devel
Summary: Development files for LLDB Summary: Development files for LLDB
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: lldb%{_sonum}-devel = %{version} Requires: lldb%{_sonum}-devel
%obsolete_llvm_versioned lldb devel %obsolete_llvm_versioned lldb devel
%description -n lldb-devel %description -n lldb-devel
@@ -232,7 +229,7 @@ frontend for LLVM.
%package -n python3-lldb %package -n python3-lldb
Summary: Python bindings for liblldb Summary: Python bindings for liblldb
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: python3-lldb%{_sonum} = %{version} Requires: python3-lldb%{_sonum}
%obsolete_llvm_versioned python3-lldb %obsolete_llvm_versioned python3-lldb
%description -n 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 Summary: Linker for Clang/LLVM
Group: Development/Tools/Building Group: Development/Tools/Building
URL: https://lld.llvm.org/ URL: https://lld.llvm.org/
Requires: lld%{_sonum} = %{version} Requires: lld%{_sonum}
%description -n lld %description -n lld
LLD is a linker from the LLVM project. That is a drop-in replacement for 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 Summary: LLVM Framework for High-Level Loop and Data-Locality Optimizations
Group: Development/Languages/Other Group: Development/Languages/Other
URL: https://polly.llvm.org/ URL: https://polly.llvm.org/
Requires: llvm%{_sonum}-polly = %{version} Requires: llvm%{_sonum}-polly
%obsolete_llvm_versioned llvm polly %obsolete_llvm_versioned llvm polly
%description polly %description polly
@@ -275,7 +272,7 @@ don't require a specific LLVM version should depend on this.
%package polly-devel %package polly-devel
Summary: Development files for Polly Summary: Development files for Polly
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
Requires: llvm%{_sonum}-polly-devel = %{version} Requires: llvm%{_sonum}-polly-devel
Requires: llvm-polly = %{version} Requires: llvm-polly = %{version}
%obsolete_llvm_versioned llvm polly-devel %obsolete_llvm_versioned llvm polly-devel