%define major 6 %define libname %mklibname mysqlcppconn %{major} %define develname %mklibname mysqlcppconn -d %global bzr 916 Summary: A MySQL database connector for C++ Name: mysql-connector-c++ Version: 1.1.0 %if 0%{?bzr} Release: %mkrel 0.6.bzr%{?bzr} %else Release: %mkrel 1 %endif Group: System/Libraries License: GPL URL: http://dev.mysql.com/downloads/connector/cpp/ %if 0%{?bzr} # bzr branch -r 916 lp:~mysql/mysql-connector-cpp/trunk mysql-connector-c++-1.1.0 # less mysql-connector-c++-1.1.0/driver/mysql_metadata.cpp # check getDriverMajorVersion / getDriverMinorVersion / getDriverPatchVersion # tar czf mysql-connector-c++-bzr895.tgz --exclude .bzr mysql-connector-c++-1.1.0 # rm -rf mysql-connector-c++-1.1.0 Source0: %{name}-bzr%{bzr}.tgz %else # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/connector/cpp Source0: http://mirrors.dotsrc.org/mysql/Downloads/Connector-C++/%{name}-%{version}.tar.gz %endif BuildRequires: cmake BuildRequires: mysql-devel BuildRequires: boost-devel BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description Connector/C++ is a tool that enables easy deployment and management of MySQL server and database through your C++ application. %package -n %{libname} Summary: The shared mysql-connector-cpp library Group: System/Libraries %description -n %{libname} Connector/C++ is a tool that enables easy deployment and management of MySQL server and database through your C++ application. This package provides the shared mysql-connector-cpp library. %package -n %{develname} Summary: Development library and header files for development with mysql-connector-cpp Group: Development/C++ Requires: %{libname} = %{version} Provides: mysql-connector-c++-devel = %{version}-%{release} %description -n %{develname} Connector/C++ is a tool that enables easy deployment and management of MySQL server and database through your C++ application. This package is only needed if you plan to develop or compile applications which requires the mysql-connector-cpp library. %prep %setup -q %{__sed} -i -e 's/lib$/%{_lib}/' driver/CMakeLists.txt %{__chmod} -x examples/*.cpp examples/*.txt # Save examples to keep directory clean (for doc) %{__mkdir} _doc_examples %{__cp} -pr examples _doc_examples %build %{cmake} -DMYSQLCPPCONN_BUILD_EXAMPLES:BOOL=0 %{__make} %install %{__rm} -rf %{buildroot} cp build/cppconn/config.h cppconn/config.h %{__make} install DESTDIR=%{buildroot} -C build rm -fr %{buildroot}%_prefix/COPYING rm -fr %{buildroot}%_prefix/INSTALL rm -fr %{buildroot}%_prefix/README %check # for documentation purpose only (A MySQL server is required) # cd test # ./static_test tcp://127.0.0.1 user password test_database # Should output : Loops= 2 Tests= 592 Failures= 0 # ./driver_test tcp://127.0.0.1 user password test_database # Should output : Loops= 2 Tests= 592 Failures= 0 %clean rm -rf %{buildroot} %files -n %{libname} %defattr(-,root,root) %attr(0755,root,root) %{_libdir}/*.so.%{major}* %files -n %{develname} %defattr(-,root,root) %dir %{_includedir}/cppconn %attr(0644,root,root) %{_includedir}/*.h %attr(0644,root,root) %{_includedir}/cppconn/*.h %attr(0644,root,root) %{_libdir}/*.so %exclude %{_libdir}/libmysqlcppconn-static.a