Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

12 changed files with 200 additions and 1432 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

View File

@ -1,6 +1,6 @@
--- !Policy
product_versions:
- rhel-8
- rhel-10
decision_context: osci_compose_gate
rules:
# this is the testcase identifier, which OSCI pipeline uses

View File

@ -1,45 +0,0 @@
Patch from Andreas Stührk <andy@hammerhartes.de> to work around build
failures with GCC >= 6 like:
In file included from kcdbext.cc:16:0:
kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
kcdbext.h:1281:14: error: cannot convert 'bool' to 'char*' in return
return false;
^~~~~
In file included from kclangc.cc:17:0:
kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
kcdbext.h:1281:14: error: cannot convert 'bool' to 'char*' in return
return false;
^~~~~
Note that using '\0' rather nullptr (like the patch from openSUSE is
doing) just leads to new build failures with GCC >= 7 like:
In file included from kcdbext.cc:16:0:
kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
kcdbext.h:1281:14: error: invalid conversion from 'char' to 'char*' [-fpermissive]
return '\0';
^~~~
In file included from kclangc.cc:17:0:
kcdbext.h: In member function 'char* kyotocabinet::IndexDB::get(const char*, size_t, size_t*)':
kcdbext.h:1281:14: error: invalid conversion from 'char' to 'char*' [-fpermissive]
return '\0';
^~~~
See also:
- https://bugzilla.redhat.com/show_bug.cgi?id=1307706
- https://build.opensuse.org/package/view_file/devel:libraries:c_c++/kyotocabinet/gcc6-fix-errors.patch?expand=1
- https://bugs.debian.org/811627
--- kyotocabinet-1.2.76/kcdbext.h 2016-05-25 11:32:53.591866016 +0200
+++ kyotocabinet-1.2.76/kcdbext.h 2012-05-24 18:27:59.000000000 +0200
@@ -1278,7 +1278,7 @@
if (omode_ == 0) {
set_error(_KCCODELINE_, BasicDB::Error::INVALID, "not opened");
*sp = 0;
- return false;
+ return nullptr;
}
if (!cache_) return db_.get(kbuf, ksiz, sp);
size_t dvsiz = 0;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,29 @@
Accept failures of randomly failing tests. Upstream of kyotocabinet has disappeared...
- https://bugzilla.redhat.com/show_bug.cgi?id=1863664
- https://sources.debian.org/patches/kyotocabinet/1.2.76-4.2/test-disable-dir-db-test-fails-on-tmpfs-btrfs.patch/
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680038
--- kyotocabinet-1.2.78/Makefile.in 2011-07-05 15:01:53.000000000 +0200
+++ kyotocabinet-1.2.78/Makefile.in.random-failures 2020-10-11 21:12:40.591390887 +0200
@@ -538,9 +538,9 @@
$(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 casket 500
$(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc casket 500
$(RUNENV) $(RUNCMD) ./kcdirmgr check -onr casket
- $(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc -tran casket 500
+ $(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc -tran casket 500 || :
$(RUNENV) $(RUNCMD) ./kcdirmgr check -onr casket
- $(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc -oat casket 500
+ $(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc -oat casket 500 || :
$(RUNENV) $(RUNCMD) ./kcdirmgr check -onr casket
$(RUNENV) $(RUNCMD) ./kcdirtest order -th 4 -rnd -etc -tc casket 500
$(RUNENV) $(RUNCMD) ./kcdirmgr check -onr casket
@@ -808,7 +808,7 @@
"casket#type=kct#log=-#logkinds=debug#mtrg=-#zcomp=lzmacrc"
rm -rf casket*
$(RUNENV) $(RUNCMD) ./kcpolytest misc \
- "casket#type=kcd#zcomp=arc#zkey=mikio"
+ "casket#type=kcd#zcomp=arc#zkey=mikio" || :
rm -rf casket*
$(RUNENV) $(RUNCMD) ./kcpolytest misc \
"casket#type=kcf#zcomp=arc#zkey=mikio"

View File

@ -0,0 +1,66 @@
Avoid implicit ints in the configure script, to prevent checks from
failing unconditionally with future compilers that do not support
them by default.
diff --git a/configure b/configure
index 2dd357d4f253946f..cffa76cdb8d68887 100755
--- a/configure
+++ b/configure
@@ -4007,7 +4007,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
# System-depending optimization
printf 'checking for 64-bit availability... '
-if printf 'main() {}' | $CC -xc -m64 -o config.tmp - >config.tmp 2>&1
+if printf 'int main(void) {return 0;}' | $CC -xc -m64 -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="-m64 $MYCFLAGS"
MYCXXFLAGS="-m64 $MYCXXFLAGS"
@@ -4018,7 +4018,7 @@ fi
if test "$enable_opt" != "no"
then
printf 'checking for CPU optimization availability... '
- if printf 'main() {}' | $CC -xc -march=native -o config.tmp - >config.tmp 2>&1
+ if printf 'int main(void) {return 0;}' | $CC -xc -march=native -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="-march=native $MYCFLAGS"
MYCXXFLAGS="-march=native $MYCXXFLAGS"
@@ -4028,7 +4028,7 @@ then
fi
fi
printf 'checking for useless warnings... '
-if printf 'main() {}' | $CC -xc \
+if printf 'int main(void) {return 0;}' | $CC -xc \
-Wno-unused-but-set-variable -Wno-unused-but-set-parameter -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="$MYCFLAGS -Wno-unused-but-set-variable -Wno-unused-but-set-parameter"
diff --git a/configure.in b/configure.in
index 6ce03e3313a211de..5abb5c33281b9da8 100644
--- a/configure.in
+++ b/configure.in
@@ -204,7 +204,7 @@ AC_C_BIGENDIAN(MYCPPFLAGS="$MYCPPFLAGS -D_MYBIGEND")
# System-depending optimization
printf 'checking for 64-bit availability... '
-if printf 'main() {}' | $CC -xc -m64 -o config.tmp - >config.tmp 2>&1
+if printf 'int main(void) {return 0;}' | $CC -xc -m64 -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="-m64 $MYCFLAGS"
MYCXXFLAGS="-m64 $MYCXXFLAGS"
@@ -215,7 +215,7 @@ fi
if test "$enable_opt" != "no"
then
printf 'checking for CPU optimization availability... '
- if printf 'main() {}' | $CC -xc -march=native -o config.tmp - >config.tmp 2>&1
+ if printf 'int main(void) {return 0;}' | $CC -xc -march=native -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="-march=native $MYCFLAGS"
MYCXXFLAGS="-march=native $MYCXXFLAGS"
@@ -225,7 +225,7 @@ then
fi
fi
printf 'checking for useless warnings... '
-if printf 'main() {}' | $CC -xc \
+if printf 'int main(void) {return 0;}' | $CC -xc \
-Wno-unused-but-set-variable -Wno-unused-but-set-parameter -o config.tmp - >config.tmp 2>&1
then
MYCFLAGS="$MYCFLAGS -Wno-unused-but-set-variable -Wno-unused-but-set-parameter"

View File

@ -1,17 +1,14 @@
Summary: A straightforward implementation of DBM
Name: kyotocabinet
Version: 1.2.76
Release: 17%{?dist}
License: GPLv3
Group: Applications/Databases
URL: http://fallabs.com/%{name}/
Source: http://fallabs.com/%{name}/pkg/%{name}-%{version}.tar.gz
Version: 1.2.80
Release: 7%{?dist}
License: GPL-3.0-only
URL: https://dbmx.net/%{name}/
Source: https://dbmx.net/%{name}/pkg/%{name}-%{version}.tar.gz
Patch0: kyotocabinet-1.2.76-cflags.patch
Patch1: kyotocabinet-1.2.76-8-byte-atomics.patch
Patch2: kyotocabinet-1.2.76-tr1_hashtable.patch
Patch3: kyotocabinet-1.2.76-gcc6.patch
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
BuildRequires: zlib-devel, lzo-devel, xz-devel
BuildRequires: gcc-c++, zlib-devel, lzo-devel, xz-devel
%description
Kyoto Cabinet is a library of routines for managing a database. The
@ -24,7 +21,6 @@ in hash table or B+ tree.
%package libs
Summary: Libraries for applications using Kyoto Cabinet
Group: System Environment/Libraries
Provides: %{name}-lib = %{version}-%{release}
Provides: %{name}-lib%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-lib < 1.2.76-3
@ -35,7 +31,6 @@ for any Kyoto Cabinet client program or interface.
%package devel
Summary: Development files for Kyoto Cabinet
Group: Development/Libraries
Requires: %{name}-libs%{?_isa} = %{version}-%{release}, pkgconfig
%description devel
@ -44,10 +39,7 @@ developing applications that use Kyoto Cabinet.
%package apidocs
Summary: API documentation for Kyoto Cabinet library
Group: Documentation
%if 0%{?fedora}%{?rhel} >= 6
BuildArch: noarch
%endif
Provides: %{name}-api-doc = %{version}-%{release}
Obsoletes: %{name}-api-doc < 1.2.76-3
@ -56,21 +48,14 @@ The kyotocabinet-apidocs package contains API documentation for developing
applications that use Kyoto Cabinet.
%prep
%setup -q
%patch0 -p1 -b .cflags
%patch1 -p1 -b .8-byte-atomics
%if 0%{?rhel} == 5
%patch2 -p1 -b .tr1_hashtable
%endif
%patch3 -p1 -b .gcc6
%autosetup -p1
%build
%configure --disable-opt --enable-lzo --enable-lzma
make %{?_smp_mflags}
%make_build
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' install
%make_install
# Don't install any static .a file
rm -f $RPM_BUILD_ROOT%{_libdir}/libkyotocabinet.a
@ -79,20 +64,11 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libkyotocabinet.a
rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}
%check
# All kcutilmgr compression tests on RHEL 5 (ppc) just cause 99.9% CPU
# usage but do not continue or simply fail. However all the other tests
# including compression ones work as expected. What is the impact here?
%if 0%{?rhel} == 5 && "%{_arch}" == "ppc"
sed -e '/$(RUNENV) $(RUNCMD) .\/kcutilmgr comp /d' -i Makefile
%endif
make check
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%ldconfig_scriptlets libs
%files
%defattr(-,root,root,-)
%doc doc/{command.html,common.css,icon16.png}
%{_bindir}/kccachetest
%{_bindir}/kcdirmgr
@ -130,14 +106,12 @@ make check
%{_mandir}/man1/kcutiltest.1*
%files libs
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license COPYING FOSSEXCEPTION LINKEXCEPTION
%doc ChangeLog
%{_libdir}/libkyotocabinet.so.*
%files devel
%defattr(-,root,root,-)
%{_includedir}/kccachedb.h
%{_includedir}/kccommon.h
%{_includedir}/kccompare.h
@ -146,9 +120,6 @@ make check
%{_includedir}/kcdbext.h
%{_includedir}/kcdirdb.h
%{_includedir}/kcfile.h
%if 0%{?rhel} == 5
%{_includedir}/kcfunctional.h
%endif
%{_includedir}/kchashdb.h
%{_includedir}/kclangc.h
%{_includedir}/kcmap.h
@ -164,10 +135,73 @@ make check
%{_libdir}/pkgconfig/kyotocabinet.pc
%files apidocs
%defattr(-,root,root,-)
%doc COPYING doc/api/* kyotocabinet.idl
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 1.2.80-7
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.2.80-6
- Bump release for June 2024 mass rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.80-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.80-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.80-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu May 18 2023 Peng Wu <pwu@redhat.com> - 1.2.80-2
- Migrate to SPDX license
* Mon Apr 17 2023 Peng Wu <pwu@redhat.com> - 1.2.80-1
- Update to 1.2.80
- Resolves: RHBZ#2186606
* Wed Apr 12 2023 Florian Weimer <fweimer@redhat.com> - 1.2.79-3
- Port configure script to C99 (#2186199)
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.79-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Nov 22 2022 Peng Wu <pwu@redhat.com> - 1.2.79-1
- Update to 1.2.79
* Wed Sep 23 2020 Robert Scheck <robert@fedoraproject.org> 1.2.78-1
- Update to 1.2.78 (#1858682)
- Added patch to ignore randomly failing tests (#1863664)
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.77-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 14 2020 Tom Stellard <tstellar@redhat.com> - 1.2.77-4
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.77-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.77-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Mar 25 2019 Robert Scheck <robert@fedoraproject.org> 1.2.77-1
- Update to 1.2.77
* Fri Mar 1 2019 Peng Wu <pwu@redhat.com> - 1.2.76-21
- Switch back to use -O2 for s390x
* Wed Feb 27 2019 Parag Nemade <pnemade AT redhat DOT com> - 1.2.76-20
- Fix s390x compilation issue by changing -O2 to -O1 (rh#1675243)
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.76-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.76-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Mar 07 2018 Adam Williamson <awilliam@redhat.com> - 1.2.76-17
- Rebuild to fix GCC 8 mis-compilation
See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")

6
plans/basic.fmf Normal file
View File

@ -0,0 +1,6 @@
summary: Basic smoke test
discover:
how: fmf
dist-git-source: true
execute:
how: tmt

View File

@ -1 +1 @@
SHA512 (kyotocabinet-1.2.76.tar.gz) = 278db7b327eb4c21bf0137d9aa14fb67d74d5ce7ed1cb29fc9120d157a60de165ec0cf842903eb7952e8f998045ae585b958977fa973ba0e0773381de71d9f6a
SHA512 (kyotocabinet-1.2.80.tar.gz) = 9fe0a92c9a76db5ce06ef4d5a551c05930f2a9c065ab695b030fdaf45692bfe88d91f1b75791f50d0772c699567744cd74f3ef407172874d4bba467989d54328

13
tests/main.fmf Normal file
View File

@ -0,0 +1,13 @@
test: bash ./make_check.sh ..
duration: 50m
framework: shell
require:
- make
- gcc-c++
- autoconf
- automake
- libtool
- zlib-devel
- lzo-devel
- xz-devel
- rpm-build

View File

@ -9,6 +9,15 @@ check_return_value () {
}
cd $1
VERSION=`rpmspec -q --srpm --qf "%{version}" kyotocabinet.spec 2>/dev/null`
if test -d kyotocabinet-$VERSION-build;
then cd kyotocabinet-$VERSION-build;
fi
cd kyotocabinet-$VERSION
./configure --prefix=/usr --disable-opt --enable-lzo --enable-lzma
check_return_value $?
make

View File

@ -1,19 +0,0 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
remote_user: root
roles:
- role: standard-test-source # to get the source tar ball to do “make check”
- role: standard-test-basic
required_packages:
- make
- gcc-c++
- zlib-devel
- lzo-devel
- xz-devel
tests:
- make-check:
dir: ./
run: bash ./make_check.sh ./source