The package rpms/wlcs.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/wlcs.git/commit/?id=3eb2210d0ab4c....
Change:
+%ifarch x86_64 ppc64 ppc64le aarch64
Thanks.
Full change:
============
commit 4073d6955bb906e968b1437a54f5490421542231
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue Nov 2 15:27:48 2021 -0400
Opt in to rpmautospec
diff --git a/changelog b/changelog
new file mode 100644
index 0000000..c9b9216
--- /dev/null
+++ b/changelog
@@ -0,0 +1,49 @@
+* Tue Nov 02 2021 Benjamin A. Beasley <code(a)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(a)fedoraproject.org> - 1.3.0-3
+- Backport upstream patch to build with gtest 1.11
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Thu Jun 24 2021 Neal Gompa <ngompa13(a)gmail.com> - 1.3.0-1
+- Update to 1.3.0 (RH#1931861)
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.0-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Sun Nov 1 2020 Neal Gompa <ngompa13(a)gmail.com> - 1.2.0-1
+- Update to 1.2.0 (RH#1893144)
+
+* Sat Oct 17 2020 Jeff Law <law(a)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(a)fedoraproject.org> - 1.1.0-4
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Wed Apr 01 2020 Neal Gompa <ngompa13(a)gmail.com> - 1.1.0-3
+- Rebuild for gtest 1.10.0
+
+* Fri Jan 31 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.0-2
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Tue Aug 27 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.1.0-1
+- Update to 1.1.0 (RH#1742232)
+
+* Sat Jul 27 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.0.0-3
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sat Jul 13 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.0.0-2
+- Fix pkgconfig file to point to runner binaries
+
+* Sat Jul 13 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.0.0-1
+- Initial packaging for Fedora
diff --git a/wlcs.spec b/wlcs.spec
index 802c55e..9b32f5a 100644
--- a/wlcs.spec
+++ b/wlcs.spec
@@ -26,7 +26,7 @@
Name: wlcs
Version: 1.3.0
-Release: 4%{?dist}
+Release: %autorelease
Summary: Wayland Conformance Test Suite
# The entire source is GPLv3, except:
@@ -171,52 +171,4 @@ Wayland compositor tests that use wlcs.
%changelog
-* Tue Nov 02 2021 Benjamin A. Beasley <code(a)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(a)fedoraproject.org> - 1.3.0-3
-- Backport upstream patch to build with gtest 1.11
-
-* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
-
-* Thu Jun 24 2021 Neal Gompa <ngompa13(a)gmail.com> - 1.3.0-1
-- Update to 1.3.0 (RH#1931861)
-
-* Wed Jan 27 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
-
-* Sun Nov 1 2020 Neal Gompa <ngompa13(a)gmail.com> - 1.2.0-1
-- Update to 1.2.0 (RH#1893144)
-
-* Sat Oct 17 2020 Jeff Law <law(a)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(a)fedoraproject.org> - 1.1.0-4
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
-
-* Wed Apr 01 2020 Neal Gompa <ngompa13(a)gmail.com> - 1.1.0-3
-- Rebuild for gtest 1.10.0
-
-* Fri Jan 31 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.0-2
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
-
-* Tue Aug 27 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.1.0-1
-- Update to 1.1.0 (RH#1742232)
-
-* Sat Jul 27 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.0.0-3
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
-
-* Sat Jul 13 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.0.0-2
-- Fix pkgconfig file to point to runner binaries
-
-* Sat Jul 13 2019 Neal Gompa <ngompa13(a)gmail.com> - 1.0.0-1
-- Initial packaging for Fedora
+%autochangelog
commit 3eb2210d0ab4ca368081311161c5379c73fee6d9
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Tue Nov 2 13:57:41 2021 -0400
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
diff --git a/215.patch b/215.patch
new file mode 100644
index 0000000..6dfbf93
--- /dev/null
+++ b/215.patch
@@ -0,0 +1,26 @@
+From 6aa1becb3cee328f715af76d16de544974b6646e Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code(a)musicinmybrain.net>
+Date: Tue, 2 Nov 2021 13:40:07 -0400
+Subject: [PATCH] =?UTF-8?q?Fix=20a=20trivial=20typo=20(=E2=80=9Caid?=
+ =?UTF-8?q?=E2=80=9D=20for=20=E2=80=9Cand=E2=80=9D)=20in=20README.rst?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ README.rst | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/README.rst b/README.rst
+index 50f8ec1f..7656dc30 100644
+--- a/README.rst
++++ b/README.rst
+@@ -25,7 +25,7 @@ happens-before ordering available.
+
+ Instead, ``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 aid debugging tests easier -
++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, it's easier to poke around in
+ compositor internals, and standard debugging tools can follow control flow from
diff --git a/wlcs-1.3.0-gtest-1.11.patch b/f6ff93f7b7db154b7899f415ec67677e6ddd7ff5.patch
similarity index 100%
rename from wlcs-1.3.0-gtest-1.11.patch
rename to f6ff93f7b7db154b7899f415ec67677e6ddd7ff5.patch
diff --git a/wlcs.spec b/wlcs.spec
index 77f3236..802c55e 100644
--- a/wlcs.spec
+++ b/wlcs.spec
@@ -1,45 +1,105 @@
-%undefine __cmake_in_source_build
-
-%if 0%{?fedora} >= 30
-# asan doesn't work with gcc9 on s390x...
-%ifarch s390 s390x
-%bcond_with asan
-%else
+# List copied from gcc.spec
+# Current as of 11.2.1 (line 59)
+# Note that this covers all Fedora primary architectures.
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
%bcond_without asan
-%endif
+%else
+%bcond_with asan
%endif
+# List copied from gcc.spec
+# Current as of 11.2.1 (line 74)
+# Note that this covers all Fedora primary architectures.
+%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
%bcond_without ubsan
-
-%ifarch %{ix86} %{arm} s390 s390x
-%bcond_with tsan
%else
+%bcond_with ubsan
+%endif
+
+# List copied from gcc.spec
+# Current as of 11.2.1 (line 64)
+%ifarch x86_64 ppc64 ppc64le aarch64
%bcond_without tsan
+%else
+%bcond_with tsan
%endif
Name: wlcs
Version: 1.3.0
-Release: 3%{?dist}
+Release: 4%{?dist}
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
-#
https://github.com/MirServer/wlcs/commit/f6ff93f7b7db154b7899f415ec67677e...
-Patch0: wlcs-1.3.0-gtest-1.11.patch
+# The entire source is GPLv3, except:
+#
+# (GPLv2 or GPLv3):
+# - CMakeLists.txt
+# > Build system file that does not contribute to the licenses of the binary
+# RPMs
+#
+# (LGPLv2 or LGPLv3):
+# - 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.
+#
+# GPLv2+:
+# - debian/*
+# > Not used in this package
+#
+# MIT:
+# - src/protocol/gtk-primary-selection.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/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/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 all test code that is not installed (so does not
+# 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.
+#
+# Thus, files under GPLv3 and (LGPLv2 or LGPLv3) licenses contribute to the
+# installed binaries, and the effective license remains GPLv3.
+License: GPLv3
+URL:
https://github.com/MirServer/wlcs
+Source0: %{url}/releases/download/v%{version}/wlcs-%{version}.tar.xz
+# Backport upstream commit f6ff93f7b7db154b7899f415ec67677e6ddd7ff5:
+#
+# Fix build when using GTest-1.11
+#
+# Some change in GTest 1.11 headers caused a conflict on the name
+# `Pointer`. Removing the unconditional import of namespace `testing`
+# in favor of individual imports of the used items fixes it.
+Patch0: %{url}/commit/f6ff93f7b7db154b7899f415ec67677e6ddd7ff5.patch
+# Fix a trivial typo (“aid” for “and”) in README.rst
+#
https://github.com/MirServer/wlcs/pull/215
+Patch1: %{url}/pull/215.patch
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
@@ -51,34 +111,31 @@ 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 Mir’s
+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 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.
+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, 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
@@ -86,25 +143,45 @@ developing Wayland compositor tests that use %{name}.
%build
-%cmake -GNinja %{!?with_asan:-DWLCS_BUILD_ASAN=OFF}
%{!?with_ubsan:-DWLCS_BUILD_UBSAN=OFF} %{!?with_tsan:-DWLCS_BUILD_TSAN=OFF}
+%cmake \
+ -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} \
+ -GNinja
%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
+* Tue Nov 02 2021 Benjamin A. Beasley <code(a)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(a)fedoraproject.org> - 1.3.0-3
- Backport upstream patch to build with gtest 1.11
commit 8bae7df04083c260c7b18d9045757d7a79c77d70
Author: Mamoru TASAKA <mtasaka(a)fedoraproject.org>
Date: Tue Nov 2 22:19:22 2021 +0900
Backport upstream patch to build with gtest 1.11
diff --git a/wlcs-1.3.0-gtest-1.11.patch b/wlcs-1.3.0-gtest-1.11.patch
new file mode 100644
index 0000000..31981c6
--- /dev/null
+++ b/wlcs-1.3.0-gtest-1.11.patch
@@ -0,0 +1,49 @@
+From f6ff93f7b7db154b7899f415ec67677e6ddd7ff5 Mon Sep 17 00:00:00 2001
+From: Victor Berger <victor.berger(a)m4x.org>
+Date: Thu, 8 Jul 2021 19:39:30 +0200
+Subject: [PATCH] Fix build when using GTest-1.11
+
+Some change in GTest 1.11 headers caused a conflict on the name
+`Pointer`. Removing the unconditional import of namespace `testing`
+in favor of individual imports of the used items fixes it.
+
+cc #205
+---
+ tests/pointer_constraints.cpp | 6 +++++-
+ tests/relative_pointer.cpp | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/tests/pointer_constraints.cpp b/tests/pointer_constraints.cpp
+index d306710..6ee856f 100644
+--- a/tests/pointer_constraints.cpp
++++ b/tests/pointer_constraints.cpp
+@@ -24,7 +24,11 @@
+
+ #include <memory>
+
+-using namespace testing;
++using testing::AnyNumber;
++using testing::Eq;
++using testing::Ne;
++using testing::NotNull;
++
+ using namespace wlcs;
+
+ namespace
+diff --git a/tests/relative_pointer.cpp b/tests/relative_pointer.cpp
+index c33316c..c5c5358 100644
+--- a/tests/relative_pointer.cpp
++++ b/tests/relative_pointer.cpp
+@@ -22,7 +22,11 @@
+
+ #include <gmock/gmock.h>
+
+-using namespace testing;
++using testing::AnyNumber;
++using testing::IsTrue;
++using testing::NotNull;
++using testing::_;
++
+ using namespace wlcs;
+
+ namespace
diff --git a/wlcs.spec b/wlcs.spec
index 371baba..77f3236 100644
--- a/wlcs.spec
+++ b/wlcs.spec
@@ -19,12 +19,14 @@
Name: wlcs
Version: 1.3.0
-Release: 2%{?dist}
+Release: 3%{?dist}
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
+#
https://github.com/MirServer/wlcs/commit/f6ff93f7b7db154b7899f415ec67677e...
+Patch0: wlcs-1.3.0-gtest-1.11.patch
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -103,6 +105,9 @@ developing Wayland compositor tests that use %{name}.
%changelog
+* Tue Nov 2 2021 Mamoru TASAKA <mtasaka(a)fedoraproject.org> - 1.3.0-3
+- Backport upstream patch to build with gtest 1.11
+
* Fri Jul 23 2021 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.3.0-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild