Accepting request 710291 from devel:tools:compiler
OBS-URL: https://build.opensuse.org/request/show/710291 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/llvm?expand=0&rev=105
This commit is contained in:
commit
5c85b77346
112
README.packaging
112
README.packaging
@ -14,58 +14,58 @@ version updates.
|
|||||||
LLVM version numbers come in three levels. For version
|
LLVM version numbers come in three levels. For version
|
||||||
X.Y.Z, changes to the X level are major updates, changes to
|
X.Y.Z, changes to the X level are major updates, changes to
|
||||||
the Y level are minor updates, and changes to the Z level
|
the Y level are minor updates, and changes to the Z level
|
||||||
are patch-level updates. Library .so numbers are based on
|
are patch-level updates. Since LLVM 4, the minor version
|
||||||
the major and minor version, for example libllvm.so.X.Y.
|
is always expected to be 0. [1] Library .so numbers are
|
||||||
|
based on the major version, for example libLLVM.so.X.
|
||||||
Patch-level updates do not update the version number of
|
Patch-level updates do not update the version number of
|
||||||
libraries. For this reason, only changes to major and minor
|
libraries. For this reason, only changes to the major
|
||||||
version numbers get a new llvm package.
|
version number get a new llvm package.
|
||||||
|
|
||||||
There are up to three packages that need to be handled in a
|
There are up to three packages that need to be handled in a
|
||||||
given update. This package, the base "llvm" package, the
|
given update. This package, the base "llvm" package, the
|
||||||
current "llvmX_Y" package (X and Y are the major and minor
|
current "llvmX" package (X is the major version numbers),
|
||||||
version numbers, respectively), and the next "llvmX_Y"
|
and the next "llvmX" package if the major version has changed.
|
||||||
package if the major or minor version has been changed.
|
|
||||||
|
|
||||||
NOTE: This package should always have the same "License"
|
NOTE: This package should always have the same "License"
|
||||||
tag as the currently-supported version of the llvmX_Y
|
tag as the currently-supported version of the llvmX package.
|
||||||
package.
|
|
||||||
|
[1] http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html
|
||||||
|
|
||||||
|
|
||||||
===========================================
|
===========================================
|
||||||
PATCH-LEVEL UPDATES TO CURRENT LLVM VERSION
|
PATCH-LEVEL UPDATES TO CURRENT LLVM VERSION
|
||||||
|
|
||||||
For patch level updates, this package (llvm) and the current
|
For patch level updates, this package (llvm) and the current
|
||||||
llvmX_Y package need to be updated.
|
llvmX package need to be updated.
|
||||||
|
|
||||||
1. llvmX_Y 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
|
||||||
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
||||||
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
||||||
2. Build cfe-docs-X.Y.Z.src.tar.xz and
|
2. Build cfe-docs-X.Y.Z.src.tar.xz and
|
||||||
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
||||||
the %install sectionf of llvmX_Y.spec. The version
|
the %install section of llvmX.spec. The version
|
||||||
numbers in the instructions will need to be updated
|
numbers in the instructions will need to be updated
|
||||||
first. Add those sources as well and delete the old
|
first. Add those sources as well and delete the old
|
||||||
ones.
|
ones.
|
||||||
3. Update the "Version" tag in llvmX_Y.spec and
|
3. Update the "Version" tag in llvmX.spec to match the
|
||||||
lldbX_Y.spec to match the new sources.
|
new sources.
|
||||||
4. Update the version number in the patches to match the
|
4. Update the version number in the patches to match the
|
||||||
new sources.
|
new sources.
|
||||||
5. Update the "_revsn" tag in llvmX_Y.spec and
|
5. Update the "_revsn" tag in llvmX.spec to match the
|
||||||
lldbX_Y.spec to match the revision number of the
|
revision number of the tag. This can be found on
|
||||||
tag. This can be found on
|
|
||||||
https://lists.llvm.org/pipermail/llvm-branch-commits
|
https://lists.llvm.org/pipermail/llvm-branch-commits
|
||||||
and should have like "[llvm-tag]" and
|
and should have like "[llvm-tag]" and
|
||||||
"Creating release candidate final" in the subject
|
"Creating release candidate final" in the subject
|
||||||
line. You want to find the one for the current LLVM
|
line. You want to find the one for the current LLVM
|
||||||
release.
|
release.
|
||||||
6. Update the "_relver" tag in llvmX_Y.spec to match
|
6. Update the "_relver" tag in llvmX.spec to match
|
||||||
the "Version" tag.
|
the "Version" tag.
|
||||||
7. Confirm everything builds successfully and there are
|
7. Confirm everything builds successfully and there are
|
||||||
no new rpmlint issues.
|
no new rpmlint issues.
|
||||||
8. Update the llvmX_Y.changes and lldbX_Y.changes files.
|
8. Update the llvmX.changes file.
|
||||||
2. llvm package:
|
2. llvm package:
|
||||||
1. Update the "Version" tag to match the new llvmX_Y
|
1. Update the "Version" tag to match the new llvmX
|
||||||
version.
|
version.
|
||||||
2. Update the llvm.changes file.
|
2. Update the llvm.changes file.
|
||||||
|
|
||||||
@ -74,82 +74,74 @@ llvmX_Y package need to be updated.
|
|||||||
PATCH-LEVEL UPDATES TO OLD LLVM VERSIONS
|
PATCH-LEVEL UPDATES TO OLD LLVM VERSIONS
|
||||||
|
|
||||||
For patch-level updates to versions of LLVM before the
|
For patch-level updates to versions of LLVM before the
|
||||||
current version, only the corresponding llvmX_Y package
|
current version, only the corresponding llvmX package
|
||||||
needs to be updated.
|
needs to be updated.
|
||||||
|
|
||||||
1. llvmX_Y 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
|
||||||
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
||||||
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
||||||
2. Build cfe-docs-X.Y.Z.src.tar.xz and
|
2. Build cfe-docs-X.Y.Z.src.tar.xz and
|
||||||
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
||||||
the %install sectionf of llvmX_Y.spec. The version
|
the %install section of llvmX.spec. The version
|
||||||
numbers in the instructions will need to be updated
|
numbers in the instructions will need to be updated
|
||||||
first. Add those sources as well and delete the old
|
first. Add those sources as well and delete the old
|
||||||
ones.
|
ones.
|
||||||
3. Update the "Version" tag in llvmX_Y.spec and
|
3. Update the "Version" tag in llvmX.spec to match the
|
||||||
lldbX_Y.spec to match the new sources.
|
new sources.
|
||||||
4. Update the version number in the patches to match the
|
4. Update the version number in the patches to match the
|
||||||
new sources.
|
new sources.
|
||||||
5. Update the "_revsn" tag in llvmX_Y.spec and
|
5. Update the "_revsn" tag in llvmX.spec to match the
|
||||||
lldbX_Y.spec to match the revision number of the
|
revision number of the tag. This can be found on
|
||||||
tag. This can be found on
|
|
||||||
https://lists.llvm.org/pipermail/llvm-branch-commits
|
https://lists.llvm.org/pipermail/llvm-branch-commits
|
||||||
and should have like "[llvm-tag]" and
|
and should have like "[llvm-tag]" and
|
||||||
"Creating release candidate final" in the subject
|
"Creating release candidate final" in the subject
|
||||||
line. You want to find the one for the current LLVM
|
line. You want to find the one for the current LLVM
|
||||||
release.
|
release.
|
||||||
6. Update the "_relver" tag in llvmX_Y.spec to match
|
6. Update the "_relver" tag in llvmX.spec to match
|
||||||
the "Version" tag.
|
the "Version" tag.
|
||||||
7. Confirm everything builds successfully and there are
|
7. 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.
|
||||||
8. Update the llvmX_Y.changes and lldbX_Y.changes files.
|
8. Update the llvmX.changes file.
|
||||||
|
|
||||||
|
|
||||||
===============================
|
===============================
|
||||||
MAJOR AND MINOR VERSION UPDATES
|
MAJOR AND MINOR VERSION UPDATES
|
||||||
|
|
||||||
For updates that change the major or minor version number,
|
For updates that change the major or minor version number,
|
||||||
this package (llvm) needs to be updated, a new llvmX_Y
|
this package (llvm) needs to be updated, a new llvmX
|
||||||
package needs to be created, and the old llvmX_Y package
|
package needs to be created, and the old llvmX package
|
||||||
needs to be modified.
|
needs to be modified.
|
||||||
|
|
||||||
1. New llvmX_Y package:
|
1. New llvmX package:
|
||||||
1. Copy (do not link) the old llvmX_Y to the new
|
1. Copy (do not link) the old llvmX to the new
|
||||||
major/minor version number.
|
major/minor version number.
|
||||||
2. Add the new sources to the package and delete the old
|
2. Add the new sources to the package and delete the old
|
||||||
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
ones. This will not include cfe-docs-X.Y.Z.src.tar.xz
|
||||||
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
or llvm-docs-X.Y.Z.src.tar.xz (see next item).
|
||||||
3. Build cfe-docs-X.Y.Z.src.tar.xz and
|
3. Build cfe-docs-X.Y.Z.src.tar.xz and
|
||||||
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
llvm-docs-X.Y.Z.src.tar.xz. The instructions are in
|
||||||
the %install sectionf of llvmX_Y.spec. The version
|
the %install section of llvmX.spec. The version
|
||||||
numbers in the instructions will need to be updated
|
numbers in the instructions will need to be updated
|
||||||
first. Add those sources as well and delete the old
|
first. Add those sources as well and delete the old
|
||||||
ones.
|
ones.
|
||||||
4. Rename the .spec, .changes, and rpmlintrc files in the
|
4. Rename the .spec, .changes, and rpmlintrc files in the
|
||||||
new llvmX_Y package to the new major/minor version
|
new llvmX package to the new major/minor version
|
||||||
number
|
number
|
||||||
5. Rename the base llvm and lldb package in their
|
5. Rename the packages in llvmX.spec files to match the
|
||||||
respective .spec files to match the new package name.
|
new package name.
|
||||||
6. Change the "_sonum" tag in llvmX_Y.spec and
|
6. Change the "_sonum" tag in llvmX.spec to match the
|
||||||
lldbX_Y.spec to match the new major/minor versions.
|
new major/minor versions. It should be of the form "X".
|
||||||
It should be of the form "X" if if the "X" minor
|
7. Change the "_minor" tag in llvmX.spec to match
|
||||||
version is 0 or "X_Y" if theminor version is greater
|
|
||||||
than 0.
|
|
||||||
7. Change the "_minor" tag in llvmX_Y.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.Y".
|
form "X.0".
|
||||||
8. Change the "_uaver" tag in llvmX_Y.spec and
|
8. Change the "_uaver" tag in llvmX.spec to match the
|
||||||
lldb3_8.spec to match the new major/minor versions.
|
new major/minor versions. It should be of the form "X00".
|
||||||
It should be of the form "XYY", where "YY" is the
|
|
||||||
two-digit minor version. If the minor version is one
|
|
||||||
digit, put a "0" at the beginning. So "3.8" becomes
|
|
||||||
"308", while "3.10" becomes "310".
|
|
||||||
9. Update the "Version", "_revsn", and "_relver" tags
|
9. Update the "Version", "_revsn", and "_relver" tags
|
||||||
and the version numbers in the patches as described in
|
and the version numbers in the patches as described in
|
||||||
PATCH-LEVEL UPDATES above.
|
PATCH-LEVEL UPDATES above.
|
||||||
10. Confirm llvmX_Y.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 number of "libc++.so.W.V" has
|
||||||
changed. If so, change "_socxx" tag to match.
|
changed. If so, change "_socxx" tag to match.
|
||||||
@ -158,21 +150,21 @@ needs to be modified.
|
|||||||
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_Y.changes and lldbX_Y.changes files.
|
13. Update the llvmX.changes file.
|
||||||
2. Old llvmX_Y package:
|
2. Old llvmX package:
|
||||||
1. If the .so number of libc++.so.W.V has not changed,
|
1. If the .so number of libc++.so.W.V has not changed,
|
||||||
remove the "%if" and %ifarch" tests around
|
remove the "%if" and %ifarch" tests around
|
||||||
%bcond_without/%bcond_with libcxx in llvmX_Y.spec
|
%bcond_without/%bcond_with libcxx in llvmX.spec
|
||||||
and make it always %bcond_with. If the .so numbers
|
and make it always %bcond_with. If the .so numbers
|
||||||
have changed, these can be left-as-is.
|
have changed, these can be left-as-is.
|
||||||
3. Change "%bcond_without pyclang" to
|
3. Change "%bcond_without pyclang" to
|
||||||
"%bcond_with pyclang" in llvmX_Y.spec.
|
"%bcond_with pyclang" in llvmX.spec.
|
||||||
4. Confirm everything builds successfully and there are
|
4. Confirm everything builds successfully and there are
|
||||||
no new rpmlint issues.
|
no new rpmlint issues.
|
||||||
5. Update the llvmX_Y.changes and lldbX_Y.changes files.
|
5. Update the llvmX.changes file.
|
||||||
3. llvm package:
|
3. llvm package:
|
||||||
1. update the "Version" tag to match the new llvmX_Y
|
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_Y.spec" and "lldbX_Y.spec" files.
|
new "llvmX.spec" file.
|
||||||
3. Update the llvmX_Y.changes and lldbX_Y.changes files.
|
3. Update the llvm.changes file.
|
||||||
|
11
llvm.changes
11
llvm.changes
@ -1,3 +1,14 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jun 10 17:07:38 UTC 2019 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||||
|
|
||||||
|
- Change some groups:
|
||||||
|
* devel packages in Development/Libraries,
|
||||||
|
* clang in Development/Languages/C and C++,
|
||||||
|
* the gold plugin in Development/Tools/Building.
|
||||||
|
- Add some URLs.
|
||||||
|
- Update packaging guidelines: the minor version is always 0 since
|
||||||
|
LLVM 4, and the subpackage is now llvmX instead of llvmX_Y.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 18 08:43:45 UTC 2019 - msrb@suse.com
|
Mon Mar 18 08:43:45 UTC 2019 - msrb@suse.com
|
||||||
|
|
||||||
|
22
llvm.spec
22
llvm.spec
@ -36,7 +36,7 @@ Release: 0
|
|||||||
Summary: Low Level Virtual Machine
|
Summary: Low Level Virtual Machine
|
||||||
License: NCSA
|
License: NCSA
|
||||||
Group: Development/Languages/Other
|
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
|
Source101: baselibs.conf
|
||||||
@ -77,7 +77,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/Languages/Other
|
Group: Development/Libraries/C and C++
|
||||||
Requires: llvm%{_sonum}-devel = %{version}
|
Requires: llvm%{_sonum}-devel = %{version}
|
||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
Requires: llvm-gold
|
Requires: llvm-gold
|
||||||
@ -93,7 +93,8 @@ don't require a specific LLVM version should depend on this.
|
|||||||
|
|
||||||
%package -n clang
|
%package -n clang
|
||||||
Summary: CLANG frontend for LLVM
|
Summary: CLANG frontend for LLVM
|
||||||
Group: Development/Languages/Other
|
Group: Development/Languages/C and C++
|
||||||
|
Url: https://clang.llvm.org/
|
||||||
Requires: clang%{_sonum} = %{version}
|
Requires: clang%{_sonum} = %{version}
|
||||||
Provides: llvm-clang = %{version}
|
Provides: llvm-clang = %{version}
|
||||||
Obsoletes: llvm-clang < %{version}
|
Obsoletes: llvm-clang < %{version}
|
||||||
@ -107,7 +108,8 @@ don't require a specific Clang version should depend on this.
|
|||||||
|
|
||||||
%package -n clang-checker
|
%package -n clang-checker
|
||||||
Summary: Static code analyzer for CLANG
|
Summary: Static code analyzer for CLANG
|
||||||
Group: Development/Languages/Other
|
Group: Development/Languages/C and C++
|
||||||
|
Url: https://clang-analyzer.llvm.org/
|
||||||
Requires: clang%{_sonum}-checker = %{version}
|
Requires: clang%{_sonum}-checker = %{version}
|
||||||
Provides: llvm-clang-checker = %{version}
|
Provides: llvm-clang-checker = %{version}
|
||||||
Obsoletes: llvm-clang-checker < %{version}
|
Obsoletes: llvm-clang-checker < %{version}
|
||||||
@ -122,7 +124,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/Languages/Other
|
Group: Development/Libraries/C and C++
|
||||||
Requires: clang%{_sonum}-devel = %{version}
|
Requires: clang%{_sonum}-devel = %{version}
|
||||||
Provides: llvm-clang-devel = %{version}
|
Provides: llvm-clang-devel = %{version}
|
||||||
Obsoletes: llvm-clang-devel < %{version}
|
Obsoletes: llvm-clang-devel < %{version}
|
||||||
@ -139,7 +141,7 @@ don't require a specific Clang version should depend on this.
|
|||||||
|
|
||||||
%package LTO-devel
|
%package LTO-devel
|
||||||
Summary: Link-time optimizer for LLVM (devel package)
|
Summary: Link-time optimizer for LLVM (devel package)
|
||||||
Group: Development/Languages/Other
|
Group: Development/Libraries/C and C++
|
||||||
Requires: llvm%{_sonum}-LTO-devel = %{version}
|
Requires: llvm%{_sonum}-LTO-devel = %{version}
|
||||||
|
|
||||||
%description LTO-devel
|
%description LTO-devel
|
||||||
@ -153,7 +155,7 @@ don't require a specific LLVM version should depend on this.
|
|||||||
%if %{with gold}
|
%if %{with gold}
|
||||||
%package gold
|
%package gold
|
||||||
Summary: Gold linker plugin for LLVM
|
Summary: Gold linker plugin for LLVM
|
||||||
Group: Development/Languages/Other
|
Group: Development/Tools/Building
|
||||||
Requires: llvm%{_sonum}-gold = %{version}
|
Requires: llvm%{_sonum}-gold = %{version}
|
||||||
|
|
||||||
%description gold
|
%description gold
|
||||||
@ -193,6 +195,7 @@ don't require a specific LLVM version should depend on this.
|
|||||||
%package -n lldb
|
%package -n lldb
|
||||||
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/
|
||||||
Requires: lldb%{_sonum} = %{version}
|
Requires: lldb%{_sonum} = %{version}
|
||||||
|
|
||||||
%description -n lldb
|
%description -n lldb
|
||||||
@ -207,7 +210,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/Languages/Other
|
Group: Development/Libraries/C and C++
|
||||||
Requires: lldb%{_sonum}-devel = %{version}
|
Requires: lldb%{_sonum}-devel = %{version}
|
||||||
|
|
||||||
%description -n lldb-devel
|
%description -n lldb-devel
|
||||||
@ -219,7 +222,7 @@ don't require a specific LLDB version should depend on this.
|
|||||||
|
|
||||||
%package -n python3-lldb
|
%package -n python3-lldb
|
||||||
Summary: Python bindings for liblldb
|
Summary: Python bindings for liblldb
|
||||||
Group: Development/Languages/Python
|
Group: Development/Libraries/Python
|
||||||
Requires: python3-lldb%{_sonum} = %{version}
|
Requires: python3-lldb%{_sonum} = %{version}
|
||||||
|
|
||||||
%description -n python3-lldb
|
%description -n python3-lldb
|
||||||
@ -232,6 +235,7 @@ don't require a specific LLDB version should depend on this.
|
|||||||
%package -n lld
|
%package -n lld
|
||||||
Summary: Linker for Clang/LLVM
|
Summary: Linker for Clang/LLVM
|
||||||
Group: Development/Tools/Building
|
Group: Development/Tools/Building
|
||||||
|
Url: https://lld.llvm.org/
|
||||||
Requires: lld%{_sonum} = %{version}
|
Requires: lld%{_sonum} = %{version}
|
||||||
|
|
||||||
%description -n lld
|
%description -n lld
|
||||||
|
Loading…
x
Reference in New Issue
Block a user