%define TDSVER 7.0 %define rname freetds %define name freetds_mssql %define major 0 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d Summary: An OpenSource implementation of the tubular data stream protocol Name: %{name} Version: 0.64 Release: %mkrel 6 License: LGPL Group: System/Libraries URL: http://www.freetds.org/ Source: http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/%{rname}-%{version}.tar.bz2 Patch0: freetds-0.64RC2-mssql.diff Patch1: freetds-0.64-no-backslashes-for-sed.patch BuildRequires: doxygen BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: unixODBC-devel >= 2.0.0 BuildRequires: autoconf2.5 BuildRequires: automake1.7 BuildRequires: libtool BuildRoot: %{_tmppath}/%{rname}-%{version}-%{release}-root %description FreeTDS is a free (open source) implementation of Sybase's db-lib, ct-lib, and ODBC libraries. Currently, dblib and ctlib are most mature. Both of these libraries have several programs know to compile and run against them. ODBC is just a roughed in skeleton, and not useful for real work. This package is built with support for TDS version %{TDSVER}. %package -n %{libname} Summary: An Open Source implementation of the tubular data stream protocol Group: System/Libraries Obsoletes: %{name} Provides: %{name} %description -n %{libname} FreeTDS is a free (open source) implementation of Sybase's db-lib, ct-lib, and ODBC libraries. Currently, dblib and ctlib are most mature. Both of these libraries have several programs know to compile and run against them. ODBC is just a roughed in skeleton, and not useful for real work. This package is built with support for TDS version %{TDSVER}. %package -n %{libname}-unixodbc Summary: Driver ODBC for unixODBC Group: System/Libraries Requires: %{libname} = %{version}-%{release} %description -n %{libname}-unixodbc The freetds-unixodbc package contains ODBC driver build for unixODBC. This package is built with support for TDS version %{TDSVER}. %package -n %{develname} Summary: Development libraries and header files for the FreeTDS library Group: Development/C Requires: libtool Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version} Obsoletes: %{name}-devel Provides: lib%{name}-devel = %{version} Obsoletes: %{mklibname %{name} 0 -d} %description -n %{develname} FreeTDS is a free (open source) implementation of Sybase's db-lib, ct-lib, and ODBC libraries. Currently, dblib and ctlib are most mature. Both of these libraries have several programs know to compile and run against them. ODBC is just a roughed in skeleton, and not useful for real work. This package is built with support for TDS version %{TDSVER}. This package allows you to compile applications with freetds libraries. %prep %setup -q -n %{rname}-%{version} %patch0 -p1 %patch1 -p1 -b .backslashes find . -type d -perm 0700 -exec chmod 755 {} \; find . -type f -perm 0555 -exec chmod 755 {} \; find . -type f -perm 0444 -exec chmod 644 {} \; for i in `find . -type d -name CVS` `find . -type d -name .svn` `find . -type f -name .cvs\*` `find . -type f -name .#\*`; do if [ -e "$i" ]; then rm -rf $i; fi >&/dev/null done # lib64 fix perl -pi -e "s|/lib\b|/%{_lib}|g" configure.in # perl path fix find -type f | xargs perl -pi -e "s|/usr/local/bin/perl|%{_bindir}/perl|g" %build export WANT_AUTOCONF_2_5=1 touch include/config.h.in libtoolize --copy --force; aclocal-1.7; autoconf; automake-1.7 --add-missing %configure2_5x \ --with-tdsver=%{TDSVER} \ --with-unixodbc=%{_prefix} \ --enable-msdblib %make # (oe) the test suite assumes you have access to a sybase/mssql database # server (tds_connect) and have a correct freedts config... #make check %install [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} install -d %{buildroot}/interfaces install -d %{buildroot}%{_sysconfdir}/%{name} install -d %{buildroot}%{_datadir}/%{name}-%{version}/samples install -d %{buildroot}%{_includedir}/%{name} %makeinstall chmod +x %{buildroot}%{_libdir}/*.so cp -a -f samples/* %{buildroot}%{_datadir}/%{name}-%{version}/samples/ mv %{buildroot}/interfaces %{buildroot}%{_datadir}/%{name}-%{version}/ pushd %{buildroot}%{_sysconfdir}/%{name} ln -sf ../..%{_datadir}/%{name}-%{version}/interfaces/ popd cat > README.MDK << EOF This package is based on the freetds-0.62.4-5mdk.src.rpm source rpm package with only three major differences: o This package passes "--enable-msdblib" to the configure line while building the software to make it work with MSSQL servers. Sybase uses 0-11 and MSSQL uses 1-12 to define months... o The freetds-0.63-mssql.diff patch that adds "_mssql" to every library name. This should make it possible to have the plain freetds and the freetds_mssql packages installed at the same time. o The config, binaries and man page files are renamed to use the _mssql suffix. EOF #remove unwanted files rm -rf %{buildroot}%{_sysconfdir}/locales.conf rm -rf %{buildroot}%{_docdir}/%{rname}-* rm -rf %{buildroot}%{_datadir}/%{name}-*/samples # rename/move these mv %{buildroot}%{_sysconfdir}/freetds.conf %{buildroot}%{_sysconfdir}/freetds_mssql.conf mv %{buildroot}%{_sysconfdir}/pool.conf %{buildroot}%{_sysconfdir}/pool_mssql.conf mv %{buildroot}%{_bindir}/bsqldb %{buildroot}%{_bindir}/bsqldb_mssql mv %{buildroot}%{_bindir}/freebcp %{buildroot}%{_bindir}/freebcp_mssql mv %{buildroot}%{_bindir}/tdspool %{buildroot}%{_bindir}/tdspool_mssql mv %{buildroot}%{_bindir}/tsql %{buildroot}%{_bindir}/tsql_mssql mv %{buildroot}%{_bindir}/defncopy %{buildroot}%{_bindir}/defncopy_mssql mv %{buildroot}%{_bindir}/datacopy %{buildroot}%{_bindir}/datacopy_mssql mv %{buildroot}%{_mandir}/man1/datacopy.1 %{buildroot}%{_mandir}/man1/datacopy_mssql.1 mv %{buildroot}%{_mandir}/man1/freebcp.1 %{buildroot}%{_mandir}/man1/freebcp_mssql.1 mv %{buildroot}%{_mandir}/man1/tsql.1 %{buildroot}%{_mandir}/man1/tsql_mssql.1 mv %{buildroot}%{_mandir}/man1/defncopy.1 %{buildroot}%{_mandir}/man1/defncopy_mssql.1 mv %{buildroot}%{_mandir}/man1/bsqldb.1 %{buildroot}%{_mandir}/man1/bsqldb_mssql.1 mv %{buildroot}%{_includedir}/*.h %{buildroot}%{_includedir}/%{name}/ %post -n %{libname} -p /sbin/ldconfig %postun -n %{libname} -p /sbin/ldconfig %post -n %{libname}-unixodbc -p /sbin/ldconfig %postun -n %{libname}-unixodbc -p /sbin/ldconfig %clean [ "%{buildroot}" != "/" ] && rm -rf %{buildroot} %files -n %{libname} %defattr(-,root,root) %doc AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README PWD README.MDK %config(noreplace) %{_sysconfdir}/freetds_mssql.conf %config(noreplace) %{_sysconfdir}/pool_mssql.conf %dir %{_datadir}/%{name}-%{version} %{_bindir}/bsqldb_mssql %{_bindir}/freebcp_mssql %{_bindir}/tdspool_mssql %{_bindir}/tsql_mssql %{_bindir}/defncopy_mssql %{_bindir}/datacopy_mssql %{_libdir}/libct_mssql.so.* %{_libdir}/libsybdb_mssql.so.* %{_libdir}/libtds_mssql.so.* %{_libdir}/libtdssrv_mssql.so.* %{_datadir}/%{name}-%{version}/interfaces %dir %{_sysconfdir}/%{name}/interfaces %{_mandir}/man1/* %files -n %{libname}-unixodbc %defattr(-,root,root) %{_libdir}/libtdsodbc_mssql.so.* %files -n %{develname} %defattr(-,root,root) %doc TODO %{_libdir}/*.la %{_libdir}/*.a %{_libdir}/*.so %{_includedir}/%{name} %changelog * Tue Sep 04 2007 Oden Eriksson <oeriksson@mandriva.com> 0.64-6mdv2008.0 + Revision: 79209 - new devel naming * Fri Jun 01 2007 Christiaan Welvaart <spturtle@mandriva.org> 0.64-5mdv2008.0 + Revision: 33654 - patch1: fix multiline sed scripts * Wed Oct 11 2006 Oden Eriksson <oeriksson@mandriva.com> + 2006-10-10 10:37:08 (63313) - rebuild * Wed Oct 11 2006 Oden Eriksson <oeriksson@mandriva.com> + 2006-10-10 10:35:45 (63310) - Import freetds_mssql * Tue Sep 19 2006 Gwenole Beauchesne <gbeauchesne@mandriva.com> 0.64-3mdv2007.0 - Rebuild * Mon Jul 03 2006 Oden Eriksson <oeriksson@mandriva.com> 0.64-2mdv2007.0 - 0.64 (Major feature enhancements) * Tue May 16 2006 Oden Eriksson <oeriksson@mandriva.com> 0.64-1.RC2.1mdk - 0.64RC2 - rediffed P0 * Mon Nov 21 2005 Oden Eriksson <oeriksson@mandriva.com> 0.64-0.20051020.3mdk - fix one silly file conflict * Sun Nov 20 2005 Oden Eriksson <oeriksson@mandriva.com> 0.64-0.20051020.2mdk - really make it use the (.)freetds_mssql.conf file * Fri Oct 21 2005 Oden Eriksson <oeriksson@mandriva.com> 0.64-0.20051020.1mdk - new snap (20051020) * Fri Sep 02 2005 Oden Eriksson <oeriksson@mandriva.com> 0.64-0.20050831.1mdk - used a snap in an attempt to close #17272 - rediffed the mssql patch (P0) * Fri May 06 2005 Oden Eriksson <oeriksson@mandriva.com> 0.63-3mdk - rebuilt with gcc4 * Sun Apr 10 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.63-2mdk - added one lib64 fix * Thu Mar 31 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.63-1mdk - 0.63 - rediffed P0 - use the %%mkrel macro * Sat Feb 19 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.62.4-1mdk - initial Mandrakelinux package - based on freetds-0.62.4-5mdk.src.rpm - fixes #13800