%bcond_with largefile

%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}

Summary: A GNU set of database routines which use extensible hashing.
Summary(ja): 拡張可能なハッシングを利用した GNU データベースルーチン
Name: gdbm
Version: 1.22
Release: 1%{?_dist_release}
Group: system
Vendor: Project Vine
Distribution: Vine Linux

Source: https://ftp.gnu.org/gnu/gdbm/gdbm-%{version}.tar.gz
License: GPL
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libtool gettext readline-devel

%description
Gdbm is a GNU database indexing library, including routines which use
extensible hashing.  Gdbm works in a similar way to standard UNIX dbm
routines.  Gdbm is useful for developers who write C applications and
need access to a simple and efficient database or who are building C
applications which will use such a database.

If you're a C developer and your programs need access to simple
database routines, you should install gdbm.  You'll also need to
install gdbm-devel.

%description -l ja
gdbm は，拡張可能なハッシングを利用したルーチンが含まれた
GNU データベースインデックスライブラリです．gdbm は標準的な
UNIX の dbm ルーチンと同様に機能します．C アプリケーションを
開発する際に簡単で効率的なデータベースへのアクセスが必要になった時，
この gdbm は非常に便利です．

あなたが C プログラマで，プログラムに簡単なデータベースルーチンへの
アクセスが必要になった場合，gdbm を是非インストールして下さい．
その際 gdbm-devel パッケージも同時にインストールする必要があります．


%package -n compat32-%{name}
Summary: A GNU set of database routines which use extensible hashing.
Summary(ja): 拡張可能なハッシングを利用した GNU データベースルーチン
Group: system,legacy
Requires: gdbm = %{version}

%description -n compat32-%{name}
Gdbm is a GNU database indexing library, including routines which use
extensible hashing.  Gdbm works in a similar way to standard UNIX dbm
routines.  Gdbm is useful for developers who write C applications and
need access to a simple and efficient database or who are building C
applications which will use such a database.

If you're a C developer and your programs need access to simple
database routines, you should install gdbm.  You'll also need to
install gdbm-devel.

%description -n compat32-%{name} -l ja
gdbm は，拡張可能なハッシングを利用したルーチンが含まれた
GNU データベースインデックスライブラリです．gdbm は標準的な
UNIX の dbm ルーチンと同様に機能します．C アプリケーションを
開発する際に簡単で効率的なデータベースへのアクセスが必要になった時，
この gdbm は非常に便利です．

あなたが C プログラマで，プログラムに簡単なデータベースルーチンへの
アクセスが必要になった場合，gdbm を是非インストールして下さい．
その際 gdbm-devel パッケージも同時にインストールする必要があります．


%package devel
Summary: Development libraries and header files for the gdbm library.
Summary(ja): gdbm ライブラリ用の開発ライブラリとヘッダファイル
Group: programming
Requires: gdbm = %{version}
Requires: /sbin/install-info

%description devel
Gdbm-devel contains the development libraries and header files for
gdbm, the GNU database system.  These libraries and header files are
necessary if you plan to do development using the gdbm database.

Install gdbm-devel if you are developing C programs which will use the
gdbm database library.  You'll also need to install the gdbm package.

%description devel -l ja
gdbm-devel パッケージには，GNU データベースシステムである gdbm 用の
開発ライブラリとヘッダファイルが納められています．これらのライブラリと
ヘッダファイルは，gdbm データベースを使ったプログラムを開発する際に
必要となるものです．

gdbm データベースライブラリを使う C プログラムを開発する場合は
この gdbm-devel パッケージをインストールして下さい．同時に
gdbm パッケージもインストールする必要があります．


%package -n compat32-%{name}-devel
Summary: Development libraries and header files for the gdbm library.
Summary(ja): gdbm ライブラリ用の開発ライブラリとヘッダファイル
Group: programming,legacy
Requires: gdbm = %{version}
Requires: gdbm-devel = %{version}

%description -n compat32-%{name}-devel
Gdbm-devel contains the development libraries and header files for
gdbm, the GNU database system.  These libraries and header files are
necessary if you plan to do development using the gdbm database.

Install gdbm-devel if you are developing C programs which will use the
gdbm database library.  You'll also need to install the gdbm package.

%description -n compat32-%{name}-devel -l ja
gdbm-devel パッケージには，GNU データベースシステムである gdbm 用の
開発ライブラリとヘッダファイルが納められています．これらのライブラリと
ヘッダファイルは，gdbm データベースを使ったプログラムを開発する際に
必要となるものです．

gdbm データベースライブラリを使う C プログラムを開発する場合は
この gdbm-devel パッケージをインストールして下さい．同時に
gdbm パッケージもインストールする必要があります．


%debug_package


%prep
%setup -q


%build
%configure \
    --disable-static \
%{!?with_largefile: --disable-largefile} \
    --disable-rpath \
    --enable-libgdbm-compat

