Package init

This commit is contained in:
dogsheng 2019-11-19 11:57:45 +08:00
commit b5b9fedcbd
5 changed files with 362 additions and 0 deletions

18
keep-typedefs.patch Normal file
View File

@ -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;

42
odbcinst.ini Normal file
View File

@ -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

206
so-version-bump.patch Normal file
View File

@ -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

BIN
unixODBC-2.3.7.tar.gz Normal file

Binary file not shown.

96
unixODBC.spec Normal file
View File

@ -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 <yanglijin@huawei.com> - 1.1.0-14
- Package init