diff --git a/debian/NEWS b/debian/NEWS new file mode 100644 index 0000000..d4ff4f8 --- /dev/null +++ b/debian/NEWS @@ -0,0 +1,17 @@ +unixodbc (2.2.14p2-3) unstable; urgency=low + + Multiarch directory added to search path + + In order to support installation of ODBC drivers for multiple + architectures at once and to enable architecture-neutral odbcinst.ini to + locate these drivers, libodbc now adds /usr/lib/$arch/odbc to its + internal search path. Drivers installed to this directory can be + referred to with a relative filename in odbcinst.ini, and libodbc will + automatically look in the correct library for this architecture. + + Drivers using such relative paths in their odbcinst.ini settings should + declare Breaks: unixodbc (<< 2.2.14p2-3), odbcinst1debian2 (<< + 2.2.14p2-3), libiodbc2. (This logic may be implemented in libiodbc2 at + a later date.) + + -- Steve Langasek Sat, 20 Aug 2011 14:57:15 -0700 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..02fd24a --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +unixodbc (2.3.6-ok1) yangtze; urgency=medium + + * Build for openKylin. + + -- openKylinBot Mon, 25 Apr 2022 22:03:04 +0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1750ff6 --- /dev/null +++ b/debian/control @@ -0,0 +1,85 @@ +Source: unixodbc +Build-Depends: debhelper (>= 11), dh-exec, libreadline-dev, libltdl-dev +Build-Conflicts: unixodbc-dev +Section: libs +Priority: optional +Maintainer: Steve Langasek +Standards-Version: 4.1.4 +Homepage: http://www.unixodbc.org/ + +Package: unixodbc +Architecture: any +Multi-Arch: foreign +Section: database +Depends: ${shlibs:Depends}, ${misc:Depends}, libodbc1 (>= 2.2.14p2-0) +Description: Basic ODBC tools + UnixODBC is an implementation of the Open Database Connectivity standard, + a database abstraction layer that allows applications to be used with + many different relational databases by way of a single library. + . + This package contains isql, a command-line tool that allows SQL commands + to be entered interactively. + +Package: libodbc1 +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends} +Pre-Depends: ${misc:Pre-Depends} +Suggests: libmyodbc, odbc-postgresql, tdsodbc, unixodbc-bin +Breaks: unixodbc (<< 2.2.14p2-0) +Replaces: unixodbc (<< 2.2.14p2-0) +Description: ODBC library for Unix + UnixODBC is an implementation of the Open DataBase Connectivity standard, + a database abstraction layer that allows applications to be used with + many different relational databases by way of a single library. + . + This package provides the UnixODBC shared library, libodbc; and + libodbctxt.so, a sample driver that reads from and writes to flat text + files. + +Package: unixodbc-dev +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: libodbc1 (= ${binary:Version}), + odbcinst1debian2 (= ${binary:Version}), + libltdl-dev, ${misc:Depends} +Conflicts: libiodbc2-dev +Description: ODBC libraries for UNIX (development files) + This package contains the development files (headers and libraries) for + unixODBC, an implementation of the Open DataBase Connectivity interface + for Unix systems. You should not need to install this package unless + you intend to develop C language applications which use ODBC, or to + compile ODBC-using applications from source. + +Package: odbcinst1debian2 +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, ${misc:Depends}, odbcinst +Pre-Depends: ${misc:Pre-Depends} +Replaces: unixodbc (<< 2.1.1-0) +Conflicts: odbcinst1, odbcinst1debian1 +Breaks: libmyodbc (<< 5.1.6-0), tdsodbc (<< 0.82-0), + odbc-postgresql (<< 1:09.00.0310-0) +Description: Support library for accessing odbc ini files + This package contains the libodbcinst library from unixODBC, a library + used by ODBC drivers for reading their configuration settings from + /etc/odbc.ini and ~/.odbc.ini. + . + Also contained in this package are the driver setup plugins, which + describe the features supported by individual ODBC drivers. + +Package: odbcinst +Architecture: any +Multi-Arch: foreign +Section: utils +Depends: ${shlibs:Depends}, ${misc:Depends} +Replaces: unixodbc (<< 2.1.1-0), odbcinst1debian1 (<< 2.2.11-0), odbcinst1 +Conflicts: odbcinst1 +Description: Helper program for accessing odbc ini files + UnixODBC is an implementation of the Open DataBase Connectivity standard, + a database abstraction layer that allows applications to be used with + many different relational databases by way of a single library. + . + This package contains the odbcinst helper tool, which allows ODBC driver + packages to install their own driver settings. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..cdf01f4 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,93 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: unixODBC +Upstream-Contact: unixodbc-dev@mailman.unixodbc.org +Source: http://www.unixodbc.org/ + +Files: * +Copyright: 1999-2018 Nick Gorham + 1999-2007 Peter Harvey , et al. +License: LGPL-2.1+ + +Files: Drivers/nn/* +Copyright: 1995, 1996 Ke Jin +License: GPL-2+ + +Files: Drivers/Postgre7.1/* +Copyright: 1998 Byron Nikolaidis +License: GPL-2+ + +Files: DRVConfig/esoob/esoobS.c +Copyright: 1999 Easysoft Ltd. +License: LGPL-2+ + +Files: DRVConfig/Mimer/mimerS.c +Copyright: 2004 Per Bengtsson +License: LGPL-2+ + +Files: DRVConfig/sapdb/sapdb.c +Copyright: 2001 Holger Schurig + 2005 Martin Kittel +License: LGPL-2+ + +Files: exe/* +Copyright: 1999-2005 Nick Gorham , + Peter Harvey , et al. +License: GPL-2+ + +Files: include/uodbc_extras.h +Copyright: 2005 Eric Sharkey +License: LGPL-2+ + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian GNU/Linux systems, the complete text of the GNU Lesser General + Public License can be found in `/usr/share/common-licenses/LGPL-2.1'. + +License: LGPL-2+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + . + On Debian GNU/Linux systems, the complete text of the GNU Lesser General + Public License can be found in `/usr/share/common-licenses/LGPL-2'. + +License: GPL-2+ + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + . + On Debian GNU/Linux systems, the complete text of the GNU General + Public License can be found in `/usr/share/common-licenses/GPL-2'. diff --git a/debian/libodbc1.install b/debian/libodbc1.install new file mode 100644 index 0000000..5d9b694 --- /dev/null +++ b/debian/libodbc1.install @@ -0,0 +1,3 @@ +usr/lib/*/libodbc.so.* +usr/lib/*/libodbccr.so.* +usr/lib/*/odbc/libnn.so diff --git a/debian/libodbc1.links b/debian/libodbc1.links new file mode 100755 index 0000000..805f2c7 --- /dev/null +++ b/debian/libodbc1.links @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec +usr/lib/${DEB_HOST_MULTIARCH}/libodbc.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libodbc.so.1 +usr/lib/${DEB_HOST_MULTIARCH}/libodbccr.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libodbccr.so.1 diff --git a/debian/libodbc1.lintian-overrides b/debian/libodbc1.lintian-overrides new file mode 100644 index 0000000..c2a5432 --- /dev/null +++ b/debian/libodbc1.lintian-overrides @@ -0,0 +1 @@ +libodbc1: package-name-doesnt-match-sonames libodbc2 libodbccr2 diff --git a/debian/libodbc1.symbols b/debian/libodbc1.symbols new file mode 100644 index 0000000..ede9318 --- /dev/null +++ b/debian/libodbc1.symbols @@ -0,0 +1,164 @@ +libodbc.so.2 libodbc1 #MINVER# + ODBCGetTryWaitValue@Base 2.3.1 + ODBCSetTryWaitValue@Base 2.3.1 + ODBCSharedTraceFlag@Base 2.3.1 + SQLAllocConnect@Base 2.3.1 + SQLAllocEnv@Base 2.3.1 + SQLAllocHandle@Base 2.3.1 + SQLAllocHandleStd@Base 2.3.1 + SQLAllocStmt@Base 2.3.1 + SQLBindCol@Base 2.3.1 + SQLBindParam@Base 2.3.1 + SQLBindParameter@Base 2.3.1 + SQLBrowseConnect@Base 2.3.1 + SQLBrowseConnectA@Base 2.3.1 + SQLBrowseConnectW@Base 2.3.1 + SQLBulkOperations@Base 2.3.1 + SQLCancel@Base 2.3.1 + SQLCloseCursor@Base 2.3.1 + SQLColAttribute@Base 2.3.1 + SQLColAttributeA@Base 2.3.1 + SQLColAttributeW@Base 2.3.1 + SQLColAttributes@Base 2.3.1 + SQLColAttributesA@Base 2.3.1 + SQLColAttributesW@Base 2.3.1 + SQLColumnPrivileges@Base 2.3.1 + SQLColumnPrivilegesA@Base 2.3.1 + SQLColumnPrivilegesW@Base 2.3.1 + SQLColumns@Base 2.3.1 + SQLColumnsA@Base 2.3.1 + SQLColumnsW@Base 2.3.1 + SQLConnect@Base 2.3.1 + SQLConnectA@Base 2.3.1 + SQLConnectW@Base 2.3.1 + SQLCopyDesc@Base 2.3.1 + SQLDataSources@Base 2.3.1 + SQLDataSourcesA@Base 2.3.1 + SQLDataSourcesW@Base 2.3.1 + SQLDescribeCol@Base 2.3.1 + SQLDescribeColA@Base 2.3.1 + SQLDescribeColW@Base 2.3.1 + SQLDescribeParam@Base 2.3.1 + SQLDisconnect@Base 2.3.1 + SQLDriverConnect@Base 2.3.1 + SQLDriverConnectA@Base 2.3.1 + SQLDriverConnectW@Base 2.3.1 + SQLDrivers@Base 2.3.1 + SQLDriversA@Base 2.3.1 + SQLDriversW@Base 2.3.1 + SQLEndTran@Base 2.3.1 + SQLError@Base 2.3.1 + SQLErrorA@Base 2.3.1 + SQLErrorW@Base 2.3.1 + SQLExecDirect@Base 2.3.1 + SQLExecDirectA@Base 2.3.1 + SQLExecDirectW@Base 2.3.1 + SQLExecute@Base 2.3.1 + SQLExtendedFetch@Base 2.3.1 + SQLFetch@Base 2.3.1 + SQLFetchScroll@Base 2.3.1 + SQLForeignKeys@Base 2.3.1 + SQLForeignKeysA@Base 2.3.1 + SQLForeignKeysW@Base 2.3.1 + SQLFreeConnect@Base 2.3.1 + SQLFreeEnv@Base 2.3.1 + SQLFreeHandle@Base 2.3.1 + SQLFreeStmt@Base 2.3.1 + SQLGetConnectAttr@Base 2.3.1 + SQLGetConnectAttrA@Base 2.3.1 + SQLGetConnectAttrW@Base 2.3.1 + SQLGetConnectOption@Base 2.3.1 + SQLGetConnectOptionA@Base 2.3.1 + SQLGetConnectOptionW@Base 2.3.1 + SQLGetCursorName@Base 2.3.1 + SQLGetCursorNameA@Base 2.3.1 + SQLGetCursorNameW@Base 2.3.1 + SQLGetData@Base 2.3.1 + SQLGetDescField@Base 2.3.1 + SQLGetDescFieldA@Base 2.3.1 + SQLGetDescFieldW@Base 2.3.1 + SQLGetDescRec@Base 2.3.1 + SQLGetDescRecA@Base 2.3.1 + SQLGetDescRecW@Base 2.3.1 + SQLGetDiagField@Base 2.3.1 + SQLGetDiagFieldA@Base 2.3.1 + SQLGetDiagFieldW@Base 2.3.1 + SQLGetDiagRec@Base 2.3.1 + SQLGetDiagRecA@Base 2.3.1 + SQLGetDiagRecW@Base 2.3.1 + SQLGetEnvAttr@Base 2.3.1 + SQLGetFunctions@Base 2.3.1 + SQLGetInfo@Base 2.3.1 + SQLGetInfoA@Base 2.3.1 + SQLGetInfoW@Base 2.3.1 + SQLGetStmtAttr@Base 2.3.1 + SQLGetStmtAttrA@Base 2.3.1 + SQLGetStmtAttrW@Base 2.3.1 + SQLGetStmtOption@Base 2.3.1 + SQLGetTypeInfo@Base 2.3.1 + SQLGetTypeInfoA@Base 2.3.1 + SQLGetTypeInfoW@Base 2.3.1 + SQLMoreResults@Base 2.3.1 + SQLNativeSql@Base 2.3.1 + SQLNativeSqlA@Base 2.3.1 + SQLNativeSqlW@Base 2.3.1 + SQLNumParams@Base 2.3.1 + SQLNumResultCols@Base 2.3.1 + SQLParamData@Base 2.3.1 + SQLParamOptions@Base 2.3.1 + SQLPrepare@Base 2.3.1 + SQLPrepareA@Base 2.3.1 + SQLPrepareW@Base 2.3.1 + SQLPrimaryKeys@Base 2.3.1 + SQLPrimaryKeysA@Base 2.3.1 + SQLPrimaryKeysW@Base 2.3.1 + SQLProcedureColumns@Base 2.3.1 + SQLProcedureColumnsA@Base 2.3.1 + SQLProcedureColumnsW@Base 2.3.1 + SQLProcedures@Base 2.3.1 + SQLProceduresA@Base 2.3.1 + SQLProceduresW@Base 2.3.1 + SQLPutData@Base 2.3.1 + SQLRowCount@Base 2.3.1 + SQLSetConnectAttr@Base 2.3.1 + SQLSetConnectAttrA@Base 2.3.1 + SQLSetConnectAttrW@Base 2.3.1 + SQLSetConnectOption@Base 2.3.1 + SQLSetConnectOptionA@Base 2.3.1 + SQLSetConnectOptionW@Base 2.3.1 + SQLSetCursorName@Base 2.3.1 + SQLSetCursorNameA@Base 2.3.1 + SQLSetCursorNameW@Base 2.3.1 + SQLSetDescField@Base 2.3.1 + SQLSetDescFieldA@Base 2.3.1 + SQLSetDescFieldW@Base 2.3.1 + SQLSetDescRec@Base 2.3.1 + SQLSetEnvAttr@Base 2.3.1 + SQLSetParam@Base 2.3.1 + SQLSetPos@Base 2.3.1 + SQLSetScrollOptions@Base 2.3.1 + SQLSetStmtAttr@Base 2.3.1 + SQLSetStmtAttrA@Base 2.3.1 + SQLSetStmtAttrW@Base 2.3.1 + SQLSetStmtOption@Base 2.3.1 + SQLSetStmtOptionA@Base 2.3.1 + SQLSetStmtOptionW@Base 2.3.1 + SQLSpecialColumns@Base 2.3.1 + SQLSpecialColumnsA@Base 2.3.1 + SQLSpecialColumnsW@Base 2.3.1 + SQLStatistics@Base 2.3.1 + SQLStatisticsA@Base 2.3.1 + SQLStatisticsW@Base 2.3.1 + SQLTablePrivileges@Base 2.3.1 + SQLTablePrivilegesA@Base 2.3.1 + SQLTablePrivilegesW@Base 2.3.1 + SQLTables@Base 2.3.1 + SQLTablesA@Base 2.3.1 + SQLTablesW@Base 2.3.1 + SQLTransact@Base 2.3.1 + uodbc_close_stats@Base 2.3.1 + uodbc_get_stats@Base 2.3.1 + uodbc_open_stats@Base 2.3.1 + uodbc_stats_error@Base 2.3.1 +libodbccr.so.2 libodbc1 #MINVER# + CLConnect@Base 2.3.1 diff --git a/debian/odbcinst.install b/debian/odbcinst.install new file mode 100644 index 0000000..87311bd --- /dev/null +++ b/debian/odbcinst.install @@ -0,0 +1,2 @@ +usr/bin/odbcinst usr/bin +etc/odbc.ini etc diff --git a/debian/odbcinst.manpages b/debian/odbcinst.manpages new file mode 100644 index 0000000..5e7e38b --- /dev/null +++ b/debian/odbcinst.manpages @@ -0,0 +1,3 @@ +usr/share/man/man1/odbcinst.1 +usr/share/man/man5/odbcinst.ini.5 +usr/share/man/man5/odbc.ini.5 diff --git a/debian/odbcinst.postrm b/debian/odbcinst.postrm new file mode 100644 index 0000000..d9fa3f1 --- /dev/null +++ b/debian/odbcinst.postrm @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +if [ "$1" = purge ]; then + rm -f /etc/odbcinst.ini +fi + +#DEBHELPER# diff --git a/debian/odbcinst1debian2.dirs b/debian/odbcinst1debian2.dirs new file mode 100644 index 0000000..ed8a168 --- /dev/null +++ b/debian/odbcinst1debian2.dirs @@ -0,0 +1 @@ +etc/ODBCDataSources diff --git a/debian/odbcinst1debian2.install b/debian/odbcinst1debian2.install new file mode 100644 index 0000000..bea698a --- /dev/null +++ b/debian/odbcinst1debian2.install @@ -0,0 +1,2 @@ +usr/lib/*/libodbcinst.so.* +usr/lib/*/odbc/*S.so diff --git a/debian/odbcinst1debian2.links b/debian/odbcinst1debian2.links new file mode 100755 index 0000000..00028ff --- /dev/null +++ b/debian/odbcinst1debian2.links @@ -0,0 +1,2 @@ +#!/usr/bin/dh-exec +usr/lib/${DEB_HOST_MULTIARCH}/libodbcinst.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libodbcinst.so.1 diff --git a/debian/odbcinst1debian2.lintian-overrides b/debian/odbcinst1debian2.lintian-overrides new file mode 100644 index 0000000..9edebb7 --- /dev/null +++ b/debian/odbcinst1debian2.lintian-overrides @@ -0,0 +1 @@ +odbcinst1debian2: package-name-doesnt-match-sonames libodbcinst2 diff --git a/debian/odbcinst1debian2.symbols b/debian/odbcinst1debian2.symbols new file mode 100644 index 0000000..c1670a2 --- /dev/null +++ b/debian/odbcinst1debian2.symbols @@ -0,0 +1,85 @@ +libodbcinst.so.2 odbcinst1debian2 #MINVER# + ODBCINSTAddProperty@Base 2.3.1 + ODBCINSTConstructProperties@Base 2.3.1 + ODBCINSTDestructProperties@Base 2.3.1 + ODBCINSTSetProperty@Base 2.3.1 + ODBCINSTValidateProperties@Base 2.3.1 + ODBCINSTValidateProperty@Base 2.3.1 + SQLConfigDataSource@Base 2.3.1 + SQLConfigDataSourceW@Base 2.3.1 + SQLConfigDriver@Base 2.3.1 + SQLConfigDriverW@Base 2.3.1 + SQLCreateDataSource@Base 2.3.1 + SQLCreateDataSourceW@Base 2.3.1 + SQLGetAvailableDrivers@Base 2.3.1 + SQLGetAvailableDriversW@Base 2.3.1 + SQLGetConfigMode@Base 2.3.1 + SQLGetInstalledDrivers@Base 2.3.1 + SQLGetInstalledDriversW@Base 2.3.1 + SQLGetPrivateProfileString@Base 2.3.1 + SQLGetPrivateProfileStringW@Base 2.3.1 + SQLGetTranslator@Base 2.3.1 + SQLGetTranslatorW@Base 2.3.1 + SQLInstallDriver@Base 2.3.1 + SQLInstallDriverEx@Base 2.3.1 + SQLInstallDriverExW@Base 2.3.1 + SQLInstallDriverManager@Base 2.3.1 + SQLInstallDriverManagerW@Base 2.3.1 + SQLInstallDriverW@Base 2.3.1 + SQLInstallODBC@Base 2.3.1 + SQLInstallODBCW@Base 2.3.1 + SQLInstallTranslator@Base 2.3.1 + SQLInstallTranslatorEx@Base 2.3.1 + SQLInstallTranslatorExW@Base 2.3.1 + SQLInstallTranslatorW@Base 2.3.1 + SQLInstallerError@Base 2.3.1 + SQLInstallerErrorW@Base 2.3.1 + SQLManageDataSources@Base 2.3.1 + SQLPostInstallerError@Base 2.3.1 + SQLPostInstallerErrorW@Base 2.3.1 + SQLReadFileDSN@Base 2.3.1 + SQLReadFileDSNW@Base 2.3.1 + SQLRemoveDSNFromIni@Base 2.3.1 + SQLRemoveDSNFromIniW@Base 2.3.1 + SQLRemoveDefaultDataSource@Base 2.3.1 + SQLRemoveDriver@Base 2.3.1 + SQLRemoveDriverManager@Base 2.3.1 + SQLRemoveDriverW@Base 2.3.1 + SQLRemoveTranslator@Base 2.3.1 + SQLRemoveTranslatorW@Base 2.3.1 + SQLSetConfigMode@Base 2.3.1 + SQLValidDSN@Base 2.3.1 + SQLValidDSNW@Base 2.3.1 + SQLWriteDSNToIni@Base 2.3.1 + SQLWriteDSNToIniW@Base 2.3.1 + SQLWriteFileDSN@Base 2.3.1 + SQLWriteFileDSNW@Base 2.3.1 + SQLWritePrivateProfileString@Base 2.3.1 + SQLWritePrivateProfileStringW@Base 2.3.1 + _SQLDriverConnectPrompt@Base 2.3.1 + _odbcinst_FileINI@Base 2.3.1 + _odbcinst_SystemINI@Base 2.3.1 + _odbcinst_UserINI@Base 2.3.1 + iniClose@Base 2.3.1 + iniCommit@Base 2.3.1 + iniElement@Base 2.3.1 + iniObject@Base 2.3.1 + iniObjectDelete@Base 2.3.1 + iniObjectEOL@Base 2.3.1 + iniObjectFirst@Base 2.3.1 + iniObjectNext@Base 2.3.1 + iniObjectSeek@Base 2.3.1 + iniObjectSeekSure@Base 2.3.1 + iniOpen@Base 2.3.1 + iniProperty@Base 2.3.1 + iniPropertyEOL@Base 2.3.1 + iniPropertyFirst@Base 2.3.1 + iniPropertyInsert@Base 2.3.1 + iniPropertyNext@Base 2.3.1 + iniToUpper@Base 2.3.1 + iniValue@Base 2.3.1 + inst_logPushMsg@Base 2.3.1 + odbcinst_system_file_name@Base 2.3.1 + odbcinst_system_file_path@Base 2.3.1 + odbcinst_user_file_name@Base 2.3.1 + odbcinst_user_file_path@Base 2.3.1 diff --git a/debian/odbcinst_txt.ini b/debian/odbcinst_txt.ini new file mode 100644 index 0000000..385dfbe --- /dev/null +++ b/debian/odbcinst_txt.ini @@ -0,0 +1,7 @@ +[TXT] +Description = Sample ODBC driver for a text file backend +Driver = /usr/lib/odbc/libodbctxt.so +Setup = /usr/lib/odbc/libodbctxtS.so +CPTimeout = +CPReuse = + diff --git a/debian/patches/apple-altivec-defined.patch b/debian/patches/apple-altivec-defined.patch new file mode 100644 index 0000000..ea61828 --- /dev/null +++ b/debian/patches/apple-altivec-defined.patch @@ -0,0 +1,19 @@ +Description: Check whether the Apple Altivec instruction set is defined, if + `bool' is also defined. +Author: Steve Langasek +Last-Update: 2018-04-09 +Forwarded: yes +Origin: commit:5d3999900bc2a80e2807c9f2111cec6b57970a56 + +--- unixodbc-2.3.6.orig/Drivers/Postgre7.1/md5.h ++++ unixodbc-2.3.6/Drivers/Postgre7.1/md5.h +@@ -21,7 +21,7 @@ + + #ifndef __cplusplus + +-#ifndef bool ++#if !defined(bool) || defined(__APPLE_ALTIVEC__) + typedef char bool; + #endif + + diff --git a/debian/patches/drvcfg-spelling.patch b/debian/patches/drvcfg-spelling.patch new file mode 100644 index 0000000..b28f4cf --- /dev/null +++ b/debian/patches/drvcfg-spelling.patch @@ -0,0 +1,33 @@ +Description: Fix some spelling errors in drvcfg.c. +Author: Hugh McMaster +Last-Update: 2018-05-09 +Forwarded: yes +Origin: commit:0087b7ca16fa89826d239d7c4bcd11b0f73ee8b8 + +--- a/DRVConfig/txt/drvcfg.c ++++ b/DRVConfig/txt/drvcfg.c +@@ -19,7 +19,7 @@ + /********************************************** + * STATIC LOOKUP VALUES + **********************************************/ +-static const char *aColumnSeperators[] = ++static const char *aColumnSeparators[] = + { + "|", + ",", +@@ -73,11 +73,11 @@ int ODBCINSTGetProperties( HODBCINSTPROP + hLastProperty->pNext = (HODBCINSTPROPERTY)calloc( 1, sizeof(ODBCINSTPROPERTY) ); + hLastProperty = hLastProperty->pNext; + hLastProperty->nPromptType = ODBCINST_PROMPTTYPE_COMBOBOX; +- hLastProperty->aPromptData = malloc( sizeof( aColumnSeperators ) ); +- memcpy( hLastProperty->aPromptData, aColumnSeperators, sizeof( aColumnSeperators ) ); +- strncpy( hLastProperty->szName, "ColumnSeperator", INI_MAX_PROPERTY_NAME ); ++ hLastProperty->aPromptData = malloc( sizeof( aColumnSeparators ) ); ++ memcpy( hLastProperty->aPromptData, aColumnSeparators, sizeof( aColumnSeparators ) ); ++ strncpy( hLastProperty->szName, "ColumnSeparator", INI_MAX_PROPERTY_NAME ); + strncpy( hLastProperty->szValue, "|", INI_MAX_PROPERTY_VALUE ); +- hLastProperty->pszHelp = strdup( "Column seperator character used in table files.\nCAN NOT EXIST IN COLUMN VALUES." ); ++ hLastProperty->pszHelp = strdup( "Column separator character used in table files.\nCANNOT EXIST IN COLUMN VALUES." ); + + return 1; + } diff --git a/debian/patches/export-odbcinst-functions.patch b/debian/patches/export-odbcinst-functions.patch new file mode 100644 index 0000000..95f98bb --- /dev/null +++ b/debian/patches/export-odbcinst-functions.patch @@ -0,0 +1,29 @@ +Description: Export additional odbcinst functions. +Author: Steve Langasek +Last-Update: 2018-04-09 +Forwarded: no + +--- unixodbc-2.3.6.orig/odbcinst/odbcinst.exp ++++ unixodbc-2.3.6/odbcinst/odbcinst.exp +@@ -64,3 +64,21 @@ _odbcinst_UserINI + _odbcinst_FileINI + _SQLDriverConnectPrompt + inst_logPushMsg ++iniClose ++iniCommit ++iniElement ++iniObject ++iniObjectDelete ++iniObjectEOL ++iniObjectFirst ++iniObjectNext ++iniObjectSeek ++iniObjectSeekSure ++iniOpen ++iniProperty ++iniPropertyEOL ++iniPropertyFirst ++iniPropertyInsert ++iniPropertyNext ++iniToUpper ++iniValue diff --git a/debian/patches/fix-DriverManager-exports.patch b/debian/patches/fix-DriverManager-exports.patch new file mode 100644 index 0000000..b25ca13 --- /dev/null +++ b/debian/patches/fix-DriverManager-exports.patch @@ -0,0 +1,17 @@ +Description: Prevent some functions from being exported. +Author: Hugh McMaster +Last-Update: 2018-05-09 +Forwarded: yes +Origin: commit:5d3999900bc2a80e2807c9f2111cec6b57970a56 + +--- a/DriverManager/DriverManager.exp ++++ b/DriverManager/DriverManager.exp +@@ -153,8 +153,6 @@ SQLTablesW + SQLTablesA + SQLTransact + ODBCSharedTraceFlag +-dm_log_write +-__post_internal_error + uodbc_open_stats + uodbc_close_stats + uodbc_get_stats diff --git a/debian/patches/iniopen.patch b/debian/patches/iniopen.patch new file mode 100644 index 0000000..cc91ca6 --- /dev/null +++ b/debian/patches/iniopen.patch @@ -0,0 +1,20 @@ +Description: Do not create odbc.ini if it does not exist. +Author: Steve Langasek +Last-Update: 2018-04-09 +Forwarded: no + +--- unixodbc-2.3.6.orig/odbcinst/_SQLGetInstalledDrivers.c ++++ unixodbc-2.3.6/odbcinst/_SQLGetInstalledDrivers.c +@@ -55,9 +55,9 @@ int _SQLGetInstalledDrivers( LPCSTR + + /* PROCESS ODBC INI FILE */ + #ifdef __OS2__ +- if ( iniOpen( &hIni, szIniName, "#;", '[', ']', '=', 1, 1L ) != INI_SUCCESS ) ++ if ( iniOpen( &hIni, szIniName, "#;", '[', ']', '=', FALSE, 1L ) != INI_SUCCESS ) + #else +- if ( iniOpen( &hIni, szIniName, "#;", '[', ']', '=', 1 ) != INI_SUCCESS ) ++ if ( iniOpen( &hIni, szIniName, "#;", '[', ']', '=', FALSE ) != INI_SUCCESS ) + #endif + { + inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_COMPONENT_NOT_FOUND, "" ); + diff --git a/debian/patches/makefile-am-destdir.patch b/debian/patches/makefile-am-destdir.patch new file mode 100644 index 0000000..97be829 --- /dev/null +++ b/debian/patches/makefile-am-destdir.patch @@ -0,0 +1,18 @@ +Description: Create the destination directory before adding empty files to it. +Author: Steve Langasek +Last-Update: 2018-04-09 +Forwarded: yes +Origin: commit:b29f17259d941f211215fd26f11691c06c775a4b, + commit:3b550a7a6c827e0f2b87badbd95f7d3f20574ba6 + +--- unixodbc-2.3.6.orig/Makefile.am ++++ unixodbc-2.3.6/Makefile.am +@@ -46,7 +46,7 @@ EXTRA_DIST = \ + Makefile.svn + + install-data-am: install-pkgconfigDATA ++ -mkdir -p $(DESTDIR)${sysconfdir}/ODBCDataSources + -touch $(DESTDIR)${sysconfdir}/odbcinst.ini + -touch $(DESTDIR)${sysconfdir}/odbc.ini +- -mkdir -p $(DESTDIR)${sysconfdir}/ODBCDataSources + cp unixodbc_conf.h $(DESTDIR)${includedir}/unixodbc_conf.h diff --git a/debian/patches/multiarch-libltdl.patch b/debian/patches/multiarch-libltdl.patch new file mode 100644 index 0000000..c5e54ec --- /dev/null +++ b/debian/patches/multiarch-libltdl.patch @@ -0,0 +1,91 @@ +Description: Replace the auto-generated libltdl library search path with a + multiarch-friendly search path. Also amend the shared library name. +Author: Steve Langasek +Last-Update: 2018-04-09 +Forwarded: no + +--- unixodbc-2.3.6.orig/DriverManager/SQLConnect.c ++++ unixodbc-2.3.6/DriverManager/SQLConnect.c +@@ -1116,6 +1116,7 @@ int __connect_part_one( DMHDBC connectio + mutex_lib_entry(); /* warning, this doesn't protect from other libs in the application */ + /* in their own threads calling dlinit(); */ + lt_dlinit(); ++ lt_dlsetsearchpath(MODULEDIR); + mutex_lib_exit(); + + /* +--- unixodbc-2.3.6.orig/configure.ac ++++ unixodbc-2.3.6/configure.ac +@@ -164,6 +164,10 @@ eval "SHLIBEXT=$shrext_cmds" + AC_MSG_RESULT($SHLIBEXT) + AC_SUBST(SHLIBEXT,$SHLIBEXT) + +++dnl export the libdir, so we can have a multiarch-friendly search path +++dnl for ODBC drivers. +++AC_DEFINE_UNQUOTED([MODULEDIR], ["`eval echo $libdir/odbc`"], [ODBC driver search path]) ++ + AC_DEFINE_UNQUOTED([SHLIBEXT], "$shrext_cmds", [Shared lib extension]) + AC_DEFINE_DIR([DEFLIB_PATH], [libdir], [Lib directory]) + AC_DEFINE_DIR([LIB_PREFIX], [libdir], [Lib directory]) +--- unixodbc-2.3.6.orig/odbcinst/ODBCINSTConstructProperties.c ++++ unixodbc-2.3.6/odbcinst/ODBCINSTConstructProperties.c +@@ -165,6 +165,7 @@ int ODBCINSTConstructProperties( char *p + */ + + lt_dlinit(); ++ lt_dlsetsearchpath(MODULEDIR); + + /* TRY GET FUNC FROM DRIVER SETUP */ + if ( !(hDLL = lt_dlopen( szDriverSetup )) ) +--- unixodbc-2.3.6.orig/odbcinst/SQLConfigDataSource.c ++++ unixodbc-2.3.6/odbcinst/SQLConfigDataSource.c +@@ -80,6 +80,7 @@ static BOOL SQLConfigDataSourceWide( HWN + */ + + lt_dlinit(); ++ lt_dlsetsearchpath(MODULEDIR); + + #ifdef PLATFORM64 + if ( iniPropertySeek( hIni, (char *)pszDriver, "Setup64", "" ) == INI_SUCCESS || +--- unixodbc-2.3.6.orig/odbcinst/SQLConfigDriver.c ++++ unixodbc-2.3.6/odbcinst/SQLConfigDriver.c +@@ -86,6 +86,7 @@ static BOOL SQLConfigDriverWide( HWND hW + */ + + lt_dlinit(); ++ lt_dlsetsearchpath(MODULEDIR); + + /* process request */ + switch ( nRequest ) +--- unixodbc-2.3.6.orig/odbcinst/SQLCreateDataSource.c ++++ unixodbc-2.3.6/odbcinst/SQLCreateDataSource.c +@@ -216,6 +216,7 @@ BOOL SQLCreateDataSource( HWND hWnd, LPC + inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_GENERAL_ERR, "lt_dlinit() failed" ); + return FALSE; + } ++ lt_dlsetsearchpath(MODULEDIR); + + /* get plugin name */ + _appendUIPluginExtension( szNameAndExtension, _getUIPluginName( szName, hODBCInstWnd->szUI ) ); +--- unixodbc-2.3.6.orig/odbcinst/SQLManageDataSources.c ++++ unixodbc-2.3.6/odbcinst/SQLManageDataSources.c +@@ -76,9 +76,9 @@ char *_getUIPluginName( char *pszName, c + char *_appendUIPluginExtension( char *pszNameAndExtension, char *pszName ) + { + if ( strlen( SHLIBEXT ) > 0 ) +- sprintf( pszNameAndExtension, "%s%s", pszName, SHLIBEXT ); ++ sprintf( pszNameAndExtension, "%s%s.1", pszName, SHLIBEXT ); + else +- sprintf( pszNameAndExtension, "%s.so", pszName ); ++ sprintf( pszNameAndExtension, "%s.so.1", pszName ); + + return pszName; + } +@@ -143,6 +143,7 @@ BOOL SQLManageDataSources( HWND hWnd ) + inst_logPushMsg( __FILE__, __FILE__, __LINE__, LOG_CRITICAL, ODBC_ERROR_GENERAL_ERR, "lt_dlinit() failed" ); + return FALSE; + } ++ lt_dlsetsearchpath(MODULEDIR); + + /* get plugin name */ + _appendUIPluginExtension( szNameAndExtension, _getUIPluginName( szName, hODBCInstWnd->szUI ) ); diff --git a/debian/patches/odbcinst.ini.5-spelling.patch b/debian/patches/odbcinst.ini.5-spelling.patch new file mode 100644 index 0000000..dccfad6 --- /dev/null +++ b/debian/patches/odbcinst.ini.5-spelling.patch @@ -0,0 +1,25 @@ +Description: Fix formatting and spelling in odbcinst.ini.5. +Author: Hugh McMaster +Last-Update: 2018-04-12 +Forwarded: yes +Origin: 161c7c9bcd36807b24bfc58f4a7e5dd1923d9a6e, + f2c283162ab77135fd99a8a5cf84110730dd069b, + 0087b7ca16fa89826d239d7c4bcd11b0f73ee8b8 + +--- unixodbc-2.3.6.orig/man/odbcinst.ini.5 ++++ unixodbc-2.3.6/man/odbcinst.ini.5 +@@ -68,13 +68,11 @@ as follows: + + .RS + .nf +-... + Driver = PostgreSQL +-... + .fi + .RE + +-The recommended way to add that driver is by creating template file containg: ++The recommended way to add that driver is by creating a template file containing: + + .RS + .nf diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..3f7d316 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,8 @@ +makefile-am-destdir.patch +multiarch-libltdl.patch +iniopen.patch +apple-altivec-defined.patch +export-odbcinst-functions.patch +drvcfg-spelling.patch +odbcinst.ini.5-spelling.patch +fix-DriverManager-exports.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..0b676b1 --- /dev/null +++ b/debian/rules @@ -0,0 +1,32 @@ +#!/usr/bin/make -f +# Copyright 2009 Steve Langasek + +# build should fail if anything at all is wrong with the library symbols +export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 +# always force the check for undefined symbols +export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- --enable-static --enable-ltdllib --without-pth \ + --enable-drivers --enable-driverc --enable-fastvalidate + +override_dh_auto_install: + dh_auto_install + mkdir -p $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/odbc + cp -L $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/lib*S.so $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libnn.so $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/odbc + mkdir -p $(CURDIR)/debian/tmp/usr/include/$(DEB_HOST_MULTIARCH) + mv $(CURDIR)/debian/tmp/usr/include/unixodbc_conf.h $(CURDIR)/debian/tmp/usr/include/$(DEB_HOST_MULTIARCH) + +override_dh_makeshlibs: + dh_makeshlibs -X lib/$(DEB_HOST_MULTIARCH)/odbc/lib + +override_dh_link: + chmod a+x debian/libodbc1.links debian/odbcinst1debian2.links + dh_link diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/unixodbc-dev.install b/debian/unixodbc-dev.install new file mode 100644 index 0000000..3e5b817 --- /dev/null +++ b/debian/unixodbc-dev.install @@ -0,0 +1,8 @@ +usr/lib/*/libodbc.so +usr/lib/*/libodbccr.so +usr/lib/*/libodbcinst.so +usr/lib/*/libodbc.a +usr/lib/*/libodbccr.a +usr/lib/*/libodbcinst.a +usr/lib/*/pkgconfig/* +usr/include/* diff --git a/debian/unixodbc.docs b/debian/unixodbc.docs new file mode 100644 index 0000000..6f83607 --- /dev/null +++ b/debian/unixodbc.docs @@ -0,0 +1,3 @@ +AUTHORS +NEWS +README diff --git a/debian/unixodbc.install b/debian/unixodbc.install new file mode 100644 index 0000000..7e1665b --- /dev/null +++ b/debian/unixodbc.install @@ -0,0 +1,2 @@ +usr/bin/isql +usr/bin/iusql diff --git a/debian/unixodbc.links b/debian/unixodbc.links new file mode 100644 index 0000000..1ac5d50 --- /dev/null +++ b/debian/unixodbc.links @@ -0,0 +1 @@ +usr/share/man/man1/isql.1 usr/share/man/man1/iusql.1 diff --git a/debian/unixodbc.manpages b/debian/unixodbc.manpages new file mode 100644 index 0000000..6171ce0 --- /dev/null +++ b/debian/unixodbc.manpages @@ -0,0 +1,2 @@ +usr/share/man/man1/isql.1 +usr/share/man/man7/unixODBC.7 diff --git a/debian/update-manifest.sh b/debian/update-manifest.sh new file mode 100644 index 0000000..73a7c15 --- /dev/null +++ b/debian/update-manifest.sh @@ -0,0 +1,19 @@ +#!/bin/sh +LC_COLLATE=C +export LC_COLLATE + +echo Updating library manifest... +for package in $@; do + manifest=debian/$package.manifest + # file format version number + echo " VERSION 2" > $manifest; \ + for i in $(find $(pwd)/debian/$package -type f \ + \( -name '*.so' -or -name '*.so.*' \)) + do + version=`dpkg-parsechangelog |awk '/Version:/ { print $2 }'` + objdump -p $i | sed -n -e"s/\( SONAME.*\)/\\1 $version/p" >> $manifest + objdump -T $i | grep -E ' [gw] .*\.text|__cxa_pure_virtual' \ + | grep -vE '\b((__gmon_start__|_ftext)\b|_(rest|save)[fg]pr)' \ + | cut -b34- | c++filt | sort >> $manifest + done +done diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..4518627 --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/unixodbc-$1\.tar\.gz/ \ + https://github.com/lurcher/unixodbc/tags .*/v?(\d\S+)\.tar\.gz