# get rid of rpath (as per https://fedoraproject.org/wiki/Packaging:Guidelines#Beware_of_Rpath)
# currently --disable-rpath doesn't work for gdbm_dump|load, gdbmtool and libgdbm_compat.so.4
# https://puszcza.gnu.org.ua/bugs/index.php?359
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool

make %{?_smp_mflags}


%install
rm -rf %{buildroot}

make DESTDIR=%{buildroot} install

%find_lang %{name}

# create symlinks for compatibility
mkdir -p %{buildroot}/%{_includedir}/gdbm
ln -sf ../gdbm.h %{buildroot}/%{_includedir}/gdbm/gdbm.h
ln -sf ../ndbm.h %{buildroot}/%{_includedir}/gdbm/ndbm.h
ln -sf ../dbm.h %{buildroot}/%{_includedir}/gdbm/dbm.h

# Remove libtool archives
find %{buildroot} -type f -name "*.la" -delete

rm -f %{buildroot}/%{_infodir}/dir


%check
export LD_LIBRARY_PATH=`pwd`/src/.libs/:`pwd`/compat/.libs/
make check


%clean
rm -rf ${RPM_BUILD_ROOT}


%files -f %{name}.lang
%license COPYING
%doc NEWS README THANKS AUTHORS NOTE-WARNING
%{_bindir}/gdbm*
%{_mandir}/man1/gdbm*
%{_libdir}/libgdbm.so.*
%{_libdir}/libgdbm_compat.so.4*

%files devel
%defattr(-,root,root)
%{_libdir}/libgdbm.so
%{_libdir}/libgdbm_compat.so
%{_includedir}/*
%{_infodir}/*.info*
%{_mandir}/man3/*

%if %{build_compat32}
%files -n compat32-%{name}
%defattr(-,root,root)
%{_libdir}/libgdbm.so.*
%{_libdir}/libgdbm_compat.so.4*

%files -n compat32-%{name}-devel
%defattr(-,root,root)
%{_libdir}/libgdbm.so
%{_libdir}/libgdbm_compat.so
%endif


%changelog
* Tue Oct 26 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.22-1
- new upstream release.

* Tue Sep 14 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.21-1
- new upstream release.
- dropped install-info scriptlets.

* Sat Jun 19 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.20-1
- new upstream release.
- dropped ldconfig scriptlets.

* Mon Feb 22 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.19-1
- new upstream release.

* Sat Aug 31 2019 Toshiaki Ara <ara_t@384.jp> 1.18.1-2
- rebuild with readline-8.0 and ncurses-6.1

* Sun May 12 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.18.1-1
- new upstream release.
- dropped all patches.

* Sun Dec 29 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.8.0-24
- rebuild with VineSeed environment

* Sun Apr 17 2011 Shu KONNO <owa@bg.wakwak.com> 1.8.0-23
- rebuilt with rpm-4.8.1-3

* Thu Feb 11 2010 Shu KONNO <owa@bg.wakwak.com> 1.8.0-22
- added patch4: gdbm-1.8.0-config.sub.patch (for x86_64)

* Fri Feb  5 2010 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 1.8.0-21
- rebuilt with new toolchain
- fix Patch1

* Fri Aug 15 2008 Shu KONNO <owa@bg.wakwak.com> 1.8.0-20vl5
- applied new versioning policy, spec in utf-8

* Thu Feb 9 2006 NAKAMURA Kenta <kenta@c.csce.kyushu-u.ac.jp> 1.8.0-20vl3
- added compat32-* packages for x86_64 architecture support

* Wed Jan 11 2006 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.8.0-20vl2
- added BuildRequires: libtool

* Mon Apr 14 2003 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.8.0-20vl1
- rebuild with new toolchain
- based on Rawhide 1.8.0-20

* Sat Jul 14 2001 <sagami@vinelinux.org>
- 1.8.0-10vl1
- follow up with 1.8.0-10 which has a fix to build against new libtool

* Sun Feb 11 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
- 1.8.0-5vl1
- based on 1.8.0-5 from Rawhide
- added Japanese summary and description

* Thu Jul 13 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Mon Jun  5 2000 Jeff Johnson <jbj@redhat.com>
- FHS packaging.

* Mon Feb  7 2000 Bill Nottingham <notting@redhat.com>
- handle compressed manpages

* Tue Aug 10 1999 Jeff Johnson <jbj@redhat.com>
- make sure created database header is initialized (#4457).

* Tue Jun  1 1999 Jeff Johnson <jbj@redhat.com>
- update to 1.8.0.
- repackage to include /usr/include/gdbm/*dbm.h compatibility includes.

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 19)

* Thu Dec 17 1998 Cristian Gafton <gafton@redhat.com>
- build against glibc 2.1

* Thu May 07 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
- gdbm-devel moved to Development/Libraries

* Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
- buildroot and built for Manhattan

* Tue Oct 14 1997 Donnie Barnes <djb@redhat.com>
- spec file cleanups

* Thu Jun 12 1997 Erik Troan <ewt@redhat.com>
- built against glibc
