Accepting request 1119379 from devel:tools:compiler

- 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/request/show/1119379
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm?expand=0&rev=142
This commit is contained in:
Ana Guerrero 2023-10-26 15:11:56 +00:00 committed by Git OBS Bridge
commit 70b6967a18
3 changed files with 32 additions and 63 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,3 +1,10 @@
-------------------------------------------------------------------
Sat Oct 21 21:44:49 UTC 2023 - Aaron Puchert <aaronpuchert@alice-dsl.net>
- 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 <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.2 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