diff --git a/README.md b/README.md index 686df6d..2b4281f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # libfreetds +FreeTDS is a database communication library for Sybase and Microsoft SQL Server. +It includes an ODBC driver and the older DB-Library and CT-Library interfaces. +It works with tools such as DBD::Sybase and DBD::ODBC for Perl, and the Sybase and ODBC module + diff --git a/cspublic.BLK_VERSION_150.patch b/cspublic.BLK_VERSION_150.patch new file mode 100644 index 0000000..3549cf4 --- /dev/null +++ b/cspublic.BLK_VERSION_150.patch @@ -0,0 +1,29 @@ +Index: include/cspublic.h +=================================================================== +RCS file: /cvsroot/freetds/freetds/include/cspublic.h,v +retrieving revision 1.58 +retrieving revision 1.58.2.2 +diff -u -r1.58 -r1.58.2.2 +--- include/cspublic.h 25 Jun 2007 09:48:20 -0000 1.58 ++++ include/cspublic.h 8 Sep 2008 17:48:50 -0000 1.58.2.2 +@@ -34,7 +34,7 @@ + #define TDS_STATIC_CAST(type, a) ((type)(a)) + #endif + +-static const char rcsid_cspublic_h[] = "$Id: cspublic.h,v 1.58 2007/06/25 09:48:20 freddy77 Exp $"; ++static const char rcsid_cspublic_h[] = "$Id: cspublic.h,v 1.58.2.2 2008/09/08 17:48:50 jklowden Exp $"; + static const void *const no_unused_cspublic_h_warn[] = { rcsid_cspublic_h, no_unused_cspublic_h_warn }; + + #define CS_PUBLIC +@@ -446,7 +446,10 @@ + #define CS_VERSION_150 15000 + + #define BLK_VERSION_100 CS_VERSION_100 +-#define BLK_VERSION_110 CS_VERSION_100 ++#define BLK_VERSION_110 CS_VERSION_110 ++#define BLK_VERSION_120 CS_VERSION_120 ++#define BLK_VERSION_125 CS_VERSION_125 ++#define BLK_VERSION_150 CS_VERSION_150 + + #define CS_FORCE_EXIT 300 + #define CS_FORCE_CLOSE 301 diff --git a/freetds-0.82-libtool.patch b/freetds-0.82-libtool.patch new file mode 100644 index 0000000..e1a6176 --- /dev/null +++ b/freetds-0.82-libtool.patch @@ -0,0 +1,39 @@ +diff -Naur freetds-0.82.orig/m4/iconv.m4 freetds-0.82/m4/iconv.m4 +--- freetds-0.82.orig/m4/iconv.m4 2006-03-27 19:05:42.000000000 -0500 ++++ freetds-0.82/m4/iconv.m4 2009-02-20 17:07:53.000000000 -0500 +@@ -9,32 +9,20 @@ + + dnl From Bruno Haible. + +-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +-[ +- dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. +- AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) +- AC_REQUIRE([AC_LIB_RPATH]) +- +- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +- dnl accordingly. +- AC_LIB_LINKFLAGS_BODY([iconv]) +-]) +- + AC_DEFUN([AM_ICONV_LINK], + [ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + +- dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV +- dnl accordingly. +- AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ++ LIBICONV= ++ LTLIBICONV= ++ INCICONV= + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" +- AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" diff --git a/freetds-0.82-shared-libtds.patch b/freetds-0.82-shared-libtds.patch new file mode 100644 index 0000000..a9a1245 --- /dev/null +++ b/freetds-0.82-shared-libtds.patch @@ -0,0 +1,126 @@ +diff -up freetds-0.82/src/apps/Makefile.am.foo freetds-0.82/src/apps/Makefile.am +--- freetds-0.82/src/apps/Makefile.am.foo 2008-06-16 23:25:29.000000000 +0200 ++++ freetds-0.82/src/apps/Makefile.am 2008-06-16 23:25:34.000000000 +0200 +@@ -19,7 +19,7 @@ dist_bin_SCRIPTS = osql + freebcp_LDADD = ../dblib/libsybdb.la $(NETWORK_LIBS) + freebcp_SOURCES = freebcp.c freebcp.h + +-tsql_LDADD = ../tds/libtds.la \ ++tsql_LDADD = ../tds/libtds_objects.la \ + ../replacements/libreplacements.la \ + $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) $(READLINE_LIBS) + +diff -up freetds-0.82/src/ctlib/Makefile.am.foo freetds-0.82/src/ctlib/Makefile.am +--- freetds-0.82/src/ctlib/Makefile.am.foo 2008-06-16 23:25:23.000000000 +0200 ++++ freetds-0.82/src/ctlib/Makefile.am 2008-06-16 23:25:27.000000000 +0200 +@@ -18,5 +18,5 @@ SYMBOLS = -export-symbols-regex '^(cs_| + endif + libct_la_LDFLAGS= -version-info 4:0:0 $(SYMBOLS) $(FREETDS_SYMBOLIC) + +-libct_la_LIBADD = ../tds/libtds.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) ++libct_la_LIBADD = ../tds/libtds_objects.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) + +diff -up freetds-0.82/src/dblib/Makefile.am.foo freetds-0.82/src/dblib/Makefile.am +--- freetds-0.82/src/dblib/Makefile.am.foo 2008-06-16 23:25:40.000000000 +0200 ++++ freetds-0.82/src/dblib/Makefile.am 2008-06-16 23:25:49.000000000 +0200 +@@ -20,5 +20,5 @@ else + SYMBOLS = -export-symbols-regex '^(db|bcp_|tdsdump_open|tdsdbopen|.*_xact|close_commit|open_commit|.?asprintf).*' + endif + libsybdb_la_LDFLAGS= -version-info 5:0:0 $(SYMBOLS) $(FREETDS_SYMBOLIC) +-libsybdb_la_LIBADD= ../tds/libtds.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) ++libsybdb_la_LIBADD= ../tds/libtds_objects.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) + +diff -up freetds-0.82/src/odbc/Makefile.am.foo freetds-0.82/src/odbc/Makefile.am +--- freetds-0.82/src/odbc/Makefile.am.foo 2008-06-16 23:25:14.000000000 +0200 ++++ freetds-0.82/src/odbc/Makefile.am 2008-06-16 23:25:20.000000000 +0200 +@@ -13,14 +13,14 @@ libtdsodbc_la_SOURCES= odbc.c connectpar + descriptor.c prepare_query.c odbc_util.c \ + native.c sql2tds.c error.c odbc_checks.c $(MINGW_SOURCES) + if MINGW32 +-libtdsodbc_la_LIBADD= ../../win32/setup.res ../tds/libtds.la ../replacements/libreplacements.la $(ODBCINSTLIB) \ ++libtdsodbc_la_LIBADD= ../../win32/setup.res ../tds/libtds_objects.la ../replacements/libreplacements.la $(ODBCINSTLIB) \ + $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) + libtdsodbc_la_LDFLAGS = -Wl,--enable-stdcall-fixup -Wl,-s -Wl,../../win32/FreeTDS.def -Wl,../../win32/setup.res $(FREETDS_SYMBOLIC) + + .rc.res: + $(RC) -i $< --input-format=rc -o $@ -O coff + else +-libtdsodbc_la_LIBADD= ../tds/libtds.la ../replacements/libreplacements.la $(ODBCINSTLIB) $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) ++libtdsodbc_la_LIBADD= ../tds/libtds_objects.la ../replacements/libreplacements.la $(ODBCINSTLIB) $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) + if MACOSX + SYMBOLS = + else +diff -up freetds-0.82/src/server/Makefile.am.foo freetds-0.82/src/server/Makefile.am +--- freetds-0.82/src/server/Makefile.am.foo 2008-06-16 23:25:06.000000000 +0200 ++++ freetds-0.82/src/server/Makefile.am 2008-06-16 23:25:12.000000000 +0200 +@@ -2,7 +2,7 @@ + AM_CPPFLAGS = -I$(top_srcdir)/include + noinst_LTLIBRARIES = libtdssrv.la + libtdssrv_la_SOURCES= query.c server.c login.c +-libtdssrv_la_LIBADD = ../tds/libtds.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) ++libtdssrv_la_LIBADD = ../tds/libtds_objects.la ../replacements/libreplacements.la $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) + noinst_PROGRAMS = tdssrv + tdssrv_LDADD = libtdssrv.la $(NETWORK_LIBS) + tdssrv_SOURCES = unittest.c +diff -up freetds-0.82/src/tds/Makefile.am.foo freetds-0.82/src/tds/Makefile.am +--- freetds-0.82/src/tds/Makefile.am.foo 2007-10-30 16:51:06.000000000 +0100 ++++ freetds-0.82/src/tds/Makefile.am 2008-06-16 23:23:50.000000000 +0200 +@@ -3,15 +3,25 @@ + SUBDIRS = unittests + AM_CPPFLAGS = -I$(top_srcdir)/include + +-noinst_LTLIBRARIES = libtds.la +-libtds_la_SOURCES= mem.c token.c util.c login.c read.c \ ++ ++noinst_LTLIBRARIES = libtds_objects.la ++libtds_objects_la_SOURCES = mem.c token.c util.c login.c read.c \ + write.c convert.c numeric.c config.c query.c iconv.c \ + locale.c challenge.c threadsafe.c vstrbuild.c md4.c md5.c \ + des.c tdsstring.c getmac.c data.c net.c \ + tds_checks.c tds_checks.h enum_cap.h log.c \ + gssapi.c +-libtds_la_LDFLAGS= +-libtds_la_LIBADD= ++libtds_objects_la_LDFLAGS= ++libtds_objects_la_LIBADD= ++ ++ ++lib_LTLIBRARIES = libtds.la ++libtds_la_SOURCES = ++libtds_la_LDFLAGS = -release @PACKAGE_VERSION@ \ ++ -export-symbols-regex '^(tds_|tdsdump_|tds5_|tds7_).*' ++libtds_la_LIBADD = libtds_objects.la ../replacements/libreplacements.la \ ++ $(NETWORK_LIBS) $(LIBICONV) $(FREETDS_LIBGCC) ++ + + noinst_HEADERS = tds_willconvert.h encodings.h num_limits.h + EXTRA_DIST = tds_willconvert.h encodings.h num_limits.h +diff -up freetds-0.82/src/tds/unittests/Makefile.am.foo freetds-0.82/src/tds/unittests/Makefile.am +--- freetds-0.82/src/tds/unittests/Makefile.am.foo 2008-06-16 23:24:34.000000000 +0200 ++++ freetds-0.82/src/tds/unittests/Makefile.am 2008-06-16 23:24:54.000000000 +0200 +@@ -35,5 +35,5 @@ AM_LDFLAGS = -no-fast-install + else + AM_LDFLAGS = -no-install + endif +-LIBS = ../libtds.la ../../replacements/libreplacements.la @NETWORK_LIBS@ ++LIBS = ../libtds_objects.la ../../replacements/libreplacements.la @NETWORK_LIBS@ + CLEANFILES = tdsdump.out +diff -up freetds-0.82/include/Makefile.am~ freetds-0.82/include/Makefile.am +--- freetds-0.82/include/Makefile.am~ 2008-06-16 23:35:45.000000000 +0200 ++++ freetds-0.82/include/Makefile.am 2008-06-16 23:38:41.000000000 +0200 +@@ -3,6 +3,7 @@ AUTOMAKE_OPTIONS = 1.5.3 + include_HEADERS = bkpublic.h cspublic.h cstypes.h ctpublic.h \ + sqldb.h sqlfront.h \ + sybdb.h sybfront.h \ ++ tds.h tdsver.h tdsconvert.h \ + syberror.h + + nodist_include_HEADERS = tds_sysdep_public.h +@@ -19,7 +20,6 @@ noinst_HEADERS = tds_configs.h \ + tdsthread.h \ + tdsbytes.h \ + replacements/readpassphrase.h \ +- tds.h tdsver.h tdsconvert.h \ + tdssrv.h + + DISTCLEANFILES = tds_sysdep_public.h freetds_sysconfdir.h diff --git a/libfreetds-0.82-tds_sysdep_public.h b/libfreetds-0.82-tds_sysdep_public.h new file mode 100644 index 0000000..02824c0 --- /dev/null +++ b/libfreetds-0.82-tds_sysdep_public.h @@ -0,0 +1,15 @@ +/* + * To avoid multiarch conflicts, we differentiate the 32/64 bit length + * specific header names. This file is a wrapper to include the proper + * arch-specific header at compile time. + */ + +#include + +#if __WORDSIZE == 32 +#include +#elif __WORDSIZE == 64 +#include +#else +#error "Unknown word size" +#endif diff --git a/libfreetds.spec b/libfreetds.spec new file mode 100644 index 0000000..8affeb2 --- /dev/null +++ b/libfreetds.spec @@ -0,0 +1,180 @@ +Name: libfreetds +Version: 0.92.405 +Release: 1mamba +Summary: A database communication library for Sybase and Microsoft SQL Server +Group: System/Libraries +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.freetds.org/ +Source0: ftp://ftp.freetds.org/pub/freetds/stable/freetds-%{version}.tar.gz +Source1: libfreetds-0.82-tds_sysdep_public.h +Patch0: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/cspublic.BLK_VERSION_150.patch +Patch1: freetds-0.82-shared-libtds.patch +Patch2: freetds-0.82-libtool.patch +License: GPL, LGPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libgcrypt-devel +BuildRequires: libgmp-devel +BuildRequires: libgnutls-devel +BuildRequires: libgpg-error-devel +BuildRequires: libltdl-devel +BuildRequires: libncurses-devel +BuildRequires: libnettle-devel +BuildRequires: libodbc-devel +BuildRequires: libreadline-devel +BuildRequires: libtasn1-devel +BuildRequires: libz-devel +BuildRequires: p11-kit-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +FreeTDS is a database communication library for Sybase and Microsoft SQL Server. +It includes an ODBC driver and the older DB-Library and CT-Library interfaces. +It works with tools such as DBD::Sybase and DBD::ODBC for Perl, and the Sybase and ODBC module + +%package devel +Group: Development/Libraries +Summary: Libraries and headers for %{name} +Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} + +%description devel +FreeTDS is a database communication library for Sybase and Microsoft SQL Server. +It includes an ODBC driver and the older DB-Library and CT-Library interfaces. +It works with tools such as DBD::Sybase and DBD::ODBC for Perl, and the Sybase and ODBC module + +This package contains libraries and header files need for development. + +%package doc +Group: Documentation +Summary: Development documentation for %{name} + +%description doc +FreeTDS is a database communication library for Sybase and Microsoft SQL Server. +It includes an ODBC driver and the older DB-Library and CT-Library interfaces. +It works with tools such as DBD::Sybase and DBD::ODBC for Perl, and the Sybase and ODBC module + +This package contains the development documentation for %{name}. + +%package static +Group: Development/Libraries +Summary: Static libraries for %{name} +Requires: %{name}-devel = %{?epoch:%epoch:}%{version}-%{release} + +%description static +FreeTDS is a database communication library for Sybase and Microsoft SQL Server. +It includes an ODBC driver and the older DB-Library and CT-Library interfaces. +It works with tools such as DBD::Sybase and DBD::ODBC for Perl, and the Sybase and ODBC module + +This package contains static libraries need for development. + +%prep + +%setup -q -n freetds-%{version} +#%patch0 -p0 +#%patch1 -p1 +%patch2 -p1 + +# fix perl path +sed -i '1 s,#!.*/perl,#!%{__perl},' samples/*.pl + +chmod -x samples/*.sh + +rm -f m4/lib-*.m4 + +autoreconf -f -i +%build +%configure\ + --disable-dependency-tracking \ + --disable-rpath \ + --with-tdsver="4.2" \ + --with-unixodbc="%{_prefix}" \ + --enable-msdblib \ + --enable-sybase-compat \ + --with-gnutls + +%make \ + LDFLAGS="-lgcrypt" + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +%ifarch x86_64 +mv -f %{buildroot}%{_includedir}/tds_sysdep_public.h \ + %{buildroot}%{_includedir}/tds_sysdep_public_64.h +mv -f samples/unixodbc.freetds.driver.template \ + samples/unixodbc.freetds.driver.template-64 +%else +mv -f %{buildroot}%{_includedir}/tds_sysdep_public.h \ + %{buildroot}%{_includedir}/tds_sysdep_public_32.h +mv -f samples/unixodbc.freetds.driver.template \ + samples/unixodbc.freetds.driver.template-32 +%endif +install -p -m 644 %{S:1} %{buildroot}%{_includedir}/tds_sysdep_public.h + +rm -f samples/Makefile* samples/*.in samples/README + +rm -rf %{buildroot}%{_docdir}/freetds-%{version}/ + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root) +%config(noreplace) %{_sysconfdir}/freetds.conf +%config(noreplace) %{_sysconfdir}/locales.conf +%config(noreplace) %{_sysconfdir}/pool.conf +%{_bindir}/bsqldb +%{_bindir}/bsqlodbc +%{_bindir}/datacopy +%{_bindir}/defncopy +%{_bindir}/fisql +%{_bindir}/freebcp +%{_bindir}/osql +%{_bindir}/tdspool +%{_bindir}/tsql +%{_libdir}/libct.so.* +%{_libdir}/libsybdb.so.* +%{_libdir}/libtdsodbc.so.* +%{_mandir}/man1/*.1.gz +%{_mandir}/man5/freetds.conf.5.gz +%doc AUTHORS COPYING* + +%files devel +%defattr(-,root,root) +%{_includedir}/*.h +%{_libdir}/libct.so +%{_libdir}/libsybdb.so +%{_libdir}/libtdsodbc.so +%doc samples +%doc BUGS ChangeLog NEWS README TODO + +%files static +%defattr(-,root,root) +%{_libdir}/libct.*a +%{_libdir}/libsybdb.*a +%{_libdir}/libtdsodbc.*a + +%files doc +%defattr(-,root,root) +%doc doc/doc/freetds-%{version}/reference +%doc doc/*.html doc/doc/freetds-%{version}/userguide doc/images + +%changelog +* Tue Mar 05 2013 Automatic Build System 0.92.405-1mamba +- automatic version update by autodist + +* Tue Mar 05 2013 Silvan Calarco 0.91-2mamba +- rebuilt + +* Sat Dec 01 2012 Automatic Build System 0.91-1mamba +- update to 0.91 + +* Mon May 11 2009 gil 0.82-1mamba +- package created by autospec