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
===========================================
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++

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>

View File

@ -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 <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}}
Name: llvm
Version: 17.0.2
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