# TODO:
# - change code to do not require *.so libs and use *.so.X.X.X
-%bcond_without qt
+#
+# Conditional build:
+%bcond_without qt # don't build qtpwbsp module
#
Summary: Framework for biometric-based authentication
+Summary(pl.UTF-8): Szkielet do uwierzytelniania opartego o biometrykę
Name: bioapi
-Version: 1.2.2
-Release: 0.2
+Version: 1.2.3
+Release: 0.1
License: BSD
Group: Applications/Networking
-Source0: http://www.qrivy.net/~michael/blua/bioapi/%{name}-%{version}.tar.bz2
-# Source0-md5: 924f723895c339552e501999945b7920
-Patch0: %{name}-c++.patch
-URL: http://www.qrivy.net/~michael/blua/
+Source0: http://bioapi-linux.googlecode.com/files/%{name}_%{version}.tar.gz
+# Source0-md5: 9bcfb8505a9e4379aa5012300afd3f8c
+Patch0: %{name}-build.patch
+Patch1: %{name}-enroll-ret.patch
+Patch2: %{name}-gcc44.patch
+Patch3: %{name}-no-delete.patch
+URL: http://code.google.com/p/bioapi-linux/
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake >= 1.6
+BuildRequires: libstdc++-devel
+BuildRequires: libtool >= 2:1.5
%{?with_qt:BuildRequires: qt-devel}
-BuildRequires: xorg-lib-libX11-devel
+%{?with_qt:BuildRequires: xorg-lib-libXt-devel}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# to get /var/lib/bioapi instead of /var/bioapi
+%define _localstatedir /var/lib
+
%description
BioAPI reference implementation for Unix-based platforms. The
Unix-based reference implementation was developed by the Convergent
MdsEdit utility from code provided by the International Biometric
Group (IBG).
+%description -l pl.UTF-8
+Wzorcowa implementacja BioAPI dla platform uniksowych. Została
+stworzona przez Convergent Information Division (CISD), Information
+Technology Laboratory (ITL) z National Institute of Standards and
+Technology (NIST). Jest oparta bezpośrednio na wzorcowej implementacji
+BioAPI Consortium dla Windows oraz wzorcowej implementacji Common Data
+Security Architecture (CDSA). Uniksowa implementacja zawiera aplikację
+przykładową i narzędzie MdsEdit z kodu dostarczonego przez
+International Biometric Group (IBG).
+
%package devel
-Summary: Header files and development documentation for BioAPI
+Summary: Header files for BioAPI
+Summary(pl.UTF-8): Pliki nagłówkowe BioAPI
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}-%{release}
-%{?with_qt:Requires: %{name}-qt = %{epoch}:%{version}-%{release}}
+Requires: %{name} = %{version}-%{release}
+Requires: libstdc++-devel
%description devel
-Header files and development documentation for BioAPI.
+Header files for BioAPI.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe BioAPI.
%package static
Summary: Static BioAPI libraries
+Summary(pl.UTF-8): Statyczne biblioteki BioAPI
Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
%description static
Static BioAPI libraries.
+%description static -l pl.UTF-8
+Statyczne biblioteki BioAPI.
+
%package qt
-Summary: Sample BioAPI QT application
-Group: Applications
+Summary: Sample BioAPI Qt application
+Summary(pl.UTF-8): Przykładowa aplikacja BioAPI w Qt
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
%description qt
Sample BioAPI QT application.
+%description qt -l pl.UTF-8
+Przykładowa aplikacja BioAPI w Qt.
+
%prep
-%setup -q
+%setup -q -n %{name}-linux
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__automake}
%configure \
%if %{with qt}
+ --with-Qt-dir=/usr \
--with-Qt-lib-dir=%{_libdir} \
%else
- --with-Qt-dir=no \
+ --without-Qt-dir \
%endif
--includedir=%{_includedir}/%{name}
+%{__make}
+
%install
rm -rf $RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_includedir}/%{name}
-
+install -d $RPM_BUILD_ROOT{%{_includedir}/%{name},/var/lib/bioapi}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install include/bioapi_util.h include/installdefs.h imports/cdsa/v2_0/inc/cssmtype.h \
+cp -p imports/cdsa/v2_0/inc/cssmtype.h \
$RPM_BUILD_ROOT%{_includedir}/%{name}
mv $RPM_BUILD_ROOT%{_bindir}/Sample $RPM_BUILD_ROOT%{_bindir}/BioAPI-Sample
mv $RPM_BUILD_ROOT%{_bindir}/QSample $RPM_BUILD_ROOT%{_bindir}/BioAPI-QSample
%endif
+# modules to dlopen
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib{bioapi_dummy100,pwbsp,qtpwbsp}.{la,a}
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/BioAPI-Sample
%attr(755,root,root) %{_bindir}/BioAPI-*_*
%attr(755,root,root) %{_bindir}/BioAPITest
-%{?with_qt:%exclude %{_libdir}/libqtpwbsp.so*}
-%attr(755,root,root) %{_libdir}/lib*.so*
+%attr(755,root,root) %{_libdir}/libbioapi100.so.*.*.*
+%attr(755,root,root) %{_libdir}/libbioapi_dummy100.so.*.*.*
+%attr(755,root,root) %{_libdir}/libbioapi_mds300.so.*.*.*
+%attr(755,root,root) %{_libdir}/libmds_util.so.*.*.*
+%attr(755,root,root) %{_libdir}/libpwbsp.so.*.*.*
+%attr(755,root,root) %{_libdir}/libbioapi100.so
+%attr(755,root,root) %{_libdir}/libbioapi_dummy100.so
+%attr(755,root,root) %{_libdir}/libbioapi_mds300.so
+%attr(755,root,root) %{_libdir}/libmds_util.so
+%attr(755,root,root) %{_libdir}/libpwbsp.so
+%dir /var/lib/bioapi
%files devel
%defattr(644,root,root,755)
+# *.so needed in main package (maybe except libmds_util.so?)
+%{_libdir}/libbioapi100.la
+%{_libdir}/libbioapi_mds300.la
+%{_libdir}/libmds_util.la
%{_includedir}/%{name}
-%{_libdir}/lib*.la
-# *.so needed in main package
-#%{?with_qt:%exclude %{_libdir}/libqtpwbsp.so.*}
-#%attr(755,root,root) %{_libdir}/lib*.so
%files static
%defattr(644,root,root,755)
-%{_libdir}/*.a
+%{_libdir}/libbioapi100.a
+%{_libdir}/libbioapi_mds300.a
+%{_libdir}/libmds_util.a
%if %{with qt}
%files qt
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/BioAPI-MdsEdit
%attr(755,root,root) %{_bindir}/BioAPI-QSample
-%attr(755,root,root) %{_libdir}/libqtpwbsp.so*
+%attr(755,root,root) %{_libdir}/libqtpwbsp.so.*.*.*
+%attr(755,root,root) %{_libdir}/libqtpwbsp.so
%endif