Commit graph

767 commits

Author SHA1 Message Date
Nikita Popov
0dc012d3b6 Also fix lld-devel(major) provide
This is incorrect in rawhide compat rpms, fix it for the future.
2024-07-25 12:15:35 +00:00
Nikita Popov
4755acc088 Fix clang(major) provides
From: 46db6738a3
From: ffe2656114
2024-07-25 12:15:21 +00:00
Nikita Popov
17f99832d1 Ship hwasan_symbolize on riscv64
From: 19722bfcff
2024-07-25 10:52:55 +00:00
Nikita Popov
dcde15c8c6 Add compiler-rt(major) provide
From: 7d3d8b8866
2024-07-25 10:50:12 +00:00
Nikita Popov
62d7c09c1c llvm-omp-device-info -> llvm-offload-device-info
Was renamed in https://github.com/llvm/llvm-project/pull/100309.
2024-07-25 07:56:15 +00:00
Nikita Popov
f330f929b6 Add clang-nvlink-wrapper to file list
Introduced in https://github.com/llvm/llvm-project/pull/96561.

I've added the file to clang-tools-extra, as we also put many
similar binaries like clang-linker-wrapper in there.
2024-07-24 09:26:56 +02:00
Nikita Popov
494a04c902 Move patches and sources into main spec file
This way all the dependencies are listed in the main spec file.
Given how small these are, I don't think there's benefit to
having them split out.
2024-07-24 07:20:03 +00:00
Nikita Popov
22b081016d Add python3-lit to big-merge 2024-07-24 07:17:50 +00:00
Nikita Popov
90a16211f1 Update Python 3.6 patch
Port the changes from https://github.com/llvm/llvm-project/pull/89490
to Python 3.6.
2024-07-23 10:11:01 +02:00
Timm Bäder
b36739d243 Require llvm-libs from clang-libs 2024-07-22 18:12:00 +02:00
Nikita Popov
5b566692a4 Restore reduced debuginfo on i686
At least on f40 this resulted in a segfault during gdb-add-index.
2024-07-21 15:03:26 +02:00
Nikita Popov
2660590e85 Decrease debuginfo verbosity on RHEL 8
To see whether this fixes the OOMs. This also drops the change on
i686 for other OSs, to see whether that works or not.

On s390x this was already not effective due to a mismatch with
the condition in the cmake invocation.
2024-07-20 15:42:02 +02:00
Nikita Popov
ad51683670 Explicitly list lld libraries
Otherwise we end up shipping liblldb.so and liblldbIntelFeatures.so
as part of lld-libs/lld-devel.
2024-07-19 16:35:15 +00:00
Nikita Popov
110c51ea41 Patch back in Python 3.6 support on RHEL 8 2024-07-19 13:18:14 +00:00
Nikita Popov
a0cb14e0da Fix py_byte_compile invocation 2024-07-18 13:32:25 +00:00
Nikita Popov
a3e4502e5e Set LLVM_RAM_PER_COMPILE_JOB on RHEL 8
RHEL 8 uses gcc instead of clang as the host compiler, which
uses more memory.
2024-07-18 13:32:25 +00:00
Nikita Popov
fc1c88bf3d Use Python3_EXECUTABLE instead of PYTHON_EXECUTABLE
Also drop the unnecessary python version variables.

If there are multiple python versions installed, the wrong one may be
picked. PYTHON_EXECUTABLE tries to avoid that problem, but the correct
way to spell this nowadays is Python3_EXECUTABLE.
2024-07-18 13:32:25 +00:00
Nikita Popov
c956fce064 Undefine __cmake_in_source_build on RHEL 8
So we get the same behavior as in newer versions.
2024-07-18 13:32:25 +00:00
Nikita Popov
1dd985a086 Disable marshalparser on RHEL 8 2024-07-18 13:32:25 +00:00
Nikita Popov
e4775c8385 Run check-clang-tools
These were lost during the big-merge migration, because they
have their own check target.

I locally confirmed that the XFAIL for i686 is still needed.
2024-07-18 10:48:26 +00:00
Nikita Popov
7b4c34d259 Filter out omp_collapse tests on ppc64le, s390x and i686
These tests also fail on i686: https://download.copr.fedorainfracloud.org/results/@fedora-llvm-team/llvm-snapshots-big-merge-20240717/fedora-39-i386/07740274-llvm/builder-live.log.gz

