commit b5b9fedcbd85abaf861645cbec2e7a08ebe723cf Author: dogsheng <960055655@qq.com> Date: Tue Nov 19 11:57:45 2019 +0800 Package init diff --git a/keep-typedefs.patch b/keep-typedefs.patch new file mode 100644 index 0000000..7f577f2 --- /dev/null +++ b/keep-typedefs.patch @@ -0,0 +1,18 @@ +Upstream has decided to deprecate these typedefs, but experience so far +says that removing them just breaks code to little purpose. + + +diff -Naur unixODBC-2.2.14.orig/include/sqltypes.h unixODBC-2.2.14/include/sqltypes.h +--- unixODBC-2.2.14.orig/include/sqltypes.h 2008-10-31 12:21:53.000000000 -0400 ++++ unixODBC-2.2.14/include/sqltypes.h 2009-02-16 13:28:50.000000000 -0500 +@@ -170,6 +170,10 @@ + typedef SQLUINTEGER SQLROWSETSIZE; + typedef SQLLEN SQLROWOFFSET; + */ ++typedef SQLULEN SQLROWCOUNT; ++typedef SQLULEN SQLROWSETSIZE; ++typedef SQLULEN SQLTRANSID; ++typedef SQLLEN SQLROWOFFSET; + #endif + #else + typedef long SQLINTEGER; diff --git a/odbcinst.ini b/odbcinst.ini new file mode 100644 index 0000000..a99515c --- /dev/null +++ b/odbcinst.ini @@ -0,0 +1,42 @@ +# Example driver definitions + +# Driver from the postgresql-odbc package +# Setup from the unixODBC package +[PostgreSQL] +Description = ODBC for PostgreSQL +Driver = /usr/lib/psqlodbcw.so +Setup = /usr/lib/libodbcpsqlS.so +Driver64 = /usr/lib64/psqlodbcw.so +Setup64 = /usr/lib64/libodbcpsqlS.so +FileUsage = 1 + + +# Driver from the mysql-connector-odbc package +# Setup from the unixODBC package +[MySQL] +Description = ODBC for MySQL +Driver = /usr/lib/libmyodbc5.so +Setup = /usr/lib/libodbcmyS.so +Driver64 = /usr/lib64/libmyodbc5.so +Setup64 = /usr/lib64/libodbcmyS.so +FileUsage = 1 + + +# Driver from the freetds-libs package +# Setup from the unixODBC package +[FreeTDS] +Description = Free Sybase & MS SQL Driver +Driver = /usr/lib/libtdsodbc.so +Setup = /usr/lib/libtdsS.so +Driver64 = /usr/lib64/libtdsodbc.so +Setup64 = /usr/lib64/libtdsS.so +Port = 1433 + + +# Driver from the mariadb-connector-odbc package +# Setup from the unixODBC package +[MariaDB] +Description = ODBC for MariaDB +Driver = /usr/lib/libmaodbc.so +Driver64 = /usr/lib64/libmaodbc.so +FileUsage = 1 diff --git a/so-version-bump.patch b/so-version-bump.patch new file mode 100644 index 0000000..faa6072 --- /dev/null +++ b/so-version-bump.patch @@ -0,0 +1,206 @@ +Set the major .so version to 2 for all unixODBC shared libraries, to reflect +the incompatible ABI changes in 2.2.14. + +diff -up unixODBC-2.3.3/Drivers/MiniSQL/Makefile.am.soname unixODBC-2.3.3/Drivers/MiniSQL/Makefile.am +--- unixODBC-2.3.3/Drivers/MiniSQL/Makefile.am.soname 2015-08-22 18:39:16.000000000 +0200 ++++ unixODBC-2.3.3/Drivers/MiniSQL/Makefile.am 2015-08-25 12:27:47.005775376 +0200 +@@ -193,6 +193,6 @@ EXTRA_DIST = \ + _sqlFreeEnv.c \ + _sqlFreeStmt.c + +-libodbcmini_la_LDFLAGS = -no-undefined -version-info 1:0:0 \ ++libodbcmini_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) \ + -L@msql_libraries@ -lmsql -module + +diff -up unixODBC-2.3.3/Drivers/nn/Makefile.am.soname unixODBC-2.3.3/Drivers/nn/Makefile.am +--- unixODBC-2.3.3/Drivers/nn/Makefile.am.soname 2014-05-05 10:27:13.000000000 +0200 ++++ unixODBC-2.3.3/Drivers/nn/Makefile.am 2015-08-25 12:27:47.007775386 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libnn.la + + AM_CPPFLAGS = -I@top_srcdir@/include -I. + +-libnn_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libnn_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + EXTRA_DIST = \ + nnconfig.h \ +diff -up unixODBC-2.3.3/Drivers/Postgre7.1/Makefile.am.soname unixODBC-2.3.3/Drivers/Postgre7.1/Makefile.am +--- unixODBC-2.3.3/Drivers/Postgre7.1/Makefile.am.soname 2014-05-05 10:27:13.000000000 +0200 ++++ unixODBC-2.3.3/Drivers/Postgre7.1/Makefile.am 2015-08-25 12:27:47.009775396 +0200 +@@ -3,7 +3,7 @@ lib_LTLIBRARIES = libodbcpsql.la + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + + libodbcpsql_la_LDFLAGS = \ +- -version-info 2:0:0 \ ++ -version-info $(LIB_VERSION) \ + -no-undefined \ + $(LIBSOCKET) $(LIBNSL) \ + -export-dynamic \ +diff -up unixODBC-2.3.3/Drivers/template/Makefile.am.soname unixODBC-2.3.3/Drivers/template/Makefile.am +--- unixODBC-2.3.3/Drivers/template/Makefile.am.soname 2014-05-05 10:27:13.000000000 +0200 ++++ unixODBC-2.3.3/Drivers/template/Makefile.am 2015-08-25 12:27:47.012775410 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libtemplate.la + + AM_CPPFLAGS = -I@top_srcdir@/include -I. $(LTDLINCL) + +-libtemplate_la_LDFLAGS = -no-undefined -version-info 1:0:0 ++libtemplate_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) + + EXTRA_DIST = \ + driver.h \ +diff -up unixODBC-2.3.3/DRVConfig/drvcfg1/Makefile.am.soname unixODBC-2.3.3/DRVConfig/drvcfg1/Makefile.am +--- unixODBC-2.3.3/DRVConfig/drvcfg1/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/drvcfg1/Makefile.am 2015-08-25 12:27:47.014775420 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcdrvcfg1S.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcdrvcfg1S_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcdrvcfg1S_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcdrvcfg1S_la_SOURCES = drvcfg1.c + +diff -up unixODBC-2.3.3/DRVConfig/drvcfg2/Makefile.am.soname unixODBC-2.3.3/DRVConfig/drvcfg2/Makefile.am +--- unixODBC-2.3.3/DRVConfig/drvcfg2/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/drvcfg2/Makefile.am 2015-08-25 12:27:47.016775430 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcdrvcfg2S.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcdrvcfg2S_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcdrvcfg2S_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcdrvcfg2S_la_SOURCES = drvcfg2.c + +diff -up unixODBC-2.3.3/DRVConfig/esoob/Makefile.am.soname unixODBC-2.3.3/DRVConfig/esoob/Makefile.am +--- unixODBC-2.3.3/DRVConfig/esoob/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/esoob/Makefile.am 2015-08-25 12:27:47.017775434 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libesoobS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libesoobS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libesoobS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libesoobS_la_SOURCES = esoobS.c + +diff -up unixODBC-2.3.3/DRVConfig/Mimer/Makefile.am.soname unixODBC-2.3.3/DRVConfig/Mimer/Makefile.am +--- unixODBC-2.3.3/DRVConfig/Mimer/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/Mimer/Makefile.am 2015-08-25 12:27:47.019775444 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libmimerS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libmimerS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libmimerS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libmimerS_la_SOURCES = mimerS.c + +diff -up unixODBC-2.3.3/DRVConfig/MiniSQL/Makefile.am.soname unixODBC-2.3.3/DRVConfig/MiniSQL/Makefile.am +--- unixODBC-2.3.3/DRVConfig/MiniSQL/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/MiniSQL/Makefile.am 2015-08-25 12:27:47.020775449 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcminiS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcminiS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcminiS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcminiS_la_SOURCES = odbcminiS.c + +diff -up unixODBC-2.3.3/DRVConfig/MySQL/Makefile.am.soname unixODBC-2.3.3/DRVConfig/MySQL/Makefile.am +--- unixODBC-2.3.3/DRVConfig/MySQL/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/MySQL/Makefile.am 2015-08-25 12:27:47.023775464 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcmyS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcmyS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcmyS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcmyS_la_SOURCES = odbcmyS.c + +diff -up unixODBC-2.3.3/DRVConfig/nn/Makefile.am.soname unixODBC-2.3.3/DRVConfig/nn/Makefile.am +--- unixODBC-2.3.3/DRVConfig/nn/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/nn/Makefile.am 2015-08-25 12:27:47.024775469 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcnnS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcnnS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcnnS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcnnS_la_SOURCES = drvcfg.c + +diff -up unixODBC-2.3.3/DRVConfig/oplodbc/Makefile.am.soname unixODBC-2.3.3/DRVConfig/oplodbc/Makefile.am +--- unixODBC-2.3.3/DRVConfig/oplodbc/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/oplodbc/Makefile.am 2015-08-25 12:27:47.026775478 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = liboplodbcS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-liboplodbcS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++liboplodbcS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + liboplodbcS_la_SOURCES = oplodbc.c + +diff -up unixODBC-2.3.3/DRVConfig/Oracle/Makefile.am.soname unixODBC-2.3.3/DRVConfig/Oracle/Makefile.am +--- unixODBC-2.3.3/DRVConfig/Oracle/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/Oracle/Makefile.am 2015-08-25 12:27:47.027775483 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = liboraodbcS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-liboraodbcS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++liboraodbcS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + liboraodbcS_la_SOURCES = oraodbcS.c + +diff -up unixODBC-2.3.3/DRVConfig/PostgreSQL/Makefile.am.soname unixODBC-2.3.3/DRVConfig/PostgreSQL/Makefile.am +--- unixODBC-2.3.3/DRVConfig/PostgreSQL/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/PostgreSQL/Makefile.am 2015-08-25 12:27:47.029775493 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbcpsqlS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbcpsqlS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbcpsqlS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbcpsqlS_la_SOURCES = odbcpsqlS.c + +diff -up unixODBC-2.3.3/DRVConfig/sapdb/Makefile.am.soname unixODBC-2.3.3/DRVConfig/sapdb/Makefile.am +--- unixODBC-2.3.3/DRVConfig/sapdb/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/sapdb/Makefile.am 2015-08-25 12:27:47.031775503 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libsapdbS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libsapdbS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libsapdbS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libsapdbS_la_SOURCES = sapdb.c + +diff -up unixODBC-2.3.3/DRVConfig/tds/Makefile.am.soname unixODBC-2.3.3/DRVConfig/tds/Makefile.am +--- unixODBC-2.3.3/DRVConfig/tds/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/tds/Makefile.am 2015-08-25 12:27:47.032775507 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libtdsS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libtdsS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libtdsS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libtdsS_la_SOURCES = tdsS.c + +diff -up unixODBC-2.3.3/DRVConfig/txt/Makefile.am.soname unixODBC-2.3.3/DRVConfig/txt/Makefile.am +--- unixODBC-2.3.3/DRVConfig/txt/Makefile.am.soname 2014-05-05 10:26:41.000000000 +0200 ++++ unixODBC-2.3.3/DRVConfig/txt/Makefile.am 2015-08-25 12:27:47.034775517 +0200 +@@ -2,7 +2,7 @@ lib_LTLIBRARIES = libodbctxtS.la + + AM_CPPFLAGS = -I@top_srcdir@/include $(LTDLINCL) + +-libodbctxtS_la_LDFLAGS = -no-undefined -version-info 1:0:0 -module ++libodbctxtS_la_LDFLAGS = -no-undefined -version-info $(LIB_VERSION) -module + + libodbctxtS_la_SOURCES = drvcfg.c + diff --git a/unixODBC-2.3.7.tar.gz b/unixODBC-2.3.7.tar.gz new file mode 100644 index 0000000..4799817 Binary files /dev/null and b/unixODBC-2.3.7.tar.gz differ diff --git a/unixODBC.spec b/unixODBC.spec new file mode 100644 index 0000000..4cedd9e --- /dev/null +++ b/unixODBC.spec @@ -0,0 +1,96 @@ +Name: unixODBC +Version: 2.3.7 +Release: 2 +Summary: Open-source project that implements the ODBC API +License: GPLv2+ and LGPLv2+ +URL: http://www.unixODBC.org/ +Source: http://www.unixODBC.org/%{name}-%{version}.tar.gz +Source1: odbcinst.ini +Patch0000: so-version-bump.patch +Patch0001: keep-typedefs.patch +Conflicts: iodbc +BuildRequires: automake autoconf libtool libtool-ltdl-devel bison flex +BuildRequires: readline-devel multilib-rpm-config + +%description +The unixODBC Project goals are to develop and promote unixODBC to be the +definitive standard for ODBC on non MS Windows platforms. This is to +include GUI support for both KDE and GNOME. + +%package devel +Summary: Development and header files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +Development and header files for %{name} + +%prep +%autosetup -p1 +autoreconf -vfi + +%build +CFLAGS="%{optflags} -fno-strict-aliasing" +CXXFLAGS="$CFLAGS" +export CFLAGS CXXFLAGS + +%configure --with-gnu-ld=yes --enable-threads=yes --enable-drivers=yes --enable-driverc=yes + +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +make all + +%install +%make_install +install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir} +%multilib_fix_c_header --file %{_includedir}/unixodbc_conf.h +rm -f $RPM_BUILD_ROOT%{_libdir}/libodbcpsql.so* +find doc -name 'Makefile*' | xargs rm + +%post +/sbin/ldconfig + +%postun +/sbin/ldconfig + +%files +%doc README COPYING AUTHORS ChangeLog NEWS doc +%config(noreplace) %{_sysconfdir}/odbc* +%{_bindir}/odbcinst +%{_bindir}/isql +%{_bindir}/dltest +%{_bindir}/iusql +%{_bindir}/odbc_config +%{_bindir}/slencheck +%{_libdir}/*.so.* +%{_libdir}/libodbc.so +%{_libdir}/libodbcinst.so +%{_libdir}/libodbcpsqlS.so +%{_libdir}/libodbcmyS.so +%{_libdir}/libtdsS.so +%{_mandir}/man*/* + +%files devel +%{_includedir}/* +%_libdir/pkgconfig/*.pc +%{_libdir}/libodbcdrvcfg2S.so +%{_libdir}/liboraodbcS.so +%{_libdir}/libodbcminiS.so +%{_libdir}/libodbccr.so +%{_libdir}/libmimerS.so +%{_libdir}/libodbcdrvcfg1S.so +%{_libdir}/libsapdbS.so +%{_libdir}/libesoobS.so +%{_libdir}/liboplodbcS.so +%{_libdir}/libodbcnnS.so +%{_libdir}/libtemplate.so +%{_libdir}/libnn.so +%{_libdir}/libodbctxtS.so +%exclude %{_libdir}/*.a +%exclude %{_libdir}/*.la +%exclude %{_libdir}/libltdl.* +%exclude %{_datadir}/libtool + +%changelog +* Tue Nov 5 2019 Lijin Yang - 1.1.0-14 +- Package init