- Now that python3-clang uses libclang.so.XX and is versioned, we
provide a metapackage for it to replace existing installations. - Merge llvm-LTO-devel into llvm-devel just like the underlying versioned packages have been merged. - Remove baselibs.conf: it didn't do anything, and we shouldn't need any of these to be imported. - Only suggest documentation packages. - Update README.packaging to reflect the new packaging strategy. We don't need to touch the old package on version updates any longer, but we need to change the project configuration. OBS-URL: https://build.opensuse.org/package/show/devel:tools:compiler/llvm?expand=0&rev=548
This commit is contained in:
parent
61932ee6e0
commit
d6a2053282
@ -116,6 +116,7 @@ needs to be modified.
|
|||||||
new package name.
|
new package name.
|
||||||
6. Change the "_sonum" tag in llvmX.spec to match the
|
6. Change the "_sonum" tag in llvmX.spec to match the
|
||||||
new major/minor versions. It should be of the form "X".
|
new major/minor versions. It should be of the form "X".
|
||||||
|
Change the "_itsme" definition to "%define _itsmeX 1".
|
||||||
7. Change the "_minor" tag in llvmX.spec to match
|
7. Change the "_minor" tag in llvmX.spec to match
|
||||||
the new major/minor versions. It should be of the
|
the new major/minor versions. It should be of the
|
||||||
form "X.0".
|
form "X.0".
|
||||||
@ -125,28 +126,30 @@ needs to be modified.
|
|||||||
the patches as described in PATCH-LEVEL UPDATES above.
|
the patches as described in PATCH-LEVEL UPDATES above.
|
||||||
10. Confirm llvmX.spec builds successfully and there are
|
10. Confirm llvmX.spec builds successfully and there are
|
||||||
no new rpmlint issues.
|
no new rpmlint issues.
|
||||||
11. Check whether the .so number of "libc++.so.W.V" has
|
11. Check whether the .so numbers of "libc++.so.W.V" or
|
||||||
changed. If so, change "_socxx" tag to match.
|
"libclang.so.X" have changed. If so, change the
|
||||||
|
"_socxx" or "_soclang" tag to match.
|
||||||
It should be of the form "W" if the "V" value is 0
|
It should be of the form "W" if the "V" value is 0
|
||||||
or "W_V" if the "V" value is greater than 0.
|
or "W_V" if the "V" value is greater than 0.
|
||||||
12. Confirm everything builds successfully and there are
|
12. Confirm everything builds successfully and there are
|
||||||
no new rpmlint issues. Some patches may need to be
|
no new rpmlint issues. Some patches may need to be
|
||||||
removed or rebased.
|
removed or rebased.
|
||||||
13. Update the llvmX.changes file.
|
13. Update the llvmX.changes file.
|
||||||
2. Old llvmX package:
|
2. llvm package:
|
||||||
1. If the .so number of libc++.so.W.V has not changed,
|
|
||||||
remove the "%if" and %ifarch" tests around
|
|
||||||
%bcond_without/%bcond_with libcxx in llvmX.spec
|
|
||||||
and make it always %bcond_with. If the .so numbers
|
|
||||||
have changed, these can be left-as-is.
|
|
||||||
3. Change "%bcond_without clang_scripts" to
|
|
||||||
"%bcond_with clang_scripts" in llvmX.spec.
|
|
||||||
4. Confirm everything builds successfully and there are
|
|
||||||
no new rpmlint issues.
|
|
||||||
5. Update the llvmX.changes file.
|
|
||||||
3. llvm package:
|
|
||||||
1. Update the "Version" tag to match the new llvmX
|
1. Update the "Version" tag to match the new llvmX
|
||||||
version.
|
version.
|
||||||
2. Change the "_sonum" tag to match the one in the
|
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.
|
3. 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++
|
||||||
|
or libc++abi changed, add a corresponding
|
||||||
|
Prefer: libcxxW
|
||||||
|
Prefer: libcxxabiW
|
||||||
|
Prefer: libclangW
|
||||||
|
for the new .so version and a corresponding definition
|
||||||
|
%product_libs_llvm_ver_libcxxW X
|
||||||
|
%product_libs_llvm_ver_libcxxabiW X
|
||||||
|
%product_libs_llvm_ver_libclangW X
|
||||||
|
with W the old .so version and X the old LLVM version.
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
llvm-devel
|
|
||||||
lldb-devel
|
|
||||||
clang-devel
|
|
||||||
llvm-LTO-devel
|
|
||||||
llvm-gold
|
|
14
llvm.changes
14
llvm.changes
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Apr 3 13:42:27 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Now that python3-clang uses libclang.so.XX and is versioned, we
|
||||||
|
provide a metapackage for it to replace existing installations.
|
||||||
|
- Merge llvm-LTO-devel into llvm-devel just like the underlying
|
||||||
|
versioned packages have been merged.
|
||||||
|
- Remove baselibs.conf: it didn't do anything, and we shouldn't
|
||||||
|
need any of these to be imported.
|
||||||
|
- Only suggest documentation packages.
|
||||||
|
- Update README.packaging to reflect the new packaging strategy.
|
||||||
|
We don't need to touch the old package on version updates any
|
||||||
|
longer, but we need to change the project configuration.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 3 21:56:28 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
Thu Feb 3 21:56:28 UTC 2022 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
43
llvm.spec
43
llvm.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package llvm
|
# spec file for package llvm
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 SUSE LLC
|
# Copyright (c) 2022 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -44,14 +44,12 @@ 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
|
||||||
Source101: baselibs.conf
|
|
||||||
# Avoid multiple providers error
|
# Avoid multiple providers error
|
||||||
BuildRequires: clang%{_sonum} = %{version}
|
BuildRequires: clang%{_sonum} = %{version}
|
||||||
BuildRequires: clang%{_sonum}-devel = %{version}
|
BuildRequires: clang%{_sonum}-devel = %{version}
|
||||||
BuildRequires: clang%{_sonum}-doc = %{version}
|
BuildRequires: clang%{_sonum}-doc = %{version}
|
||||||
BuildRequires: lld%{_sonum} = %{version}
|
BuildRequires: lld%{_sonum} = %{version}
|
||||||
BuildRequires: llvm%{_sonum} = %{version}
|
BuildRequires: llvm%{_sonum} = %{version}
|
||||||
BuildRequires: llvm%{_sonum}-LTO-devel = %{version}
|
|
||||||
BuildRequires: llvm%{_sonum}-devel = %{version}
|
BuildRequires: llvm%{_sonum}-devel = %{version}
|
||||||
BuildRequires: llvm%{_sonum}-doc = %{version}
|
BuildRequires: llvm%{_sonum}-doc = %{version}
|
||||||
BuildRequires: llvm%{_sonum}-gold = %{version}
|
BuildRequires: llvm%{_sonum}-gold = %{version}
|
||||||
@ -61,10 +59,11 @@ Requires: llvm%{_sonum} = %{version}
|
|||||||
BuildRequires: lldb%{_sonum} = %{version}
|
BuildRequires: lldb%{_sonum} = %{version}
|
||||||
BuildRequires: lldb%{_sonum}-devel = %{version}
|
BuildRequires: lldb%{_sonum}-devel = %{version}
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: python3-clang%{_sonum} = %{version}
|
||||||
%if 0%{?has_lldb_python}
|
%if 0%{?has_lldb_python}
|
||||||
BuildRequires: python3-lldb%{_sonum} = %{version}
|
BuildRequires: python3-lldb%{_sonum} = %{version}
|
||||||
%endif
|
%endif
|
||||||
Recommends: %{name}-doc
|
Suggests: %{name}-doc
|
||||||
# Mirrors ExcludeArch in llvm%{_sonum}
|
# Mirrors ExcludeArch in llvm%{_sonum}
|
||||||
ExcludeArch: s390
|
ExcludeArch: s390
|
||||||
|
|
||||||
@ -84,6 +83,8 @@ don't require a specific LLVM version should depend on this.
|
|||||||
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 = %{version}
|
||||||
|
Provides: llvm-LTO-devel = %{version}
|
||||||
|
Obsoletes: llvm-LTO-devel <= %{version}
|
||||||
Requires: llvm-gold
|
Requires: llvm-gold
|
||||||
%obsolete_llvm_versioned llvm devel
|
%obsolete_llvm_versioned llvm devel
|
||||||
|
|
||||||
@ -114,10 +115,10 @@ 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} = %{version}
|
||||||
Recommends: clang-doc
|
|
||||||
Provides: llvm-clang = %{version}
|
Provides: llvm-clang = %{version}
|
||||||
Obsoletes: llvm-clang < %{version}
|
Obsoletes: llvm-clang < %{version}
|
||||||
Provides: llvm-emacs-plugins
|
Provides: llvm-emacs-plugins
|
||||||
|
Suggests: clang-doc
|
||||||
|
|
||||||
%description -n clang
|
%description -n clang
|
||||||
This package contains the clang (C language) frontend for LLVM.
|
This package contains the clang (C language) frontend for LLVM.
|
||||||
@ -158,20 +159,6 @@ This package is a dummy package that depends on the version of
|
|||||||
clang-doc that openSUSE currently supports. Packages that
|
clang-doc that openSUSE currently supports. Packages that
|
||||||
don't require a specific Clang version should depend on this.
|
don't require a specific Clang version should depend on this.
|
||||||
|
|
||||||
%package LTO-devel
|
|
||||||
Summary: Link-time optimizer for LLVM (devel package)
|
|
||||||
Group: Development/Libraries/C and C++
|
|
||||||
Requires: llvm%{_sonum}-LTO-devel = %{version}
|
|
||||||
%obsolete_llvm_versioned llvm LTO-devel
|
|
||||||
|
|
||||||
%description LTO-devel
|
|
||||||
This package contains the link-time optimizer for LLVM.
|
|
||||||
(development files)
|
|
||||||
|
|
||||||
This package is a dummy package that depends on the version of
|
|
||||||
llvm-LTO-devel that openSUSE currently supports. Packages that
|
|
||||||
don't require a specific LLVM 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
|
||||||
@ -246,6 +233,16 @@ This package is a dummy package that depends on the version of
|
|||||||
lldb-devel that openSUSE currently supports. Packages that
|
lldb-devel that openSUSE currently supports. Packages that
|
||||||
don't require a specific LLDB version should depend on this.
|
don't require a specific LLDB version should depend on this.
|
||||||
|
|
||||||
|
%package -n python3-clang
|
||||||
|
Summary: Python bindings for libclang
|
||||||
|
Group: Development/Libraries/Python
|
||||||
|
Requires: python3-clang%{_sonum}
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description -n python3-clang
|
||||||
|
This package contains the Python bindings to clang (C language)
|
||||||
|
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
|
||||||
@ -333,9 +330,6 @@ echo "This is a dummy package to provide a dependency on the system compiler." >
|
|||||||
%files -n clang-doc
|
%files -n clang-doc
|
||||||
%doc README
|
%doc README
|
||||||
|
|
||||||
%files LTO-devel
|
|
||||||
%doc README
|
|
||||||
|
|
||||||
%files vim-plugins
|
%files vim-plugins
|
||||||
%doc README
|
%doc README
|
||||||
|
|
||||||
@ -348,13 +342,14 @@ echo "This is a dummy package to provide a dependency on the system compiler." >
|
|||||||
|
|
||||||
%files -n lldb-devel
|
%files -n lldb-devel
|
||||||
%doc README
|
%doc README
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%files -n python3-clang
|
||||||
|
%doc README
|
||||||
|
|
||||||
%if 0%{?has_lldb_python}
|
%if 0%{?has_lldb_python}
|
||||||
%files -n python3-lldb
|
%files -n python3-lldb
|
||||||
%doc README
|
%doc README
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files -n lld
|
%files -n lld
|
||||||
|
Loading…
x
Reference in New Issue
Block a user