And yesterday they failed on ppc64le: https://download.copr.fedorainfracloud.org/results/@fedora-llvm-team/llvm-snapshots-big-merge-20240717/fedora-39-ppc64le/07740275-llvm/builder-live.log.gz

While the day before they succeeded on ppc64le.

As such, ignore them instead of marking them as xfail.
2024-07-18 08:55:42 +00:00
Konrad Kleine
d2c0d36f9e Remove conditions that tried to support LLVM 18 in big-merge 2024-07-18 08:53:43 +00:00
Konrad Kleine
ba8389be78 Remove not needed condition in version.spec.inc 2024-07-18 08:53:43 +00:00
Nikita Popov
d271547ac2 Don't use wildcard for lld binaries
Otherwise we'll also ship lldb. Instead explicitly list lld and
lld-link.
2024-07-17 14:24:59 +02:00
Nikita Popov
0d402a179a Don't xfail omp_collapse tests on ppc64le
The tests pass: https://download.copr.fedorainfracloud.org/results/@fedora-llvm-team/llvm-snapshots-big-merge-20240716/fedora-rawhide-ppc64le/07737001-llvm/builder-live.log.gz

The tests do fail on s390x. Note that the thread_state_{1,2}.c tests
are already part of the ppc64le exclusive xfail list above, so
we can make this one specific to s390x.
2024-07-16 12:04:40 +02:00
Nikita Popov
4be1491f26 Actually disable lldb tests
Make sure to use %% for macros inside comments.
2024-07-16 09:52:51 +02:00
Nikita Popov
d3496ff556 Fix copr check
Per https://docs.pagure.org/copr.copr/user_documentation.html#rpm-macros
the `%copr_username` macro includes `@` at the start.
2024-07-15 09:13:31 +02:00
Konrad Kleine
626da9456a Prepare non-snapshot builds
Remove version.spec.inc from git
================================

We no longer track `version.spec.inc` in git. This is useful for
development. If we build a snapshot, the file is required but if we
build a `release` build (see below), then we don't include it.

Make improvements
=================

We distinguish between `snapshot-` and `release-` builds now in the
`Makefile`. These old targets are mapped to their new counterparts and a
deprecation warning is shown:

* `setup` -> `snapshot-setup`
* `local-rpm` -> `snapshot-rpm`
* `local-srpm` -> `snapshot-srpm`
* `local-prep` -> `snapshot-prep`
* `local-clean` -> `snapshot-clean`

We also have these new Make targets that run the build process with a
release tarball instead:

* `release-setup`
* `release-rpm`
* `release-srpm`
* `release-prep`
* `release-clean`

The targets `local-list-check` and `local-tmt-vm` have been commented
out because I think they were not needed. I just kept them for future
reference of research done in those areas.

All builds described by the `Makefile` are still local and no `mock` is
involved. I find this the easiest to debug.

Toggle default bcond state for snapshot_build
=============================================

We want to be able to build non-snapshot releases with this repo. That's
why be default the build condition `snapshot_build` is off. So
only when you explicitly enable `--with=snapshot_build` or define
`--define "_with_snapshot_build 1"` you'll be able to build a snapshot.
If however the build happens in Copr with a namespace that begins with
`fedora-llvm-team/llvm-snapshots-`, then the build condition is ON by
default and there's no need to enable it explicitly with `--with=snapshot_build`.

Things related to release update
================================

* Add llvm-project tarball and signature to sources
* Fix: error: source 1001 defined multiple times
* Fix: error: source 1006 defined multiple times
* Fix missing newline
* Conditionally apply 0001-Always-build-shared-libs-for-LLD.patch
* Only enable offload runtime in snapshot mode

Misc.
=====

