The package rpms/fbthrift.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/fbthrift.git/commit/?id=89da20efb....
Change:
+ExcludeArch: s390x
Thanks.
Full change:
============
commit 89da20efb42fc42c2faa073eb1cb89a3026af652
Author: Michel Alexandre Salim <salimma(a)fedoraproject.org>
Date: Wed Nov 4 08:16:07 2020 -0800
Initial import
Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org>
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..27c8098
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/fbthrift-2020.11.02.00.tar.gz
diff --git a/fbthrift-2020.11.02.00-fix_undefined_symbols.patch
b/fbthrift-2020.11.02.00-fix_undefined_symbols.patch
new file mode 100644
index 0000000..a3a3bb2
--- /dev/null
+++ b/fbthrift-2020.11.02.00-fix_undefined_symbols.patch
@@ -0,0 +1,97 @@
+From 20792d34c478693be3163be51156275994db6c68 Mon Sep 17 00:00:00 2001
+From: Michel Alexandre Salim <michel(a)michel-slm.name>
+Date: Tue, 3 Nov 2020 11:43:52 -0800
+Subject: [PATCH] Fix undefined-non-weak-symbol warnings
+
+see
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
+---
+ thrift/compiler/CMakeLists.txt | 3 +++
+ thrift/lib/cpp/CMakeLists.txt | 3 +++
+ thrift/lib/cpp2/CMakeLists.txt | 6 ++++++
+ 3 files changed, 12 insertions(+)
+
+diff --git a/thrift/compiler/CMakeLists.txt b/thrift/compiler/CMakeLists.txt
+index 1ab985ac6..c0e134cc6 100644
+--- a/thrift/compiler/CMakeLists.txt
++++ b/thrift/compiler/CMakeLists.txt
+@@ -40,6 +40,7 @@ add_library(
+ ast/t_typedef.cc
+ ast/base_types.cc
+ ast/t_scope.cc
++ ast/visitor.cc
+ )
+ target_link_libraries(compiler_ast ${OPENSSL_LIBRARIES})
+
+@@ -115,10 +116,12 @@ add_library(
+
+ ${GENERATOR_FILES}
+ $<TARGET_OBJECTS:compiler_generate_templates>
++ validator/validator.cc
+ )
+ target_link_libraries(
+ compiler_generators
+
++ compiler_ast
+ compiler_base
+ compiler_lib
+ mustache_lib
+diff --git a/thrift/lib/cpp/CMakeLists.txt b/thrift/lib/cpp/CMakeLists.txt
+index 763e9b844..4bfdbfc7d 100644
+--- a/thrift/lib/cpp/CMakeLists.txt
++++ b/thrift/lib/cpp/CMakeLists.txt
+@@ -60,6 +60,9 @@ add_library(
+ protocol/TProtocolException.cpp
+ protocol/TSimpleJSONProtocol.cpp
+ ${reflection-cpp2-SOURCES}
++ util/VarintUtils.cpp
++ ../cpp2/gen/module_types_cpp.cpp
++ ../cpp2/protocol/CompactProtocol.cpp # can't link against thriftprotocol, dep
cycle
+ )
+ add_dependencies(protocol reflection-cpp2-target)
+ target_link_libraries(
+diff --git a/thrift/lib/cpp2/CMakeLists.txt b/thrift/lib/cpp2/CMakeLists.txt
+index edc34cae5..90ef25304 100644
+--- a/thrift/lib/cpp2/CMakeLists.txt
++++ b/thrift/lib/cpp2/CMakeLists.txt
+@@ -33,12 +33,15 @@ add_library(
+ thriftmetadata
+
+ ${metadata-cpp2-SOURCES}
++ gen/module_types_cpp.cpp
++ protocol/CompactProtocol.cpp # can't link against thriftprotocol, dep cycle
+ )
+ add_dependencies(thriftmetadata metadata-cpp2-target)
+ target_link_libraries(
+ thriftmetadata
+ PUBLIC
+ Folly::folly
++ protocol
+ )
+
+ bypass_source_check("${frozen-cpp2-SOURCES}")
+@@ -56,6 +59,7 @@ target_link_libraries(
+ PUBLIC
+ Folly::folly
+ thriftmetadata
++ thriftprotocol
+ ${GLOG_LIBRARIES}
+ ${LIBGFLAGS_LIBRARY}
+ )
+@@ -66,12 +70,14 @@ add_library(
+
+ ${RpcMetadata-cpp2-SOURCES}
+ gen/module_types_cpp.cpp
++ protocol/CompactProtocol.cpp # can't link against thriftprotocol, dep cycle
+ )
+ add_dependencies(rpcmetadata RpcMetadata-cpp2-target)
+ target_link_libraries(
+ rpcmetadata
+ PUBLIC
+ Folly::folly
++ protocol
+ )
+
+ add_library(
+--
+2.28.0
+
diff --git a/fbthrift.spec b/fbthrift.spec
new file mode 100644
index 0000000..6a14c52
--- /dev/null
+++ b/fbthrift.spec
@@ -0,0 +1,97 @@
+Name: fbthrift
+Version: 2020.11.02.00
+Release: 1%{?dist}
+Summary: Facebook's branch of Apache Thrift, including a new C++ server
+
+License: ASL 2.0
+URL:
https://github.com/facebook/fbthrift
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+Patch0: %{name}-%{version}-fix_undefined_symbols.patch
+
+# Folly is known not to work on big-endian CPUs
+# will add bz# after review
+ExcludeArch: s390x
+
+BuildRequires: cmake
+BuildRequires: gcc-c++
+# Tool dependencies
+BuildRequires: bison
+BuildRequires: flex
+# Library dependencies
+BuildRequires: fizz-devel
+BuildRequires: folly-devel
+BuildRequires: python3-six
+BuildRequires: wangle-devel
+
+%description
+Thrift is a serialization and RPC framework for service communication. Thrift
+enables these features in all major languages, and there is strong support for
+C++, Python, Hack, and Java. Most services at Facebook are written using Thrift
+for RPC, and some storage systems use Thrift for serializing records on disk.
+
+Facebook Thrift is not a distribution of Apache Thrift. This is an evolved
+internal branch of Thrift that Facebook re-released to open source community in
+February 2014. Facebook Thrift was originally released closely tracking Apache
+Thrift but is now evolving in new directions. In particular, the compiler was
+rewritten from scratch and the new implementation features a fully asynchronous
+Thrift server.
+
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Conflicts: thrift-devel
+
+%description devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%prep
+%autosetup -p1
+
+
+%build
+%cmake \
+ -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name} \
+ -DCMAKE_SKIP_INSTALL_RPATH=TRUE \
+ -DPACKAGE_VERSION=%{version} \
+ -Denable_tests=ON
+%cmake_build
+
+
+%install
+%cmake_install
+find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
+
+
+%check
+%ctest
+
+
+%files
+%license LICENSE
+%{_bindir}/thrift1
+%{_libdir}/*.so.*
+
+%files devel
+%doc CODE_OF_CONDUCT.md CONTRIBUTING.md README.md
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/cmake/%{name}
+
+
+%changelog
+* Mon Nov 2 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.11.02.00-1
+- Update to 2020.11.02.00
+- Fix undefined symbol warnings
+
+* Mon Nov 2 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.10.26.00-3
+- Mark fbthrift-devel as conflicting with thrift-devel
+- Disable RPATH when installing libraries
+
+* Thu Oct 29 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.10.26.00-2
+- Use shorter, canonical URL for source
+
+* Tue Oct 27 2020 Michel Alexandre Salim <salimma(a)fedoraproject.org> -
2020.10.26.00-1
+- Initial package
diff --git a/sources b/sources
new file mode 100644
index 0000000..5b42389
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fbthrift-2020.11.02.00.tar.gz) =
e1deda0ede7a90d2990dcf2ef040183df8eb5fb3f9d8854d17eb6d788a3d138016d2b564ba34066be8927cd6e2bd32d265913644254919376f52d1cfaabbc5a6