The package rpms/tkrzw.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/tkrzw.git/commit/?id=c4c4753859d8....
Change:
+ExcludeArch: %ix86
Thanks.
Full change:
============
commit c4c4753859d8bf1c1b5483387a5689c2e223deb9
Author: TI_Eugene <ti.eugene(a)gmail.com>
Date: Fri Jan 22 19:01:23 2021 +0300
Initial build
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5a7ca60
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/tkrzw-0.9.3.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..6ab1062
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (tkrzw-0.9.3.tar.gz) =
3c461b2796948fec9a1b9e85d5b66f1c862c358614adce55cd1e0815639fe9a848de974c315d19325ef50378c2b787acd865f6e2e21ce4fd3eb6b3806239c8df
diff --git a/tkrzw-0.9.3-do-not-override-build-flags.patch
b/tkrzw-0.9.3-do-not-override-build-flags.patch
new file mode 100644
index 0000000..40a43a2
--- /dev/null
+++ b/tkrzw-0.9.3-do-not-override-build-flags.patch
@@ -0,0 +1,36 @@
+diff -Naur tkrzw-0.9.3-original/configure.in tkrzw-0.9.3/configure.in
+--- tkrzw-0.9.3-original/configure.in 2020-08-02 02:18:07.000000000 -0400
++++ tkrzw-0.9.3/configure.in 2021-01-15 09:48:20.893224299 -0500
+@@ -21,13 +21,13 @@
+ MYPCFILES="tkrzw.pc"
+
+ # Building flags
+-MYCFLAGS="-pthread -Wall -ansi -pedantic -fPIC -fsigned-char -g0 -O2"
+-MYCXXFLAGS="-std=c++17 -pthread -Wall -fPIC -fsigned-char -g0 -O2"
+-MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -I/usr/local/include"
++MYCFLAGS="-pthread -fPIC -fsigned-char"
++MYCXXFLAGS="-std=c++17 -pthread -fPIC -fsigned-char"
++MYCPPFLAGS="-I. -I\$(INCLUDEDIR)"
+ MYCPPFLAGS="$MYCPPFLAGS -DNDEBUG -D_GNU_SOURCE=1 -D_ISOC99_SOURCE=1
-D_POSIX_C_SOURCE=200809L"
+ MYCPPFLAGS="$MYCPPFLAGS -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D__EXTENSIONS__"
+-MYLDFLAGS="-L. -L\$(LIBDIR) -L/usr/local/lib"
+-MYCMDLDFLAGS="-L. -L\$(LIBDIR) -L/usr/local/lib"
++MYLDFLAGS="-L. -L\$(LIBDIR)"
++MYCMDLDFLAGS="-L. -L\$(LIBDIR)"
+ MYCMDLIBS="-ltkrzw"
+ MYTESTLIBS="-lgtest -lgmock -lpthread"
+ MYLDLIBPATH=""
+@@ -168,13 +168,6 @@
+ sed -e 's/-lpthread/-Wl,--whole-archive -lpthread -Wl,--no-whole-archive/'`
+ fi
+
+-# As-needed linking
+-if uname | grep Linux >config.tmp
+-then
+- MYLDFLAGS="$MYLDFLAGS -Wl,-rpath-link,.:/usr/local/lib:$MYLDLIBPATH"
+- MYLDFLAGS="$MYLDFLAGS -Wl,--as-needed"
+-fi
+-
+ # Shared libraries
+ if test "$enable_shared" != "no" && test
"$enable_profile" != "yes"
+ then
diff --git a/tkrzw-0.9.3-skip-excessive-mlock-pages-tests.patch
b/tkrzw-0.9.3-skip-excessive-mlock-pages-tests.patch
new file mode 100644
index 0000000..5ff28f9
--- /dev/null
+++ b/tkrzw-0.9.3-skip-excessive-mlock-pages-tests.patch
@@ -0,0 +1,27 @@
+diff -Naur tkrzw-0.9.3-original/Makefile.in tkrzw-0.9.3/Makefile.in
+--- tkrzw-0.9.3-original/Makefile.in 2020-08-02 02:18:06.000000000 -0400
++++ tkrzw-0.9.3/Makefile.in 2021-01-15 10:54:56.381080276 -0500
+@@ -195,10 +195,6 @@
+ check-hashdbm-perf :
+ rm -Rf casket*
+ $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf sequence --dbm hash --file mmap-para --path
casket.tkh \
+- --iter 20000 --threads 5 --size 8 --buckets 100000 --lock_mem_buckets
+- $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf sequence --dbm hash --file mmap-para --path
casket.tkh \
+- --iter 20000 --threads 5 --size 8 --buckets 100000 --lock_mem_buckets --append
+- $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf sequence --dbm hash --file mmap-para --path
casket.tkh \
+ --iter 20000 --threads 5 --size 8 --buckets 100000 --random_key --random_value
+ $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf sequence --dbm hash --file mmap-para --path
casket.tkh \
+ --iter 20000 --threads 5 --size 8 --buckets 100000 --random_key --random_value
--append
+@@ -214,12 +210,6 @@
+ $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf parallel --dbm hash --file mmap-para --path
casket.tkh \
+ --iter 10000 --threads 5 --size 8 --buckets 1000 --lock_mem_buckets \
+ --random_key --random_value --keys 5000 --rebuild --append --sleep 0.0001
+- $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf wicked --dbm hash --file mmap-para --path
casket.tkh \
+- --iter 20000 --threads 5 --size 8 --buckets 100000 --lock_mem_buckets \
+- --iterator --clear --rebuild
+- $(RUNENV) $(RUNCMD) ./tkrzw_dbm_perf wicked --dbm hash --file mmap-para --path
casket.tkh \
+- --iter 20000 --threads 5 --size 8 --buckets 100000 --lock_mem_buckets \
+- --append --iterator --clear --rebuild
+
+ check-hashdbm-util :
+ rm -Rf casket*
diff --git a/tkrzw.spec b/tkrzw.spec
new file mode 100644
index 0000000..96fcbb1
--- /dev/null
+++ b/tkrzw.spec
@@ -0,0 +1,136 @@
+%global _lto_cflags %{nil}
+
+Name: tkrzw
+Version: 0.9.3
+Release: 4%{?dist}
+Summary: A straightforward implementation of DBM
+License: ASL 2.0
+URL:
https://dbmx.net/%{name}/
+Source0:
https://dbmx.net/%{name}/pkg/%{name}-%{version}.tar.gz
+#
https://github.com/estraier/tkrzw/issues/6
+#
https://github.com/estraier/tkrzw/issues/7
+Patch0: tkrzw-0.9.3-do-not-override-build-flags.patch
+# Developer's recomendation (
https://github.com/estraier/tkrzw/issues/5)
+Patch1: tkrzw-0.9.3-skip-excessive-mlock-pages-tests.patch
+BuildRequires: gcc-c++
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: doxygen
+BuildRequires: help2man
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+# Something wrong with i686 (
https://github.com/estraier/tkrzw/issues/8)
+ExcludeArch: %ix86
+
+%description
+Tkrzw is a C++ library implementing DBM with various algorithms. It features
+high degrees of performance, concurrency and durability.
+
+%package libs
+Summary: Libraries for applications using Tkrzw
+
+%description libs
+This package provides the essential shared libraries
+for any Tkrzw client program or interface.
+
+%package devel
+Summary: Development files for Tkrzw
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description devel
+This package contains libraries and header files for
+developing applications that use Tkrzw.
+
+%package doc
+Summary: Tkrzw API documentation
+BuildArch: noarch
+
+%description doc
+This package contains API documentation for developing
+applications that use Tkrzw.
+
+
+%prep
+%autosetup
+
+
+%build
+autoreconf -vif
+%configure
+%make_build apidoc all
+for bin in \
+ tkrzw_build_util tkrzw_str_perf tkrzw_file_perf tkrzw_dbm_perf tkrzw_dbm_util
+do
+ LD_LIBRARY_PATH=$PWD help2man --no-info --no-discard-stderr \
+ --version-string='%{version}' --output="${bin}.1" \
+ "./${bin}"
+done
+
+
+%install
+%make_install
+# Remove static .a file
+rm -f %{buildroot}%{_libdir}/lib%{name}.a
+# mans
+install -d %{buildroot}%{_mandir}/man1
+install -t %{buildroot}%{_mandir}/man1 -m 0644 -p *.1
+
+
+%check
+%make_build check
+
+
+%if 0%{?el8}
+%ldconfig_scriptlets libs
+%endif
+
+
+%files
+%{_bindir}/%{name}_*
+%{_mandir}/man1/%{name}_*.1*
+
+%files libs
+%license COPYING
+%doc CONTRIBUTING.md
+%{_libdir}/lib%{name}.so.{0,0.3.0}
+
+%files devel
+%doc example
+%{_includedir}/%{name}_*.h
+%{_libdir}/lib%{name}.so
+%{_libdir}/pkgconfig/%{name}.pc
+
+%files doc
+%license COPYING
+%doc doc api-doc
+
+
+%changelog
+* Thu Jan 21 2021 TI_Eugene <ti.eugene(a)gmail.com> - 0.9.3-4
+- 'Required: pkgconfig' removed from -devel
+- spec spaces/tabs resolved
+- Added CONTRIBUTING.md to -libs
+- examples/ moved from -doc to -devel
+- `excludearch i686` proven
+
+* Tue Jan 19 2021 TI_Eugene <ti.eugene(a)gmail.com> - 0.9.3-3
+- Disabled only those tests that lock excessive numbers of pages (and will
+ therefore fail on a system with default resource limits)
+- Disabled LTO, since it causes test failures on all file-based database tests
+- Added COPYING file in files section for -doc subpackage
+- Installing doc/ and api-doc/ subdirectories in -doc subpackage
+- Added example/ to -doc
+- Changed man pages wildcard from ..._*.1.* to ..._*.1*
+- Removed -lib/-libs mess
+- Excluded i686 arch
+
+* Mon Jan 18 2021 TI_Eugene <ti.eugene(a)gmail.com> - 0.9.3-2
+- License fixes.
+- *.so.* names fix
+- make_build fix
+- -doc fixes
+- check fixes
+- ldconfig call fix
+- compiler flags fixes
+
+* Fri Jan 08 2021 TI_Eugene <ti.eugene(a)gmail.com> - 0.9.3-1
+- Initial packaging.