Compare commits

...
Sign in to create a new pull request.

46 commits

Author SHA1 Message Date
Fedora Release Engineering
8d3af92bb1 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:51:29 +00:00
Benjamin A. Beasley
09988eb145 Fix License field (add MIT term) 2026-05-20 14:54:06 +01:00
Benjamin A. Beasley
1b68f5d49f Be more clear that we have no tests of our own 2026-05-20 14:51:40 +01:00
Benjamin A. Beasley
a3cc806bce Use the cmake declarative buildsystem 2026-05-20 07:52:59 +01:00
Benjamin A. Beasley
69ed6fc33d Trivial spec-file typo fix
[skip changelog]
2026-05-20 07:49:40 +01:00
Benjamin A. Beasley
1d8a76b375 The ninja backend is the default now; don’t bother specifying it
https://fedoraproject.org/wiki/Changes/CMake_ninja_default
2026-03-15 11:27:48 +00:00
Benjamin A. Beasley
598e1508f6 Verify asan/tsan/ubsan arch list for GCC 16.0.1 2026-03-15 11:27:48 +00:00
Fedora Release Engineering
23dad95716 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 20:17:27 +00:00
Benjamin A. Beasley
0a8d322dd2 Update .rpmlintrc file
[skip changelog]
2026-01-11 00:03:14 +00:00
Benjamin A. Beasley
f4db9d37b4 Rebuilt for gtest 1.17.0 2025-11-12 10:10:14 +00:00
Benjamin A. Beasley
e4174d1dd4 Update to 1.8.1 (close RHBZ#2388540) 2025-08-15 07:19:57 -04:00
Fedora Release Engineering
77c37873ce Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 20:28:15 +00:00
Benjamin A. Beasley
7454946d25 Update .rpmlintrc file for current rpmlint 2025-05-11 08:56:14 -04:00
Benjamin A. Beasley
c93d6ccbd4 Update architectures for asan/tsan/ubsan tests based on GCC 15
- Adds riscv64 to supported architectures for all three kinds of tsts
2025-03-05 10:52:18 -05:00
Benjamin A. Beasley
24fc598db3 Rebuilt for gtest 1.15.2 2025-01-22 14:29:03 -05:00
Fedora Release Engineering
0811c7d5b0 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 15:07:06 +00:00
Benjamin A. Beasley
9177e66353 Add a SourceLicense field 2024-12-15 11:33:21 -05:00
Benjamin A. Beasley
04eccb325e Invoke %cmake in %conf rather than in %build 2024-11-03 07:11:11 -05:00
Fedora Release Engineering
bad98f764e Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 09:25:39 +00:00
Benjamin A. Beasley
4ae221bf8e Add an rpmlintrc file
[skip changelog]
2024-04-05 10:26:38 -04:00
Fedora Release Engineering
fce43b7315 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 08:56:22 +00:00
Benjamin A. Beasley
b99314c591 Update to 1.7.0 (close RHBZ#2254812) 2023-12-20 10:54:05 -05:00
Benjamin A. Beasley
8885432e1d Rebuild for gtest 1.14.0 2023-10-30 18:07:52 -04:00
Benjamin A. Beasley
c9d6fa3946 Update to 1.6.1 (close RHBZ#2243684) 2023-10-17 12:46:30 -04:00
Benjamin A. Beasley
c27c0e50bd Reorganize sanitizer conditionals 2023-10-17 11:59:48 -04:00
Benjamin A. Beasley
a4df2622fa Update to 1.6.0 (close RHBZ#2223843) 2023-07-19 08:51:23 -04:00
Benjamin A. Beasley
400569d310 Use new (rpm 4.17.1+) bcond style 2023-06-18 12:08:33 -04:00
Benjamin A. Beasley
f6d31a0488 Do not number the sole Source
[skip changelog]
2023-05-29 13:11:34 -04:00
Benjamin A. Beasley
25dafba992 Rebuilt for gtest 1.13.0 (close RHBZ#2164017) 2023-01-24 10:11:14 -05:00
Benjamin A. Beasley
e0c91575d5 Update to 1.5.0 (close RHBZ#2162721) 2023-01-20 13:16:32 -05:00
Benjamin A. Beasley
b9379c4b9b Confirm lib*san architectures for GCC 13 2023-01-20 13:10:47 -05:00
Benjamin A. Beasley
a51e8d4600 Indicate dirs. in files list with trailing slashes 2022-12-22 12:45:40 -05:00
Benjamin A. Beasley
79263c839b Update License to SPDX 2022-11-29 14:27:57 -05:00
Benjamin A. Beasley
e70f2e16b2 Update architecture list for libtsan 2022-11-29 14:22:25 -05:00
Fedora Release Engineering
9d7406bf2f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 12:31:01 +00:00
c0236a4313 Rebuild against new gtest 2022-07-10 22:33:25 +09:00
Benjamin A. Beasley
5351a75a80 Rebuilt for gtest 1.12.0 (close RHBZ#2101750) 2022-06-28 08:03:56 -04:00
Benjamin A. Beasley
f499c43259 Update to 1.4.0 (close RHBZ#2065815) 2022-03-19 09:06:07 -04:00
Fedora Release Engineering
d7b00d8493 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 04:33:33 +00:00
Benjamin A. Beasley
439e14cc53 Drop -Werror
It makes sense for upstream CI, but is too strict for packaging.
2022-01-14 13:26:27 -05:00
Benjamin A. Beasley
4073d6955b Opt in to rpmautospec 2021-11-02 15:27:48 -04:00
Benjamin A. Beasley
3eb2210d0a Rebuild for gtest 1.11.0 (fix RHBZ#2001358)
- Remove obsolete macros and workarounds
- Update architecture lists for sanitizers
- Audit source licenses and correct License from “GPLv2 or GPLv3” to “GPLv3”
- Drop license files from -devel since it depends on the base package
- Reduce macro indirection in the spec file
- Use more pkgconfig(…) and cmake(…) dependencies where appropriate
- Package README.rst in -devel package only, and also package example/
- Fix a trivial typo in README.rst and the package description
2021-11-02 15:14:23 -04:00
8bae7df040 Backport upstream patch to build with gtest 1.11 2021-11-02 22:19:22 +09:00
Fedora Release Engineering
7c8df54421 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 21:01:52 +00:00
Neal Gompa
f428cd72c6 Update to 1.3.0 (RH#1931861) 2021-06-24 13:50:15 -04:00
Fedora Release Engineering
623e937f1e - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 23:34:35 +00:00
5 changed files with 179 additions and 88 deletions

7
.gitignore vendored
View file

@ -1,3 +1,10 @@
/wlcs-1.0.0.tar.xz
/wlcs-1.1.0.tar.xz
/wlcs-1.2.0.tar.xz
/wlcs-1.3.0.tar.xz
/wlcs-1.4.0.tar.xz
/wlcs-1.5.0.tar.gz
/wlcs-1.6.0.tar.gz
/wlcs-1.6.1.tar.gz
/wlcs-1.7.0.tar.gz
/wlcs-1.8.1.tar.gz

49
changelog Normal file
View file

@ -0,0 +1,49 @@
* Tue Nov 02 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.3.0-4
- Rebuild for gtest 1.11.0 (fix RHBZ#2001358)
- Remove obsolete macros and workarounds
- Update architecture lists for sanitizers
- Audit source licenses and correct License from “GPLv2 or GPLv3” to “GPLv3”
- Drop license files from -devel since it depends on the base package
- Reduce macro indirection in the spec file
- Use more pkgconfig(…) and cmake(…) dependencies where appropriate
- Package README.rst in -devel package only, and also package example/
- Fix a trivial typo in README.rst and the package description
* Tue Nov 2 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 1.3.0-3
- Backport upstream patch to build with gtest 1.11
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Jun 24 2021 Neal Gompa <ngompa13@gmail.com> - 1.3.0-1
- Update to 1.3.0 (RH#1931861)
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Nov 1 2020 Neal Gompa <ngompa13@gmail.com> - 1.2.0-1
- Update to 1.2.0 (RH#1893144)
* Sat Oct 17 2020 Jeff Law <law@redhat.com> - 1.1.0-5
- Use reference for loop variable to avoid range-loop-construct warning
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 01 2020 Neal Gompa <ngompa13@gmail.com> - 1.1.0-3
- Rebuild for gtest 1.10.0
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Aug 27 2019 Neal Gompa <ngompa13@gmail.com> - 1.1.0-1
- Update to 1.1.0 (RH#1742232)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-2
- Fix pkgconfig file to point to runner binaries
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-1
- Initial packaging for Fedora

View file

@ -1 +1 @@
SHA512 (wlcs-1.2.0.tar.xz) = 220cac5b9c41cadfabdf53f3bde5eec8f57ce0ad37334bf93cf04461377e17f2a705823933128cf54376c04005c483b8561ee733272abca26490bcccb55bdbfd
SHA512 (wlcs-1.8.1.tar.gz) = 5a76c9a5b88ab0627300bd9a3cb63ceaf68824a15b79a605aa5fd3a9b12e2877489a7150a21da68bda21434bd947e4f0d1ecc8b6d81ab9a1faf84ee75e6d1ca2

2
wlcs.rpmlintrc Normal file
View file

@ -0,0 +1,2 @@
# Not a real spelling error:
addFilter(r" spelling-error \('(implementors?)',")

207
wlcs.spec
View file

@ -1,43 +1,111 @@
%undefine __cmake_in_source_build
%if 0%{?fedora} >= 30
# asan doesn't work with gcc9 on s390x...
%ifarch s390 s390x
%bcond_with asan
%else
%bcond_without asan
# Lists copied from gcc.spec
# Current as of 16.0.1 (lines 83, 103, and 93, respectively).
# Note that asan and ubsan are available on all Fedora primary architectures;
# tsan is missing on i686 only.
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64
%global arch_has_asan 1
%endif
%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64 riscv64
%global arch_has_ubsan 1
%endif
%ifarch x86_64 ppc64 ppc64le aarch64 s390x riscv64
%global arch_has_tsan 1
%endif
%bcond_without ubsan
%ifarch %{ix86} %{arm} s390 s390x
%bcond_with tsan
%else
%bcond_without tsan
%endif
# By default, enable sanitizers whenever they are available on the architecture.
%bcond asan 0%{?arch_has_asan:1}
%bcond ubsan 0%{?arch_has_ubsan:1}
%bcond tsan 0%{?arch_has_tsan:1}
Name: wlcs
Version: 1.2.0
Release: 1%{?dist}
Version: 1.8.1
Release: %autorelease
Summary: Wayland Conformance Test Suite
License: GPLv2 or GPLv3
URL: https://github.com/MirServer/%{name}
Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.xz
# The entire source is GPL-3.0-only, except:
#
# (GPL-2.0-only OR GPL-3.0-only):
# - CMakeLists.txt
# > Build system file that does not contribute to the licenses of the binary
# RPMs
#
# (LGPL-2.0-only OR LGPL-3.0-only):
# - include/geometry/*
# - include/mutex.h
# - include/shared_library.h
# - src/helpers.cpp
# - src/shared_library.cpp
# > Since (L)GPLv2-only code is not compatible with (L)GPLv3 or (L)GPLv3+ code,
# and these sources are combined with GPLv3 code, the LGPLv3 option is used
# in this package. However, we encode both options in the SPDX expression.
#
# GPL-2.0-or-later
# - debian/*
# > Not used in this package
#
# MIT:
# - src/protocol/gtk-primary-selection.xml
# - src/protocol/input-method-unstable-v1.xml
# - src/protocol/pointer-constraints-unstable-v1.xml
# - src/protocol/primary-selection-unstable-v1.xml
# - src/protocol/relative-pointer-unstable-v1.xml
# - src/protocol/wayland.xml
# - src/protocol/wlr-virtual-pointer-unstable-v1.xml
# - src/protocol/xdg-output-unstable-v1.xml
# - src/protocol/xdg-shell-unstable-v6.xml
# - src/protocol/xdg-shell.xml
# - tests/test_bad_buffer.cpp
# - tests/test_surface_events.cpp
# - tests/text_input_v3_with_input_method_v2.cpp
# - tests/wlr_virtual_pointer_v1.cpp
# - tests/xdg_popup_v6.cpp
# - tests/xdg_surface_stable.cpp
# - tests/xdg_surface_v6.cpp
# - tests/xdg_toplevel_stable.cpp
# - tests/xdg_toplevel_v6.cpp
# > Files in tests/ are included in the test-suite executables and do
# contribute to the licenses of the binary RPMs. Files in src/protocol/ are
# used as inputs to “wayland-scanner” to generate C source files and headers,
# and are not directly included in the binary RPMs.
#
# HPND-sell-variant:
# - src/protocol/text-input-unstable-v2.xml
# > Files in src/protocol/ are used as inputs to “wayland-scanner” to generate
# C source files and headers, and are not directly included in the binary
# RPMs.
License: GPL-3.0-only AND (LGPL-2.0-only OR LGPL-3.0-only) AND MIT
SourceLicense: %{shrink:
%{license} AND
(GPL-2.0-only OR GPL-3.0-only) AND
GPL-2.0-or-later AND
HPND-sell-variant
}
URL: https://github.com/MirServer/wlcs
Source: %{url}/archive/v%{version}/wlcs-%{version}.tar.gz
BuildSystem: cmake
# WLCS_FATAL_COMPILE_WARNINGS: makes sense for upstream CI, but too strict for
# downstream packaging
BuildOption(conf): %{shrink:
-DWLCS_BUILD_ASAN=%{?with_asan:ON}%{?!with_asan:OFF}
-DWLCS_BUILD_TSAN=%{?with_tsan:ON}%{?!with_tsan:OFF}
-DWLCS_BUILD_UBSAN=%{?with_ubsan:ON}%{?!with_ubsan:OFF}
-DWLCS_FATAL_COMPILE_WARNINGS:BOOL=OFF
}
# We have built a test suite for compositors, but we have no tests for the test
# suite, i.e., %%ctest would find no tests and there is nothing useful we could
# do in %%check.
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: ninja-build
BuildRequires: boost-devel
BuildRequires: gtest-devel
BuildRequires: cmake(GTest)
BuildRequires: gmock-devel
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: %{_bindir}/wayland-scanner
# Because for some reason they're not pulled in normally?
BuildRequires: libatomic
BuildRequires: pkgconfig(wayland-scanner)
%if %{with asan}
BuildRequires: libasan
%endif
@ -49,83 +117,48 @@ BuildRequires: libtsan
%endif
%description
wlcs aspires to be a protocol-conformance-verifying test suite
usable by Wayland compositor implementors.
wlcs aspires to be a protocol-conformance-verifying test suite usable by
Wayland compositor implementors.
It is growing out of porting the existing Weston test suite to
be run in Mir's test suite, but it is designed to be usable by
any compositor.
It is growing out of porting the existing Weston test suite to be run in Mirs
test suite, but it is designed to be usable by any compositor.
wlcs relies on compositors providing an integration module,
providing wlcs with API hooks to start a compositor, connect a
client, move a window, and so on.
wlcs relies on compositors providing an integration module, providing wlcs with
API hooks to start a compositor, connect a client, move a window, and so on.
This makes both writing and debugging tests easier - the tests are (generally)
in the same address space as the compositor, so there is a consistent global
clock available, its easier to poke around in compositor internals, and
standard debugging tools can follow control flow from the test client to the
compositor and back again.
This makes both writing aid debugging tests easier - the tests
are (generally) in the same address space as the compositor, so
there is a consistent global clock available, it's easier to poke
around in compositor internals, and standard debugging tools can
follow control flow from the test client to the compositor and
back again.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: Development files for wlcs
Requires: wlcs%{?_isa} = %{version}-%{release}
%description devel
%{name} aspires to be a protocol-conformance-verifying test suite
usable by Wayland compositor implementors.
wlcs aspires to be a protocol-conformance-verifying test suite usable by
Wayland compositor implementors.
The %{name}-devel package contains libraries and header files for
developing Wayland compositor tests that use %{name}.
The wlcs-devel package contains libraries and header files for developing
Wayland compositor tests that use wlcs.
%prep
%autosetup -p1
%build
%cmake -GNinja %{!?with_asan:-DWLCS_BUILD_ASAN=OFF} %{!?with_ubsan:-DWLCS_BUILD_UBSAN=OFF} %{!?with_tsan:-DWLCS_BUILD_TSAN=OFF}
%cmake_build
%install
%cmake_install
%files
%license COPYING.*
%doc README.rst
%{_libexecdir}/%{name}/
%{_libexecdir}/wlcs/
%files devel
%license COPYING.*
%doc README.rst
%{_includedir}/%{name}/
%{_libdir}/pkgconfig/%{name}.pc
%doc example/
%{_includedir}/wlcs/
%{_libdir}/pkgconfig/wlcs.pc
%changelog
* Sun Nov 1 2020 Neal Gompa <ngompa13@gmail.com> - 1.2.0-1
- Update to 1.2.0 (RH#1893144)
* Sat Oct 17 2020 Jeff Law <law@redhat.com> - 1.1.0-5
- Use reference for loop variable to avoid range-loop-construct warning
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Apr 01 2020 Neal Gompa <ngompa13@gmail.com> - 1.1.0-3
- Rebuild for gtest 1.10.0
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Aug 27 2019 Neal Gompa <ngompa13@gmail.com> - 1.1.0-1
- Update to 1.1.0 (RH#1742232)
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-2
- Fix pkgconfig file to point to runner binaries
* Sat Jul 13 2019 Neal Gompa <ngompa13@gmail.com> - 1.0.0-1
- Initial packaging for Fedora
%autochangelog