Files
cppdb/cppdb.spec

205 lines
6.5 KiB
RPMSpec
Raw Normal View History

#
# spec file for package cppdb
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: cppdb
%define sover 0
Version: 0.3.0
Release: 0
License: MIT; BSL-1.0
Summary: Database-independent SQL connectivity library
Url: http://cppcms.com/sql/cppdb/
Group: Development/Libraries/C and C++
Source: http://sourceforge.net/projects/cppcms/files/cppdb/%{version}/cppdb-%{version}.tar.bz2
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libmysqlclient-devel
BuildRequires: postgresql-devel
BuildRequires: unixODBC-devel
BuildRequires: pkgconfig(sqlite3)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
%package devel
Summary: Development files for cppdb
Group: Development/Libraries/C and C++
Requires: libcppdb%{sover} = %{version}
# The rest are plugins, no Requires needed.
%description devel
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains the development files (headers, link-time
file references) for cppdb.
%package -n libcppdb%{sover}
Summary: Database-independent SQL connectivity library
Group: System/Libraries
%description -n libcppdb%{sover}
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
%package -n libcppdb_mysql%{sover}
Summary: MySQL database connector for the cppdb library
Group: System/Libraries
%description -n libcppdb_mysql%{sover}
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains the MySQL database connector.
%package -n libcppdb_odbc%{sover}
Summary: unixODBC database connector for the cppdb library
Group: System/Libraries
%description -n libcppdb_odbc%{sover}
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains the unixODBC database connector.
%package -n libcppdb_postgresql%{sover}
Summary: PostgreSQL database connector for the cppdb library
Group: System/Libraries
%description -n libcppdb_postgresql%{sover}
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains the PostgreSQL database connector.
%package -n libcppdb_sqlite3-%{sover}
Summary: SQLite3 database connector for the cppdb library
Group: System/Libraries
%description -n libcppdb_sqlite3-%{sover}
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains the SQLite3 database connector.
%package doc
Summary: Documentation and examples for CppDB
Group: Documentation/Other
BuildArch: noarch
%description doc
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains pdf documentation and examples.
%package doc-html
Summary: HTML documentation for CppDB
Group: Documentation/HTML
BuildArch: noarch
%description doc-html
CppDB is an SQL connectivity library that is designed to provide
platform and Database independent connectivity API similarly to what
JDBC, ODBC and other connectivity libraries do.
This package contains HTML documentation.
%prep
%setup -q
%build
export CFLAGS='%{optflags}'
export CXXFLAGS='%{optflags}'
cmake -DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DODBC_BACKEND_INTERNAL=OFF
make %{?_smp_mflags} VERBOSE=1
%install
make install DESTDIR=%{buildroot} VERBOSE=1
if [ "%{_lib}" != "lib" ]; then
mv %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir}
fi
rm -f %{buildroot}%{_libdir}/*.a
rm html/installdox
mkdir -p %{buildroot}%{_datadir}/doc/%{name}
cp -r html pdf examples %{buildroot}%{_datadir}/doc/%{name}
%fdupes -s %{buildroot}%{_datadir}/doc/%{name}/html
%post -n libcppdb%{sover} -p /sbin/ldconfig
%post -n libcppdb_mysql%{sover} -p /sbin/ldconfig
%post -n libcppdb_odbc%{sover} -p /sbin/ldconfig
%post -n libcppdb_postgresql%{sover} -p /sbin/ldconfig
%post -n libcppdb_sqlite3-%{sover} -p /sbin/ldconfig
%postun -n libcppdb%{sover} -p /sbin/ldconfig
%postun -n libcppdb_mysql%{sover} -p /sbin/ldconfig
%postun -n libcppdb_odbc%{sover} -p /sbin/ldconfig
%postun -n libcppdb_postgresql%{sover} -p /sbin/ldconfig
%postun -n libcppdb_sqlite3-%{sover} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc LICENSE_1_0.txt MIT.txt copyright.txt
%files devel
%defattr(-,root,root)
%{_includedir}/cppdb
%{_libdir}/*.so
%files -n libcppdb%{sover}
%defattr(-,root,root)
%{_libdir}/libcppdb.so.%{sover}*
%files -n libcppdb_mysql%{sover}
%defattr(-,root,root)
%{_libdir}/libcppdb_mysql.so.%{sover}*
%files -n libcppdb_odbc%{sover}
%defattr(-,root,root)
%{_libdir}/libcppdb_odbc.so.%{sover}*
%files -n libcppdb_postgresql%{sover}
%defattr(-,root,root)
%{_libdir}/libcppdb_postgresql.so.%{sover}*
%files -n libcppdb_sqlite3-%{sover}
%defattr(-,root,root)
%{_libdir}/libcppdb_sqlite3.so.%{sover}*
%files doc
%defattr(-,root,root)
%dir %{_datadir}/doc/%{name}
%{_datadir}/doc/%{name}/pdf
%{_datadir}/doc/%{name}/examples
%files doc-html
%defattr(-,root,root)
%dir %{_datadir}/doc/%{name}
%{_datadir}/doc/%{name}/html