diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a62e7d5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+SOURCES/tokyocabinet-1.4.48.tar.gz
diff --git a/.tokyocabinet.metadata b/.tokyocabinet.metadata
new file mode 100644
index 0000000..e390e62
--- /dev/null
+++ b/.tokyocabinet.metadata
@@ -0,0 +1 @@
+b26a0a1ae7a05d2e1cc06cc518838cdd552e65aa SOURCES/tokyocabinet-1.4.48.tar.gz
diff --git a/SOURCES/tokyocabinet-fedora.patch b/SOURCES/tokyocabinet-fedora.patch
new file mode 100644
index 0000000..211e223
--- /dev/null
+++ b/SOURCES/tokyocabinet-fedora.patch
@@ -0,0 +1,54 @@
+--- configure.in	2009-12-06 21:43:11.000000000 -0500
++++ configure.in.new	2009-12-17 15:13:58.794592478 -0500
+@@ -31,26 +31,15 @@
+ MYPCFILES="tokyocabinet.pc"
+ 
+ # Building flags
+-MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char -O2"
+-MYCPPFLAGS="-I. -I\$(INCLUDEDIR) -I$HOME/include -I/usr/local/include"
++MYCFLAGS="-std=c99 -Wall -fPIC -fsigned-char"
++MYCPPFLAGS="-I. -I\$(INCLUDEDIR)"
+ MYCPPFLAGS="$MYCPPFLAGS -DNDEBUG -D_GNU_SOURCE=1 -D_REENTRANT -D__EXTENSIONS__"
+-MYLDFLAGS="-L. -L\$(LIBDIR) -L$HOME/lib -L/usr/local/lib"
++MYLDFLAGS="-L. -L\$(LIBDIR)"
+ MYCMDLDFLAGS=""
+ MYRUNPATH="\$(LIBDIR)"
+ MYLDLIBPATHENV="LD_LIBRARY_PATH"
+ MYPOSTCMD="true"
+ 
+-# Building paths
+-PATH="$PATH:$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"
+-PATH="$PATH:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/xpg4/bin:/usr/xpg6/bin:/usr/ucb"
+-CPATH="$HOME/include:/usr/local/include:$CPATH"
+-LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LIBRARY_PATH"
+-LD_LIBRARY_PATH="$HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH"
+-PKG_CONFIG_PATH="$HOME/lib/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
+-export PATH CPATH LIBRARY_PATH LD_LIBRARY_PATH PKG_CONFIG_PATH
+-
+-
+-
+ #================================================================
+ # Options
+ #================================================================
+--- Makefile.in	2009-10-13 08:33:20.000000000 -0400
++++ Makefile.in.new	2009-12-17 15:15:07.257604314 -0500
+@@ -54,8 +54,8 @@
+ LDFLAGS = @MYLDFLAGS@
+ CMDLDFLAGS = @MYCMDLDFLAGS@
+ LIBS = @LIBS@
+-LDENV = LD_RUN_PATH=/lib:/usr/lib:$(LIBDIR):$(HOME)/lib:/usr/local/lib:@MYRUNPATH@:.
+-RUNENV = @MYLDLIBPATHENV@=.:/lib:/usr/lib:$(LIBDIR):$(HOME)/lib:/usr/local/lib:@MYRUNPATH@
++LDENV = 
++RUNENV = @MYLDLIBPATHENV@=.:$(LIBDIR)
+ POSTCMD = @MYPOSTCMD@
+ 
+ 
+--- tokyocabinet.pc.in	2008-02-18 02:25:18.000000000 -0500
++++ tokyocabinet.pc.in.new	2009-12-17 15:15:29.626591709 -0500
+@@ -10,5 +10,5 @@
+ Name: Tokyo Cabinet
+ Description: a modern implementation of DBM
+ Version: @PACKAGE_VERSION@
+-Libs: -L${libdir} -ltokyocabinet @LIBS@
++Libs: -L${libdir} -ltokyocabinet
+ Cflags: -I${includedir}
diff --git a/SOURCES/tokyocabinet-manhelp.patch b/SOURCES/tokyocabinet-manhelp.patch
new file mode 100644
index 0000000..0e182bd
--- /dev/null
+++ b/SOURCES/tokyocabinet-manhelp.patch
@@ -0,0 +1,66 @@
+diff -up tokyocabinet-1.4.48/man/tcftest.1.manhelp tokyocabinet-1.4.48/man/tcftest.1
+--- tokyocabinet-1.4.48/man/tcftest.1.manhelp	2013-05-19 11:20:58.078404514 +0200
++++ tokyocabinet-1.4.48/man/tcftest.1	2013-05-19 11:21:48.949426514 +0200
+@@ -61,6 +61,8 @@ Options feature the following.
+ .br
+ \fB\-rl\fR : set the length of values at random.
+ .br
++\fB\-ru\fR : perform random operation on random key.
++.br
+ .RE
+ .PP
+ This command returns 0 on success, another on failure.
+diff -up tokyocabinet-1.4.48/man/tctmgr.1.manhelp tokyocabinet-1.4.48/man/tctmgr.1
+--- tokyocabinet-1.4.48/man/tctmgr.1.manhelp	2013-05-19 11:27:12.273660237 +0200
++++ tokyocabinet-1.4.48/man/tctmgr.1	2013-05-19 11:27:20.780632188 +0200
+@@ -122,10 +122,6 @@ Options feature the following.
+ .br
+ \fB\-it \fItype\fR\fR : specify the index type among "lexical", "decimal", "token", "qgram", and "void".
+ .br
+-\fB\-cd\fR : create the number index instead of the string index.
+-.br
+-\fB\-cv\fR : remove the existing index.
+-.br
+ \fB\-sc\fR : normalize keys as lower cases.
+ .br
+ .RE
+diff -up tokyocabinet-1.4.48/man/tcumttest.1.manhelp tokyocabinet-1.4.48/man/tcumttest.1
+--- tokyocabinet-1.4.48/man/tcumttest.1.manhelp	2013-05-19 11:38:38.097051333 +0200
++++ tokyocabinet-1.4.48/man/tcumttest.1	2013-05-19 11:43:22.167069021 +0200
+@@ -9,12 +9,12 @@ The command `\fBtcumttest\fR' is a utili
+ .PP
+ .RS
+ .br
+-\fBtcumttest combo \fR[\fB\-rnd\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR
++\fBtcumttest combo \fR[\fB\-rnd\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR \fR[\fB\-tr\fB\fR]\fB
+ .RS
+ Peform storing, retrieving, and removing in turn.
+ .RE
+ .br
+-\fBtcumttest typical \fR[\fB\-nc\fR]\fB \fR[\fB\-rr \fInum\fB\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR
++\fBtcumttest typical \fR[\fB\-nc\fR]\fB \fR[\fB\-rr \fInum\fB\fR]\fB \fItnum\fB \fIrnum\fB \fR[\fB\fIbnum\fB\fR]\fB\fR \fR[\fB\-tr\fB\fR]\fB
+ .RS
+ Perform typical operations selected at random.
+ .RE
+@@ -29,6 +29,8 @@ Options feature the following.
+ .br
+ \-rr \fInum\fR : specifiy the ratio of reading operation by percentage.
+ .br
++\fB\-tr\fR : use on\-memory tree database object.
++.br
+ .RE
+ .PP
+ This command returns 0 on success, another on failure.
+diff -up tokyocabinet-1.4.48/tctmgr.c.manhelp tokyocabinet-1.4.48/tctmgr.c
+diff -up tokyocabinet-1.4.48/tcucodec.c.manhelp tokyocabinet-1.4.48/tcucodec.c
+--- tokyocabinet-1.4.48/tcucodec.c.manhelp	2013-05-19 11:29:49.168261576 +0200
++++ tokyocabinet-1.4.48/tcucodec.c	2013-05-19 11:34:28.335588929 +0200
+@@ -126,7 +126,7 @@ static void usage(void){
+   fprintf(stderr, "  %s bzip [-d] [file]\n", g_progname);
+   fprintf(stderr, "  %s xml [-d] [-br] [file]\n", g_progname);
+   fprintf(stderr, "  %s cstr [-d] [-js] [file]\n", g_progname);
+-  fprintf(stderr, "  %s ucs [-d] [-un] [file]\n", g_progname);
++  fprintf(stderr, "  %s ucs [-d] [-un] [-kw] [file]\n", g_progname);
+   fprintf(stderr, "  %s hash [-crc] [-ch num] [file]\n", g_progname);
+   fprintf(stderr, "  %s cipher [-key str] [file]\n", g_progname);
+   fprintf(stderr, "  %s date [-ds str] [-jl num] [-wf] [-rf]\n", g_progname);
diff --git a/SPECS/tokyocabinet.spec b/SPECS/tokyocabinet.spec
new file mode 100644
index 0000000..08c86c7
--- /dev/null
+++ b/SPECS/tokyocabinet.spec
@@ -0,0 +1,221 @@
+Summary:	A modern implementation of a DBM
+Name:		tokyocabinet
+Version:	1.4.48
+Release:	19%{?dist}
+License:	LGPLv2+
+URL:		http://fallabs.com/tokyocabinet/
+Source:		http://fallabs.com/%{name}/%{name}-%{version}.tar.gz
+Patch0:		tokyocabinet-fedora.patch
+Patch1:		tokyocabinet-manhelp.patch
+BuildRequires: make
+BuildRequires:	pkgconfig zlib-devel bzip2-devel autoconf gcc
+
+%description
+Tokyo Cabinet is a library of routines for managing a database. It is the 
+successor of QDBM. Tokyo Cabinet runs very fast. For example, the time required
+to store 1 million records is 1.5 seconds for a hash database and 2.2 seconds
+for a B+ tree database. Moreover, the database size is very small and can be up
+to 8EB. Furthermore, the scalability of Tokyo Cabinet is great.
+
+%package devel
+Summary:	Headers for developing programs that will use %{name}
+Requires:	%{name} = %{version}-%{release}
+Requires:	pkgconfig
+
+%description devel
+This package contains the libraries and header files needed for
+developing with %{name}.
+
+%package devel-doc
+Summary:	Documentation files for developing programs that will use %{name}
+Requires:	%{name} = %{version}-%{release}
+Requires:	pkgconfig
+BuildArch:	noarch
+
+%description devel-doc
+This package contains documentation files for the libraries and header files
+needed for developing with %{name}.
+
+%prep
+%setup -q
+%patch0 -p0 -b .fedora
+%patch1 -p1 -b .manhelp
+
+%build
+autoconf
+%configure --enable-off64 CFLAGS="$CFLAGS"
+make %{?_smp_mflags}
+										
+%install
+make DESTDIR=%{buildroot} install
+
+rm -rf %{buildroot}%{_datadir}/%{name}
+rm -rf %{buildroot}%{_libdir}/lib%{name}.a
+
+%check
+make check
+
+%ldconfig_scriptlets
+
+%files
+%doc ChangeLog COPYING README
+%{_bindir}/tc*
+%{_libdir}/libtokyocabinet.so.*
+%{_libexecdir}/tcawmgr.cgi
+%{_mandir}/man1/tc*.gz
+
+%files devel
+%{_includedir}/tc*.h
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/%{name}.pc
+%{_mandir}/man3/t*.gz
+
+%files devel-doc
+%doc doc/*
+
+%changelog
+* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.48-19
+- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
+  Related: rhbz#1991688
+
+* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.48-18
+- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
+
+* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-17
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+
+* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
+
+* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
+
+* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
+
+* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Feb 27 2018 Marek Skalický <mskalick@redhat.com> - 1.4.48-11
+- Add missing BuildRequires: gcc/gcc-c++
+
+* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.48-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.48-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.48-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.48-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.48-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Mon May 20 2013 Honza Horak <hhorak@redhat.com> - 1.4.48-1
+- Update to 1.4.48
+- Fix help vs. man page differences
+
+* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.47-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
+
+* Tue Sep 18 2012 Honza Horak <hhorak@redhat.com> - 1.4.47-5
+- Split devel documentation files into new sub-package tokyocabinet-devel-doc
+
+* Tue Sep 18 2012 Honza Horak <hhorak@redhat.com> - 1.4.47-4
+- Minor spec file fixes
+
+* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.47-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.47-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Thu Jul 14 2011 Honza Horak <hhorak@redhat.com> - 1.4.47-1
+- Update to 1.4.47
+
+* Wed Jul 13 2011 Honza Horak <hhorak@redhat.com> - 1.4.46-3
+- change project URL and source URL to actual destination
+
+* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.46-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Aug 06 2010 Deji Akingunola <dakingun@gmail.com> - 1.4.46-1
+- Update to 1.4.46
+
+* Thu Apr 22 2010 Deji Akingunola <dakingun@gmail.com> - 1.4.43-2
+- Enable 64-bit file offset support (Fix Fedora bug #514383)
+
+* Thu Mar 11 2010 Deji Akingunola <dakingun@gmail.com> - 1.4.43-1
+- Update to 1.4.43 (Fix Fedora bug #572594)
+
+* Thu Mar 04 2010 Deji Akingunola <dakingun@gmail.com> - 1.4.42-1
+- Update to 1.4.42
+
+* Thu Dec 17 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.41-1
+- Update to 1.4.41
+
+* Wed Sep 30 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.33-1
+- Update to 1.4.33
+
+* Fri Aug 28 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.32-1
+- Update to 1.4.32
+
+* Mon Aug 10 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.30-1
+- New upstream version
+
+* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.23-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jun 03 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.23-1
+- Update to version 1.4.23
+
+* Tue Mar 03 2009 Deji Akingunola <dakingun@gmail.com> - 1.4.9-1
+- Update to version 1.4.9
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.27-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Tue Jan 13 2009 Deji Akingunola <dakingun@gmail.com> - 1.3.27-1
+- Update to version 1.3.27
+
+* Mon Aug 25 2008 Deji Akingunola <dakingun@gmail.com> - 1.3.4-1
+- Update to 1.3.4
+
+* Sun May 25 2008 Masahiro Hasegawa <masahase@gmail.com> - 1.2.6-1
+- Update to 1.2.6
+
+* Mon Apr 28 2008 Deji Akingunola <dakingun@gmail.com> - 1.2.5-1
+- Update to 1.2.5
+
+* Fri Feb 08 2008 Deji Akingunola <dakingun@gmail.com> - 1.1.14-1
+- Update to 1.1.14
+
+* Fri Jan 11 2008 Deji Akingunola <dakingun@gmail.com> - 1.1.7-1
+- Update to 1.1.7
+
+* Tue Dec 18 2007 Deji Akingunola <dakingun@gmail.com> - 1.1.4-1
+- Update to 1.1.4
+
+* Sat Nov 24 2007 Deji Akingunola <dakingun@gmail.com> - 1.0.8-1
+- Update to 1.0.8
+
+* Sat Nov 24 2007 Deji Akingunola <dakingun@gmail.com> - 1.0.6-1
+- Initial package