* Add missing prep dependency
2024-07-11 18:47:43 +00:00
Konrad Kleine
6c6af36acb lldb: Fail to configure if certain requirements are not met for testing 2024-07-11 11:37:05 +00:00
Konrad Kleine
d6b3a2dab8 lldb: disable tests for lldb 2024-07-11 11:36:42 +00:00
Konrad Kleine
323ee2723e lldb: fix ModuleNotFoundError: No module named 'pexpect'
We've seen a lot of tests that were missing the pexpect python module
and that resulted in a state of
[`UNRESOLVED`](https://llvm.org/docs/CommandGuide/lit.html).
2024-07-10 12:52:49 +00:00
Konrad Kleine
b79ab4f3cc Remove timestamp prefix in log lines
With the llvm-build-stats we have what we wanted.
2024-07-09 19:04:48 +00:00
Konrad Kleine
5ce95c133e lld: move ldconfig_scriptlets into llvm.spec 2024-07-09 18:55:12 +00:00
Konrad Kleine
b167b820db lldb: add BuildRequires: procps-ng
This is to mitigate `/bin/sh: line 1: ps: command not found` in the
build logs.
2024-07-09 18:55:12 +00:00
Konrad Kleine
c00f9f2e11 Reorganize %check section 2024-07-09 18:55:12 +00:00
Nikita Popov
78289e831d Remove compact_unwind_encoding.h patch
This is no longer necessary now that we're building from the monorepo.
2024-07-09 17:37:28 +02:00
Nikita Popov
1c8a88c870 Fix python3-clang
Drop confusing `cd ..` so we stay in the root of the LLVM sources
and the install command succeeds.
2024-07-08 14:15:52 +02:00
Nikita Popov
4a3b0b3b90 Only ship libclang* in clang-libs
Previously we were also shipping libLLVM* and libLLD*.
2024-07-08 11:19:40 +02:00
Tulio Magno Quites Machado Filho
9070ddbbbb Add subpackage llvm-toolset
Related: RHEL-45729
2024-07-03 09:28:39 -03:00
Konrad Kleine
26fc541eba Merge #234 DRAFT: Add lldb to big-merge 2024-07-03 11:06:19 +00:00
Nikita Popov
3f1eb51952 Only put libLLVM*.a into llvm-static
Currently we also accidentally ship libomptarget.devicertl.a.
2024-07-03 11:30:09 +02:00
Konrad Kleine
802e5ea8aa Add another flaky lldb test to exclude list
This test seems flaky:

lldb-api :: functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
2024-07-03 07:48:20 +00:00
Konrad Kleine
ff2779276f Makefile fixes
We can prefetch the sources using spectool as usual.
2024-07-03 07:47:36 +00:00
Konrad Kleine
393325cce1 Include liblldb*.so in %files
See
https://src.fedoraproject.org/rpms/llvm/pull-request/234#comment-206914
2024-07-02 21:29:41 +00:00
Konrad Kleine
86fec774e2 Move all BuildRequires: tags to llvm.spec
See
https://src.fedoraproject.org/rpms/llvm/pull-request/234#comment-206917
2024-07-02 21:29:41 +00:00
Konrad Kleine
459476a447 Remove %ldconfig_scriptlets and remove liblldb*.a files 2024-07-02 21:29:41 +00:00
Konrad Kleine
edb4034ecd Don't clean after building the RPM 2024-07-02 21:29:41 +00:00
Konrad Kleine
5b13ad894f Filter out flaky, unresolved and broken lldb test 2024-07-02 16:45:48 +02:00
Konrad Kleine
9cf03a4db7 Avoid building lldb docs
This should fix this error:

```
Jul 01 12:48:27 FAILED: tools/lldb/docs/CMakeFiles/docs-lldb-html
/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/CMakeFiles/docs-lldb-html
Jul 01 12:48:27 cd
/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs
&& /usr/bin/cmake -E env
LLDB_SWIG_MODULE=/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs
/usr/bin/sphinx-build-3 -b html -d
/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/_doctrees-lldb-html
-q -t builder-html -D version=19 -D release=mainline
/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/lldb/docs
/home/fedora/src/llvm-rpms/llvm-big-merge/BUILD/llvm-project-e19ac0dcfd7357161210f157ed0559836e88155f/llvm/redhat-linux-build/tools/lldb/docs/html
Jul 01 12:48:27
Jul 01 12:48:27 Extension error:
Jul 01 12:48:27 Could not import extension sphinx_automodapi.automodapi
(exception: No module named 'sphinx_automodapi')
Jul 01 12:48:27 install sphinx_automodapi with /usr/bin/python3 -m pip
install sphinx_automodapi
Jul 01 12:48:27 install sphinx furo theme with /usr/bin/python3 -m pip
install furo
```

the two python modules are not in fedroa unfortunately.
2024-07-02 16:45:48 +02:00
Konrad Kleine
f7fcef719f Add lldb to big-merge
See https://github.com/fedora-llvm-team/llvm-snapshots/issues/573
2024-07-02 16:45:48 +02:00