The package rpms/rapidjson.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/rapidjson.git/commit/?id=cadf1d22....
Change:
-%ifarch %{ix86} ppc64le
Thanks.
Full change:
============
commit cadf1d22da70f3ab3d1216dae70eb42c3678d9d4
Author: Tom Hughes <tom(a)compton.nu>
Date: Wed Jun 19 14:28:29 2019 +0100
Tidy up spec file and fix FTBS due to hardlink location change
diff --git a/rapidjson.spec b/rapidjson.spec
index eb5efaa..ff8212f 100644
--- a/rapidjson.spec
+++ b/rapidjson.spec
@@ -1,189 +1,124 @@
-# Conditional for release and snapshot builds. Uncomment for release-builds.
-%global rel_build 1
-
-# Settings used for build from snapshots.
-%if 0%{?rel_build}
-%global gittar %{name}-%{version}.tar.gz
-%else # 0%%{?rel_build}
-%global commit 67143c2ba002604a510ba436a8ed0d785a9f7de6
-%global commit_date 20140801
-%global shortcommit %(c=%{commit};echo ${c:0:7})
-%global gitver git%{commit_date}-%{shortcommit}
-%global gitrel .git%{commit_date}.%{shortcommit}
-%global gittar %{name}-%{version}-%{gitver}.tar.gz
-%endif # 0%%{?rel_build}
-
-# This is a header-only lib. There is no debuginfo generated.
-%global debug_package %{nil}
-
-# Set %%_pkgdocdir-helper-macro if not defined.
-%if 0%{!?_pkgdocdir:1}
-%global _pkgdocdir %{_docdir}/%{name}-%{version}
-%endif # 0%%{!?_pkgdocdir:1}
-
-# CMake-builds go out-of-tree. Tests are not run in %%{buildroot}.
-%global cmake_build_dir build-%{?__isa}%{?dist}
-
-# Set %%giturl for later use.
-%global giturl
https://github.com/miloyip/%{name}/archive
-
-%global common_desc \
-RapidJSON is a fast JSON parser and generator for C++. It was \
-inspired by RapidXml. \
- \
- RapidJSON is small but complete. It supports both SAX and DOM style \
- API. The SAX parser is only a half thousand lines of code. \
- \
- RapidJSON is fast. Its performance can be comparable to strlen(). \
- It also optionally supports SSE2/SSE4.1 for acceleration. \
- \
- RapidJSON is self-contained. It does not depend on external \
- libraries such as BOOST. It even does not depend on STL. \
- \
- RapidJSON is memory friendly. Each JSON value occupies exactly \
- 16/20 bytes for most 32/64-bit machines (excluding text string). By \
- default it uses a fast memory allocator, and the parser allocates \
- memory compactly during parsing. \
- \
- RapidJSON is Unicode friendly. It supports UTF-8, UTF-16, UTF-32 \
- (LE & BE), and their detection, validation and transcoding \
- internally. For example, you can read a UTF-8 file and let RapidJSON \
- transcode the JSON strings into UTF-16 in the DOM. It also supports \
- surrogates and "\u0000" (null character). \
- \
-JSON(JavaScript Object Notation) is a light-weight data exchange \
-format. RapidJSON should be in fully compliance with RFC4627/ECMA-404.
+%global debug_package %{nil}
Name: rapidjson
Version: 1.1.0
-Release: 9%{?gitrel}%{?dist}
+Release: 10%{?dist}
Summary: Fast JSON parser and generator for C++
License: MIT
-URL:
http://miloyip.github.io/%{name}
-%if 0%{?rel_build}
-# Sources for release-builds.
-Source0: %{giturl}/v%{version}.tar.gz#/%{gittar}
-%else # 0%%{?rel_build}
-# Sources for snapshot-builds.
-Source0: %{giturl}/%{commit}.tar.gz#/%{gittar}
-%endif # 0%%{?rel_build}
-
-# Downstream-patch for gtest.
+URL:
http://rapidjson.org/
+Source0:
https://github.com/Tencent/rapidjson/archive/v%{version}/%{name}-%{versio...
+# Downstream-patch for gtest
Patch0: rapidjson-1.1.0-do_not_include_gtest_src_dir.patch
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: gtest-devel
BuildRequires: valgrind
+BuildRequires: util-linux
+BuildRequires: doxygen
%description
-%{common_desc}
+RapidJSON is a fast JSON parser and generator for C++. It was
+inspired by RapidXml.
+
+ RapidJSON is small but complete. It supports both SAX and DOM style
+ API. The SAX parser is only a half thousand lines of code.
+
+ RapidJSON is fast. Its performance can be comparable to strlen().
+ It also optionally supports SSE2/SSE4.1 for acceleration.
+
+ RapidJSON is self-contained. It does not depend on external
+ libraries such as BOOST. It even does not depend on STL.
+
+ RapidJSON is memory friendly. Each JSON value occupies exactly
+ 16/20 bytes for most 32/64-bit machines (excluding text string). By
+ default it uses a fast memory allocator, and the parser allocates
+ memory compactly during parsing.
+
+ RapidJSON is Unicode friendly. It supports UTF-8, UTF-16, UTF-32
+ (LE & BE), and their detection, validation and transcoding
+ internally. For example, you can read a UTF-8 file and let RapidJSON
+ transcode the JSON strings into UTF-16 in the DOM. It also supports
+ surrogates and "\u0000" (null character).
+
+JSON(JavaScript Object Notation) is a light-weight data exchange
+format. RapidJSON should be in fully compliance with RFC4627/ECMA-404.
%package devel
-Summary: %{summary}
-BuildArch: noarch
-
-Provides: %{name} == %{version}-%{release}
-Provides: %{name}-static == %{version}-%{release}
+Summary: %{summary}
+Provides: %{name} = %{version}-%{release}
+Provides: %{name}-static = %{version}-%{release}
%description devel
-%{common_desc}
-
-%files devel
-%license license.txt
-%doc %dir %{_pkgdocdir}
-%doc %{_pkgdocdir}/CHANGELOG.md
-%doc %{_pkgdocdir}/readme*.md
-%{_datadir}/cmake
-%{_datadir}/pkgconfig/*
-%{_includedir}/%{name}
+%{description}
%package doc
Summary: Documentation-files for %{name}
-%if 0%{?fedora} || 0%{?rhel} >= 8
-BuildArch: noarch
-%endif # 0%%{?fedora} || 0%%{?rhel} >= 8
-
-BuildRequires: %{_sbindir}/hardlink
-BuildRequires: doxygen
-
%description doc
This package contains the documentation-files for %{name}.
-%files doc
-# Pickup license-files from main-pkg's license-dir.
-# If there's no license-dir they are picked up by %%doc previously.
-%{?_licensedir:%license %{_datadir}/licenses/%{name}*}
-%doc %{_pkgdocdir}
-
%prep
-%setup -q%{!?rel_build:n %{name}-%{commit}}
-%patch0 -p1 -b .gtest
-%{__mkdir} -p %{cmake_build_dir}
+%autosetup -p 1 -n %{name}-%{version}
+
+# Remove bundled code
+rm -rf thirdparty
-# Fix 'W: wrong-file-end-of-line-encoding'.
-for _file in "license.txt" $(%{_bindir}/find example -type f -name
'*.c*')
+# Convert DOS line endings to unix
+for file in "license.txt" $(find example -type f -name *.c*)
do
- %{__sed} -e 's!\r$!!g' < ${_file} > ${_file}.new && \
- /bin/touch -r ${_file} ${_file}.new && \
- %{__mv} -f ${_file}.new ${_file}
+ sed -e "s/\r$//g" < ${file} > ${file}.new && \
+ touch -r ${file} ${file}.new && \
+ mv -f ${file}.new ${file}
done
-# Create an uncluttered backup of examples for inclusion in %%doc.
-%{__cp} -a example examples
-
-# Disable -Werror.
-%{_bindir}/find . -type f -name 'CMakeLists.txt' -print0 | \
- %{_bindir}/xargs -0 %{__sed} -i -e's![ \t]*-march=native!!g' -e's![
\t]*-Werror!!g'
+# Remove -march=native and -Werror from compile commands
+find . -type f -name CMakeLists.txt -print0 | \
+ xargs -0r sed -i -e "s/-march=native/ /g" -e "s/-Werror//g"
%build
-pushd %{cmake_build_dir}
-%cmake \
- -DDOC_INSTALL_DIR=%{_pkgdocdir} \
- -DGTESTSRC_FOUND=TRUE \
- -DGTEST_SOURCE_DIR=. \
- ..
-%{__make} %{?_smp_mflags}
-popd
+%cmake . -Bbuild -DLIB_INSTALL_DIR=%{_datadir} -DDOC_INSTALL_DIR=%{_pkgdocdir}
-DGTESTSRC_FOUND=TRUE -DGTEST_SOURCE_DIR=.
+%make_build -Cbuild
%install
-pushd %{cmake_build_dir}
-%{__make} install DESTDIR=%{buildroot}
-popd
+%make_install -Cbuild
+cp -a CHANGELOG.md readme*.md %{buildroot}%{_pkgdocdir}
+find %{buildroot} -type f -name 'CMake*.txt' -delete
+hardlink -v %{buildroot}%{_includedir}
+hardlink -v %{buildroot}%{_pkgdocdir}
-# Move pkgconfig und CMake-stuff to generic datadir.
-%{__mv} -f %{buildroot}%{_libdir}/* %{buildroot}%{_datadir}
-# Copy the documentation-files to final location.
-%{__cp} -a CHANGELOG.md readme*.md examples %{buildroot}%{_pkgdocdir}
+%check
+cd build
+ctest -V %{?_smp_mflags}
-# Find and purge build-sys files.
-%{_bindir}/find %{buildroot} -type f -name 'CMake*.txt' -print0 | \
- %{_bindir}/xargs -0 %{__rm} -fv
-# Hardlink duplicated files to save space.
-%{_sbindir}/hardlink -v %{buildroot}%{_includedir}
-%{_sbindir}/hardlink -v %{buildroot}%{_pkgdocdir}
+%files devel
+%license license.txt
+%doc %dir %{_pkgdocdir}
+%doc %{_pkgdocdir}/CHANGELOG.md
+%doc %{_pkgdocdir}/readme*.md
+%{_datadir}/cmake
+%{_datadir}/pkgconfig/*
+%{_includedir}/%{name}
-%check
-# Valgrind fails on %%ix86 and ppc64le.
-%ifarch %{ix86} ppc64le
-CTEST_EXCLUDE=".*valgrind.*"
-%endif # arch %%{ix86}
-pushd %{cmake_build_dir}
-%{_bindir}/ctest -E "${CTEST_EXCLUDE}" -V .
-popd
+%files doc
+%license license.txt
+%doc %{_pkgdocdir}
%changelog
+* Wed Jun 19 2019 Tom Hughes <tom(a)compton.nu> - 1.1.0-10
+- Fix FTBS due to hardlink location change
+- Tidy up spec file
+
* Sat Feb 02 2019 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.1.0-9
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild