The package rpms/fizz.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/fizz.git/commit/?id=65a72de2499b4....
Change:
+ExcludeArch: s390x
Thanks.
Full change:
============
commit f6ec54dc78647324d26159560d2dead7e64cdaff
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Tue Oct 27 20:49:25 2020 -0700
Add bz# for s390x ExcludeArch
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/fizz.spec b/fizz.spec
index 663ce42..a7fb37e 100644
--- a/fizz.spec
+++ b/fizz.spec
@@ -18,7 +18,7 @@ Patch1:
https://github.com/facebookincubator/fizz/commit/22b5d4635f79e61
Patch2:
https://github.com/facebookincubator/fizz/commit/505cbc78dd98f04915220e3d...
# Folly is known not to work on big-endian CPUs
-# will file a proper blocking bug once this is imported
+#
https://bugzilla.redhat.com/show_bug.cgi?id=1892152
ExcludeArch: s390x
BuildRequires: cmake
commit 65a72de2499b4ae994a685b4b5c483a6baeab6a0
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Tue Oct 27 19:01:37 2020 -0700
Initial import
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f54dd83
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/fizz-v2020.10.26.00.tar.gz
diff --git a/fizz-2020.10.26.00-allow_overriding_version.patch
b/fizz-2020.10.26.00-allow_overriding_version.patch
new file mode 100644
index 0000000..2b45559
--- /dev/null
+++ b/fizz-2020.10.26.00-allow_overriding_version.patch
@@ -0,0 +1,49 @@
+From 505cbc78dd98f04915220e3d2796bc026f79c066 Mon Sep 17 00:00:00 2001
+From: Michel Salim <michel(a)fb.com>
+Date: Mon, 26 Oct 2020 16:30:30 -0700
+Subject: [PATCH] allow overriding version
+
+Summary:
+Upstream doesn't currently guarantee ABI stability, we want to let
+downstream distributions override the version themselves when they
+update Fizz.
+
+Reviewed By: danobi
+
+Differential Revision: D24498696
+
+fbshipit-source-id: 69d5b7d16ef890af8cdfa7950b07002be11ab7fb
+---
+ fizz/CMakeLists.txt | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
+index 5a67778a..a1ad30c6 100644
+--- a/fizz/CMakeLists.txt
++++ b/fizz/CMakeLists.txt
+@@ -3,7 +3,15 @@
+
+ cmake_minimum_required(VERSION 3.1)
+
+-project("fizz" VERSION 1.0.0 LANGUAGES CXX C)
++if (NOT DEFINED PACKAGE_VERSION)
++ set(PACKAGE_VERSION "1.0.0")
++endif()
++
++if (NOT DEFINED SO_VERSION)
++ set(SO_VERSION 1)
++endif()
++
++project("fizz" VERSION ${PACKAGE_VERSION} LANGUAGES CXX C)
+
+ if (NOT DEFINED CPACK_GENERATOR)
+ set(CPACK_GENERATOR "RPM")
+@@ -208,7 +216,7 @@ add_library(fizz
+
+ if (BUILD_SHARED_LIBS)
+ set_target_properties(fizz
+- PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION 1)
++ PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${SO_VERSION})
+ endif()
+
+ get_filename_component(FIZZ_BASE_DIR ${CMAKE_SOURCE_DIR}/.. ABSOLUTE)
diff --git a/fizz-2020.10.26.00-fix_fizz_test_support_dest.patch
b/fizz-2020.10.26.00-fix_fizz_test_support_dest.patch
new file mode 100644
index 0000000..552a5c1
--- /dev/null
+++ b/fizz-2020.10.26.00-fix_fizz_test_support_dest.patch
@@ -0,0 +1,31 @@
+From 22b5d4635f79e614693e55d81dce983da953589c Mon Sep 17 00:00:00 2001
+From: Michel Salim <michel(a)fb.com>
+Date: Mon, 26 Oct 2020 16:30:30 -0700
+Subject: [PATCH] Fix destination for fizz_test_support
+
+Summary: It was hardcoded to go to `${FIZZ_TEST_INSTALL_PREFIX}/lib/` instead of using
`${LIB_INSTALL_DIR}`. On systems where `lib64` is used instead of `lib` (e.g. any 64-bit
Fedora / RHEL / CentOS architectures) this means `libfizz_test_support.so` is installed
into the wrong directory.
+
+Reviewed By: danobi
+
+Differential Revision: D24497254
+
+fbshipit-source-id: b80d816e6e716f7ab1b47992b3ca0df44f0960de
+---
+ fizz/CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
+index 2693e7c3..5a67778a 100644
+--- a/fizz/CMakeLists.txt
++++ b/fizz/CMakeLists.txt
+@@ -333,8 +333,8 @@ target_include_directories(fizz_test_support
+ install(
+ TARGETS fizz_test_support
+ EXPORT fizz-exports
+- ARCHIVE DESTINATION ${FIZZ_TEST_INSTALL_PREFIX}/lib
+- LIBRARY DESTINATION ${FIZZ_TEST_INSTALL_PREFIX}/lib
++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR}
++ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ )
+
+ foreach(dir ${FIZZ_TEST_HEADER_DIRS})
diff --git a/fizz-2020.10.26.00-maybe_uninitialized.patch
b/fizz-2020.10.26.00-maybe_uninitialized.patch
new file mode 100644
index 0000000..90e791d
--- /dev/null
+++ b/fizz-2020.10.26.00-maybe_uninitialized.patch
@@ -0,0 +1,55 @@
+From 66de2b986f81ee8fc9a8a06661ee78d9f4088094 Mon Sep 17 00:00:00 2001
+From: Michel Salim <michel(a)fb.com>
+Date: Mon, 26 Oct 2020 16:30:30 -0700
+Subject: [PATCH] fix GCC -Wmaybe-uninitialized false positives
+
+Summary:
+Variables initialized as part of a `std::tie` are incorrectly identified
+by GCC as being uninitialized. This breaks builds on Fedora; applying this
+allows build to continue.
+
+Reviewed By: danobi
+
+Differential Revision: D24495553
+
+fbshipit-source-id: 68f95e3a4f893db070f70191f2bc9e45793a16d0
+---
+ fizz/client/ClientProtocol.cpp | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/fizz/client/ClientProtocol.cpp b/fizz/client/ClientProtocol.cpp
+index ccd094e3..0256d9bc 100644
+--- a/fizz/client/ClientProtocol.cpp
++++ b/fizz/client/ClientProtocol.cpp
+@@ -946,12 +946,16 @@ EventHandler<ClientTypes, StateEnum::ExpectingServerHello,
Event::ServerHello>::
+
+ ProtocolVersion version;
+ CipherSuite cipher;
++ // GCC up to 10.2.1 does not realize exchange is actually being initialized below
++ FOLLY_PUSH_WARNING
++ FOLLY_GCC_DISABLE_WARNING("-Wmaybe-uninitialized")
+ Optional<std::tuple<NamedGroup, Buf, const KeyExchange*>> exchange;
+ std::tie(version, cipher, exchange) = negotiateParameters(
+ shlo,
+ state.context()->getSupportedVersions(),
+ state.context()->getSupportedCiphers(),
+ *state.keyExchangers());
++ FOLLY_POP_WARNING
+
+ if (!folly::IOBufEqualTo()(
+ state.legacySessionId(), shlo.legacy_session_id_echo)) {
+@@ -1001,10 +1005,14 @@ EventHandler<ClientTypes, StateEnum::ExpectingServerHello,
Event::ServerHello>::
+ keyExchangeType = KeyExchangeType::OneRtt;
+ }
+
++ // GCC up to 10.2.1 does not realize serverShare is actually being initialized
below
++ FOLLY_PUSH_WARNING
++ FOLLY_GCC_DISABLE_WARNING("-Wmaybe-uninitialized")
+ Buf serverShare;
+ const KeyExchange* kex;
+ std::tie(group, serverShare, kex) = std::move(*exchange);
+ auto sharedSecret = kex->generateSharedSecret(serverShare->coalesce());
++ FOLLY_POP_WARNING
+ scheduler->deriveHandshakeSecret(sharedSecret->coalesce());
+ } else {
+ keyExchangeType = KeyExchangeType::None;
diff --git a/fizz.spec b/fizz.spec
new file mode 100644
index 0000000..663ce42
--- /dev/null
+++ b/fizz.spec
@@ -0,0 +1,84 @@
+# Some tests fail on 32-bit arches
+%ifarch armv7hl i686
+%bcond_with tests
+%else
+%bcond_without tests
+%endif
+
+Name: fizz
+Version: 2020.10.26.00
+Release: 1%{?dist}
+Summary: A C++14 implementation of the TLS-1.3 standard
+
+License: BSD
+URL:
https://github.com/facebookincubator/fizz
+Source0:
https://github.com/facebookincubator/fizz/releases/download/v%{version}/f...
+Patch0:
https://github.com/facebookincubator/fizz/commit/66de2b986f81ee8fc9a8a066...
+Patch1:
https://github.com/facebookincubator/fizz/commit/22b5d4635f79e614693e55d8...
+Patch2:
https://github.com/facebookincubator/fizz/commit/505cbc78dd98f04915220e3d...
+
+# Folly is known not to work on big-endian CPUs
+# will file a proper blocking bug once this is imported
+ExcludeArch: s390x
+
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: folly-devel
+
+%description
+Fizz is a TLS 1.3 implementation.
+
+Fizz currently supports TLS 1.3 drafts 28, 26 (both wire-compatible with the
+final specification), and 23. All major handshake modes are supported, including
+PSK resumption, early data, client authentication, and HelloRetryRequest.
+
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%prep
+%autosetup -c -p1
+
+
+%build
+%cmake fizz \
+ -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name} \
+ -DPACKAGE_VERSION=%{version} \
+ -DSO_VERSION=%{version}
+%cmake_build
+
+
+%install
+%cmake_install
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+
+
+%if %{with tests}
+%check
+%ctest
+%endif
+
+
+%files
+%license LICENSE
+%{_libdir}/*.so.*
+
+%files devel
+%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/cmake/%{name}
+
+
+%changelog
+* Mon Oct 26 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.10.26.00-1
+- Update to 2020.10.26.00
+
+* Thu Oct 22 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.10.19.00-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..8f88014
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fizz-v2020.10.26.00.tar.gz) =
11b2a04708614bedfa71edc3cc35acaddd9a6e110c5ebd2f279a17e0623633b48b3535c31d45adfeae7195f1745a9634efd34f57fae21bd73bc253dd51baeeb7