You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(11) |
Oct
(17) |
Nov
(62) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(25) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: David M. <ig...@us...> - 2006-01-17 11:50:27
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25709 Modified Files: myprov.h Log Message: If we want support for BLOBs, we need to be able to allocate enough memory We need just less than 400K per BLOB for a maximum (ACTIVE_ROWS_LIMIT) of 200 rows, so we need 80M Index: myprov.h =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myprov.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- myprov.h 9 Nov 2005 15:48:31 -0000 1.3 +++ myprov.h 17 Jan 2006 11:50:20 -0000 1.4 @@ -48,7 +48,7 @@ #endif #define MAX_HEAP_SIZE 128000 -#define MAX_TOTAL_ROWBUFF_SIZE (10*1024*1024) // Max for all row buffers. +#define MAX_TOTAL_ROWBUFF_SIZE (80*1024*1024) // Max for all row buffers. #define MAX_IBUFFER_SIZE 2000000 #define MAX_BIND_LEN (MAX_IBUFFER_SIZE/10) #define ACTIVE_ROWS_LIMIT 200 |
From: David M. <ig...@us...> - 2006-01-16 14:43:25
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11651 Modified Files: Changelog.txt Readme.txt Log Message: Updated Changelog.txt (a synopsis for SourceForge release of ChangeLog) Updated Readme.txt Index: Changelog.txt =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Changelog.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Changelog.txt 27 Sep 2005 11:53:00 -0000 1.1 +++ Changelog.txt 16 Jan 2006 14:43:12 -0000 1.2 @@ -1,3 +1,34 @@ +** For a more complete changelog, see ChangeLog in the source release + +MyOleDB 3.9.4 +============= +* Added handling for when the database connection goes down while using the +driver +* Fixed the problem whereby in the release build, the second time you run a +query, it would return no results +* Fixed strings thorugh ADO + +MyOleDB 3.9.3 +============= +* Added support for multiple parameter sets with a single execute + +MyOleDB 3.9.2 +============= +* Added multithreaded support + +MyOleDB 3.9.1 +============= +* Added support for an alternate port, either using a property ("Port") or +using the environment variable MYSQL_TCP_PORT +* Added support for DATETIME types + +MyOleDB 3.9.0 +============= + +* The core of MyOleDB has been refactored to use the MySQL libraries instead +of MyODBC +* This adds support for MySQL version 5.0 + MyOleDB 3.0.1 ============= Index: Readme.txt =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Readme.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Readme.txt 27 Sep 2005 11:53:00 -0000 1.2 +++ Readme.txt 16 Jan 2006 14:43:12 -0000 1.3 @@ -1,11 +1,11 @@ ------------------------------------------------- -OLE DB Provider for MySQL (MyOLEDB) Updated 2005/09/27 +OLE DB Provider for MySQL (MyOLEDB) Updated 2006/01/16 Read Me Notes ------------------------------------------------- ------------------------------------------------- -Copyright 2005, St. James Software (http://www.sjsoft.com) +Copyright 2006, St. James Software (http://www.sjsoft.com) Based on GPL release of Readme.txt by SWsoft Inc. (copyright 2000-2001) * SWSoft email address: ol...@sw.... --------------------------------------------- @@ -22,11 +22,14 @@ 1. General Information --------------------------------------------- -MySQL OLE DB Provider (MyOLEDB) v.3.0 is an OLE DB provider capable of +MySQL OLE DB Provider (MyOLEDB) v.3.9 is an OLE DB provider capable of supplying OLE DB consumer with base functional access to the data stored in MySQL database. In addition, provider supports schemas, commands and MySQL (http://www.mysql.com) databases enumerator object. +Although we view this release as more stable than the v3.0 series, the +fact that this is not v4.0 is meant to show that this is a beta release. + ----------------------------------------------- 2. System Requirements: ----------------------------------------------- @@ -66,6 +69,13 @@ You may mix first and second ways to pass connection data, but it is not recommended; In that case, you have to pass a parameter only once. +Step 2a. +If whatever you're using has issues setting a custom port number (e.g. some +ADO-driven programs), the driver also honours the MYSQL_TCP_PORT +environment variable. Setting this to your non-standard port means +you do not have to pass the port number in. This step is unnecessary +if you're using the standard port number of 3306. + Step 3. Now you can use OLEDB provider against this database. E.g. using Visual Basic ADO etc. |
From: David M. <ig...@us...> - 2006-01-16 12:36:35
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14209 Modified Files: Makefile myoledb-debug.wxs myoledb.wxs myprov.rc myver.h Log Message: Updated to version 3.9.4, with fixed repeated queries and fixed strings in ADO Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile 15 Nov 2005 12:27:29 -0000 1.12 +++ Makefile 16 Jan 2006 12:36:24 -0000 1.13 @@ -1,6 +1,6 @@ # Makefile to build myoledb installer -version=3.9.3 +version=3.9.4 distcvsroot=:pserver:ano...@cv...:/cvsroot/myoledb MAKEFLAGS= Index: myprov.rc =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myprov.rc,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- myprov.rc 9 Nov 2005 15:54:26 -0000 1.6 +++ myprov.rc 16 Jan 2006 12:36:24 -0000 1.7 @@ -32,8 +32,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,9,3,0 - PRODUCTVERSION 3,9,3,0 + FILEVERSION 3,9,4,0 + PRODUCTVERSION 3,9,4,0 FILEFLAGSMASK 0x3L #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,14 +51,14 @@ VALUE "Comments", "\0" VALUE "CompanyName", "Standard&Western Software\0" VALUE "FileDescription", "MyOLEDB Provider \0" - VALUE "FileVersion", "03.09.0300\0" + VALUE "FileVersion", "03.09.0400\\0" VALUE "InternalName", "MYSQLPROV\0" VALUE "LegalCopyright", "Copyright © SWsoft 1998-2000\0" VALUE "LegalTrademarks", "Windows(TM) is a trademark of Microsoft Corporation. Microsoft® is a registered trademark of Microsoft Corporation.\0" VALUE "OriginalFilename", "MYPROV.DLL\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "OLE DB Provider for MySQL\0" - VALUE "ProductVersion", "03.09.0300\0" + VALUE "ProductVersion", "03.09.0400\\0" VALUE "SpecialBuild", "\0" END END Index: myoledb-debug.wxs =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myoledb-debug.wxs,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- myoledb-debug.wxs 9 Nov 2005 15:54:26 -0000 1.4 +++ myoledb-debug.wxs 16 Jan 2006 12:36:24 -0000 1.5 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> - <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" Name="MyOleDB" Language="1033" Version="3.9.3.0" Manufacturer="St. James Software"> + <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" Name="MyOleDB" Language="1033" Version="3.9.4.0" Manufacturer="St. James Software"> <Package Id="????????-????-????-????-????????????" Description="MyOleDB Installer" Comments="An OleDB driver for MySQL (debug version)" Manufacturer="St. James Software" InstallerVersion="200" Compressed="yes"/> Index: myoledb.wxs =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myoledb.wxs,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- myoledb.wxs 9 Nov 2005 15:54:26 -0000 1.10 +++ myoledb.wxs 16 Jan 2006 12:36:24 -0000 1.11 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> - <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" UpgradeCode="09A01F85-AC55-41E4-80DE-293C35AF7796" Name="MyOleDB" Language="1033" Version="3.9.3.0" Manufacturer="St. James Software"> + <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" UpgradeCode="09A01F85-AC55-41E4-80DE-293C35AF7796" Name="MyOleDB" Language="1033" Version="3.9.4.0" Manufacturer="St. James Software"> <Package Id="????????-????-????-????-????????????" Description="MyOleDB Installer" Comments="An OleDB driver for MySQL" Manufacturer="St. James Software" InstallerVersion="200" Compressed="yes"/> Index: myver.h =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myver.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- myver.h 9 Nov 2005 15:54:26 -0000 1.5 +++ myver.h 16 Jan 2006 12:36:24 -0000 1.6 @@ -19,10 +19,10 @@ #ifndef _AXVER_H_ #define _AXVER_H_ -#define VER_FILEVERSION 03,09,0300 -#define VER_FILEVERSION_STR "03.09.0300\0" -#define VER_PRODUCTVERSION 03,09,0300 -#define VER_PRODUCTVERSION_STR "03.09.0300\0" +#define VER_FILEVERSION 03,09,0400 +#define VER_FILEVERSION_STR "03.09.0400\\0" +#define VER_PRODUCTVERSION 03,09,0400 +#define VER_PRODUCTVERSION_STR "03.09.0400\\0" #define VER_LFILEVERSION_STR L"03.90" #define VER_FILEFLAGSMASK (VS_FF_DEBUG | VS_FF_PRERELEASE) |
From: David M. <ig...@us...> - 2006-01-16 12:33:22
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13746 Modified Files: stlhelp.h Log Message: First step in providing compatibility/compilability with the gcc compiler Index: stlhelp.h =================================================================== RCS file: /cvsroot/myoledb/myoledb3/stlhelp.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- stlhelp.h 20 Sep 2005 14:44:37 -0000 1.1.1.1 +++ stlhelp.h 16 Jan 2006 12:33:14 -0000 1.2 @@ -18,8 +18,15 @@ #ifndef _STLHELP_H_ #define _STLHELP_H_ - +#ifndef _MSC_VER +#ifdef min +#undef min +#endif +#ifdef max +#undef max +#endif +#endif // _MSC_VER #include <bitset> using namespace std; -#endif \ No newline at end of file +#endif |
From: David M. <ig...@us...> - 2006-01-16 11:36:20
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2121 Modified Files: irowset.cpp Log Message: When converting a string to whatever's required, set the field length to the actual string length This solves the ADO string problem in MyOleDB Index: irowset.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/irowset.cpp,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- irowset.cpp 20 Sep 2005 14:44:34 -0000 1.1.1.1 +++ irowset.cpp 16 Jan 2006 11:35:54 -0000 1.2 @@ -118,7 +118,10 @@ dwSrcType = m_pObj->m_rgdbcolinfo[icol].wType; pSrc = &(pColumnData->bData); - ulSrcLength = pColumnData->dwLength; + if (dwSrcType == DBTYPE_STR) + ulSrcLength = min(strlen((char *)pSrc), pColumnData->dwLength); + else + ulSrcLength = pColumnData->dwLength; dwSrcStatus = pColumnData->dwStatus; ulDstMaxLength = pBinding[ibind].cbMaxLen; dwDstType = pBinding[ibind].wType; |
From: David M. <ig...@us...> - 2006-01-13 09:12:24
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3479 Modified Files: mysql.cpp Log Message: Remove a hack put in explicitly for MyODBC, which is not necessary (and, indeed, harmful) for the new method of doing things This fixes the known bug with repeat queries with the Release dll Index: mysql.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/mysql.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- mysql.cpp 12 Jan 2006 13:07:17 -0000 1.31 +++ mysql.cpp 13 Jan 2006 09:12:15 -0000 1.32 @@ -253,7 +253,7 @@ return E_FAIL; if( m_hrLastMoveInfo != S_OK ) return m_hrLastMoveInfo; - + m_dwCurrentRowInArray = lRow; if( Holder(this).Status(m_dwCurrentRowInArray) == SQL_ROW_NOROW ) @@ -499,10 +499,6 @@ if( ret == MYSQL_NO_DATA) { - // Correct a "feature" of MyODBC - for( DWORD i = 0; i < abs( nRows ); i++ ) - holder.Status( i + bSaveCurrentPosition ? 1 : 0 ) = SQL_ROW_NOROW; - m_hrLastMoveInfo = (bSaveCurrentPosition && m_hrLastMoveInfo==S_OK) ? S_OK : DB_S_ENDOFROWSET; // do not change saved S_OK! return DB_S_ENDOFROWSET; } |
From: David M. <ig...@us...> - 2006-01-12 13:07:25
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3258 Modified Files: mysql.cpp Log Message: Change iLen to a SQLINTEGER, as BLOBs have a size which causes overflow (this doesn't solve the BLOB problem) Index: mysql.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/mysql.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- mysql.cpp 24 Nov 2005 13:54:01 -0000 1.30 +++ mysql.cpp 12 Jan 2006 13:07:17 -0000 1.31 @@ -2036,7 +2036,7 @@ MYSQL_RES *result_metadata = mysql_stmt_result_metadata(m_hstmt); LEAVE_CRIT_SECT_SQL(); - SQLSMALLINT iLen; + SQLINTEGER iLen; DWORD dwOffset = 0; SQLUINTEGER uiPrecision; SQLINTEGER bUnsigned; |
From: David M. <ig...@us...> - 2006-01-12 12:53:30
|
Update of /cvsroot/myoledb/myoledb3/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30824 Modified Files: test_bugs.py Log Message: De-dos line endinginged the file (oops) Added a test for blob support (which at the moment dies because a VirtualMemoryAlloc fails) Index: test_bugs.py =================================================================== RCS file: /cvsroot/myoledb/myoledb3/test/test_bugs.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- test_bugs.py 12 Jan 2006 12:31:17 -0000 1.2 +++ test_bugs.py 12 Jan 2006 12:53:22 -0000 1.3 @@ -1,102 +1,116 @@ -#!/usr/bin/env python - -import os -import glob - -class BaseTestMySQL: - """Tests quering a mysql database""" - # userid = "jhistorian" - # datasource = "restartds" - userid = "mytest" - datasource = "mytest" - - def setup_method(self, method): - self.methodid = "%s_%s" % (self.__class__.__name__, method.__name__) - self.sqlfile = "%s.sql" % (self.methodid) - if os.path.exists(self.sqlfile): - os.remove(self.sqlfile) - for resultfile in self.getresultfiles(): - os.remove(resultfile) - self.teardownsql = None - - def teardown_method(self, method): - if self.teardownsql: - self.runsql(self.teardownsql) - if os.path.exists(self.sqlfile): - os.remove(self.sqlfile) - for resultfile in self.getresultfiles(): - os.remove(resultfile) - - def getresultfiles(self): - """lists available result files""" - return glob.glob("%s*.txt" % self.methodid) - - def execute(self, *args): - """executes a system command (shell)""" - quote = lambda arg: ' ' in arg and '"%s"' % arg or arg - args = [quote(arg) for arg in args] - cmd = " ".join(args) - print cmd - os.system(cmd) - - def runmultisql(self, statements): - """runs a list of sql statements and returns a list of result sets""" - return [self.runsql(statement) for statement in statements] - - def test_repeat_query(self): - """tests that running the same query twice produces the same number of rows""" - tablename = "test_repeat_query" - createsql = "create table %s(x char(20), y char(20));" % tablename - self.teardownsql = "drop table %s;" % tablename - self.runsql(createsql) - insertsql = "insert into %s(x, y) values('test', 'me');" % tablename - self.runmultisql([insertsql] * 5) - selectsql = "select * from %s;" % tablename - resultsets = self.runmultisql([selectsql] * 2) - assert len(resultsets) == 2 - resultlengths = [resultset.count("\n") for resultset in resultsets] - assert resultlengths[0] == resultlengths[1] == 5 - -class TestQTADO(BaseTestMySQL): - """tests running queries through qtado""" - qtadopath = "c:\\Tools\\QTADO40\\" - def qtado_runsql(self, sql): - """runs a sql command and returns a list of results""" - connectstring = "Provider=MySqlProv;User ID=%s;Data Source=%s" % (self.userid, self.datasource) - exe = os.path.join(self.qtadopath, "qtado.exe") - open(self.sqlfile, "w").write(sql) - self.execute(exe, "/C", connectstring, "-i", self.sqlfile, "-o", "%s.txt" % self.methodid) - - def runsql(self, sql): - """runs a sql statement and returns result if any""" - self.qtado_runsql(sql) - resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] - # Remove the column identifiers - resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] - if resultsets: - return resultsets[0] - - def runmultisql(self, statements): - """runs a list of sql statements and returns a list of result sets""" - self.qtado_runsql("\nGO\n".join(statements+[""])) - resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] - # Remove the column identifiers - resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] - return resultsets - -class TestCmdLine(BaseTestMySQL): - """tests running queries through qtado""" - def cmdline_runsql(self, sql): - """runs a sql command and returns a list of results""" - open(self.sqlfile, "w").write(sql) - self.execute("mysql", "-u", self.userid, self.datasource, "<", self.sqlfile, ">", "%s.txt" % self.methodid) - - def runsql(self, sql): - """runs a sql statement and returns result if any""" - self.cmdline_runsql(sql) - resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] - # Remove the column identifiers - resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] - if resultsets: - return resultsets[0] - +#!/usr/bin/env python + +import os +import glob + +class BaseTestMySQL: + """Tests quering a mysql database""" + # userid = "jhistorian" + # datasource = "restartds" + userid = "mytest" + datasource = "mytest" + + def setup_method(self, method): + self.methodid = "%s_%s" % (self.__class__.__name__, method.__name__) + self.sqlfile = "%s.sql" % (self.methodid) + if os.path.exists(self.sqlfile): + os.remove(self.sqlfile) + for resultfile in self.getresultfiles(): + os.remove(resultfile) + self.teardownsql = None + + def teardown_method(self, method): + if self.teardownsql: + self.runsql(self.teardownsql) + if os.path.exists(self.sqlfile): + os.remove(self.sqlfile) + for resultfile in self.getresultfiles(): + os.remove(resultfile) + + def getresultfiles(self): + """lists available result files""" + return glob.glob("%s*.txt" % self.methodid) + + def execute(self, *args): + """executes a system command (shell)""" + quote = lambda arg: ' ' in arg and '"%s"' % arg or arg + args = [quote(arg) for arg in args] + cmd = " ".join(args) + print cmd + os.system(cmd) + + def runmultisql(self, statements): + """runs a list of sql statements and returns a list of result sets""" + return [self.runsql(statement) for statement in statements] + + def test_repeat_query(self): + """tests that running the same query twice produces the same number of rows""" + tablename = "test_repeat_query" + createsql = "create table %s(x char(20), y char(20));" % tablename + self.teardownsql = "drop table %s;" % tablename + self.runsql(createsql) + insertsql = "insert into %s(x, y) values('test', 'me');" % tablename + self.runmultisql([insertsql] * 5) + selectsql = "select * from %s;" % tablename + resultsets = self.runmultisql([selectsql] * 2) + assert len(resultsets) == 2 + resultlengths = [resultset.count("\n") for resultset in resultsets] + assert resultlengths[0] == resultlengths[1] == 5 + + def test_blobs(self): + """Blobs are handled correctly""" + tablename = "test_blobs" + createsql = "create table %s(x text, y text);" % tablename + self.teardownsql = "drop table %s;" % tablename + self.runsql(createsql) + insertsql = "insert into %s(x, y) values('test', 'me');" % tablename + self.runmultisql([insertsql] * 5) + selectsql = "select * from %s;" % tablename + resultset = self.runsql(selectsql) + assert resultset != None + resultlength = resultset.count("\n") + assert resultlength == 5 + +class TestQTADO(BaseTestMySQL): + """tests running queries through qtado""" + qtadopath = "c:\\Tools\\QTADO40\\" + def qtado_runsql(self, sql): + """runs a sql command and returns a list of results""" + connectstring = "Provider=MySqlProv;User ID=%s;Data Source=%s" % (self.userid, self.datasource) + exe = os.path.join(self.qtadopath, "qtado.exe") + open(self.sqlfile, "w").write(sql) + self.execute(exe, "/C", connectstring, "-i", self.sqlfile, "-o", "%s.txt" % self.methodid) + + def runsql(self, sql): + """runs a sql statement and returns result if any""" + self.qtado_runsql(sql) + resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] + # Remove the column identifiers + resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] + if resultsets: + return resultsets[0] + + def runmultisql(self, statements): + """runs a list of sql statements and returns a list of result sets""" + self.qtado_runsql("\nGO\n".join(statements+[""])) + resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] + # Remove the column identifiers + resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] + return resultsets + +class TestCmdLine(BaseTestMySQL): + """tests running queries through qtado""" + def cmdline_runsql(self, sql): + """runs a sql command and returns a list of results""" + open(self.sqlfile, "w").write(sql) + self.execute("mysql", "-u", self.userid, self.datasource, "<", self.sqlfile, ">", "%s.txt" % self.methodid) + + def runsql(self, sql): + """runs a sql statement and returns result if any""" + self.cmdline_runsql(sql) + resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] + # Remove the column identifiers + resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] + if resultsets: + return resultsets[0] + |
From: David M. <ig...@us...> - 2006-01-12 12:31:27
|
Update of /cvsroot/myoledb/myoledb3/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26770 Modified Files: test_bugs.py Log Message: text fields are BLOBs, which our driver currently dies on (should create a disabled test for this). Nevertheless, this isn't what we were testing for here Enable QTADO test Make sure we remove the column headers in the QTADO-produced files Index: test_bugs.py =================================================================== RCS file: /cvsroot/myoledb/myoledb3/test/test_bugs.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- test_bugs.py 11 Jan 2006 13:13:43 -0000 1.1 +++ test_bugs.py 12 Jan 2006 12:31:17 -0000 1.2 @@ -46,20 +46,18 @@ def test_repeat_query(self): """tests that running the same query twice produces the same number of rows""" tablename = "test_repeat_query" - createsql = "create table %s(x text, y text);" % tablename + createsql = "create table %s(x char(20), y char(20));" % tablename self.teardownsql = "drop table %s;" % tablename self.runsql(createsql) insertsql = "insert into %s(x, y) values('test', 'me');" % tablename self.runmultisql([insertsql] * 5) selectsql = "select * from %s;" % tablename resultsets = self.runmultisql([selectsql] * 2) - print resultsets assert len(resultsets) == 2 resultlengths = [resultset.count("\n") for resultset in resultsets] - print resultlengths assert resultlengths[0] == resultlengths[1] == 5 -class XTestQTADO(BaseTestMySQL): +class TestQTADO(BaseTestMySQL): """tests running queries through qtado""" qtadopath = "c:\\Tools\\QTADO40\\" def qtado_runsql(self, sql): @@ -73,6 +71,8 @@ """runs a sql statement and returns result if any""" self.qtado_runsql(sql) resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] + # Remove the column identifiers + resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] if resultsets: return resultsets[0] @@ -80,6 +80,8 @@ """runs a list of sql statements and returns a list of result sets""" self.qtado_runsql("\nGO\n".join(statements+[""])) resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] + # Remove the column identifiers + resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] return resultsets class TestCmdLine(BaseTestMySQL): |
From: David M. <ig...@us...> - 2006-01-11 13:13:52
|
Update of /cvsroot/myoledb/myoledb3/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15101 Added Files: test_bugs.py Log Message: Added an initial unit test for MyOleDB This uses the py.test testing framework to test the MyOleDB driver This test requires QTADO 4.0 --- NEW FILE: test_bugs.py --- #!/usr/bin/env python import os import glob class BaseTestMySQL: """Tests quering a mysql database""" # userid = "jhistorian" # datasource = "restartds" userid = "mytest" datasource = "mytest" def setup_method(self, method): self.methodid = "%s_%s" % (self.__class__.__name__, method.__name__) self.sqlfile = "%s.sql" % (self.methodid) if os.path.exists(self.sqlfile): os.remove(self.sqlfile) for resultfile in self.getresultfiles(): os.remove(resultfile) self.teardownsql = None def teardown_method(self, method): if self.teardownsql: self.runsql(self.teardownsql) if os.path.exists(self.sqlfile): os.remove(self.sqlfile) for resultfile in self.getresultfiles(): os.remove(resultfile) def getresultfiles(self): """lists available result files""" return glob.glob("%s*.txt" % self.methodid) def execute(self, *args): """executes a system command (shell)""" quote = lambda arg: ' ' in arg and '"%s"' % arg or arg args = [quote(arg) for arg in args] cmd = " ".join(args) print cmd os.system(cmd) def runmultisql(self, statements): """runs a list of sql statements and returns a list of result sets""" return [self.runsql(statement) for statement in statements] def test_repeat_query(self): """tests that running the same query twice produces the same number of rows""" tablename = "test_repeat_query" createsql = "create table %s(x text, y text);" % tablename self.teardownsql = "drop table %s;" % tablename self.runsql(createsql) insertsql = "insert into %s(x, y) values('test', 'me');" % tablename self.runmultisql([insertsql] * 5) selectsql = "select * from %s;" % tablename resultsets = self.runmultisql([selectsql] * 2) print resultsets assert len(resultsets) == 2 resultlengths = [resultset.count("\n") for resultset in resultsets] print resultlengths assert resultlengths[0] == resultlengths[1] == 5 class XTestQTADO(BaseTestMySQL): """tests running queries through qtado""" qtadopath = "c:\\Tools\\QTADO40\\" def qtado_runsql(self, sql): """runs a sql command and returns a list of results""" connectstring = "Provider=MySqlProv;User ID=%s;Data Source=%s" % (self.userid, self.datasource) exe = os.path.join(self.qtadopath, "qtado.exe") open(self.sqlfile, "w").write(sql) self.execute(exe, "/C", connectstring, "-i", self.sqlfile, "-o", "%s.txt" % self.methodid) def runsql(self, sql): """runs a sql statement and returns result if any""" self.qtado_runsql(sql) resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] if resultsets: return resultsets[0] def runmultisql(self, statements): """runs a list of sql statements and returns a list of result sets""" self.qtado_runsql("\nGO\n".join(statements+[""])) resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] return resultsets class TestCmdLine(BaseTestMySQL): """tests running queries through qtado""" def cmdline_runsql(self, sql): """runs a sql command and returns a list of results""" open(self.sqlfile, "w").write(sql) self.execute("mysql", "-u", self.userid, self.datasource, "<", self.sqlfile, ">", "%s.txt" % self.methodid) def runsql(self, sql): """runs a sql statement and returns result if any""" self.cmdline_runsql(sql) resultsets = [open(resultfile, "r").read() for resultfile in self.getresultfiles()] # Remove the column identifiers resultsets = ['\n'.join(resultset.split('\n')[1:]) for resultset in resultsets] if resultsets: return resultsets[0] |
From: David M. <ig...@us...> - 2006-01-11 13:10:45
|
Update of /cvsroot/myoledb/myoledb3/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14000/test Log Message: Directory /cvsroot/myoledb/myoledb3/test added to the repository |
From: David F. <dav...@us...> - 2005-12-06 11:37:17
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25690 Modified Files: changeversion.py Log Message: allow changeversion to run without sed etc using sre Index: changeversion.py =================================================================== RCS file: /cvsroot/myoledb/myoledb3/changeversion.py,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- changeversion.py 9 Nov 2005 10:26:21 -0000 1.1 +++ changeversion.py 6 Dec 2005 11:37:08 -0000 1.2 @@ -1,8 +1,7 @@ #!/usr/bin/env python import sys -import re -import os +import sre if len(sys.argv) != 2: print "need to supply version as first argument" @@ -26,16 +25,26 @@ print versionparts4comma print win32version print win32commaversion +sys.stdout.flush() -def dosubst(search, replace, filenames): - os.system("sed -i 's/%s/%s/' %s" % (search, replace, filenames)) +def dosubst(searchtext, replacetext, filenames): + searchre = sre.compile(searchtext, sre.M) + if "\\1" in replacetext: + replacearg = lambda match: replacetext.replace("\\1", match.group(1)) + else: + replacearg = replacetext + sedescape = sre.compile(r'([\(\|\)])') + for filename in filenames.split(): + origtext = open(filename, "rb").read() + changedtext = searchre.sub(replacearg, origtext) + open(filename, "wb").write(changedtext) -dosubst(r'^\(version=\).*$', r'\1%s' % version, 'Makefile') -dosubst(r'\(\<Version=\)"[^"]*"', r'\1"%s"' % versionparts4dot, 'myoledb-debug.wxs myoledb.wxs') -dosubst(r'\(\(FILE\|PRODUCT\)VERSION\) .*$', r'\1 %s' % versionparts4comma, 'myprov.rc') -dosubst(r'\(VALUE "\(File\|Product\)Version",\) ".*"$', r'\1 "%s\\0"' % win32version, 'myprov.rc') -dosubst(r'\(#define VER_\(FILE\|PRODUCT\)VERSION\) *[0-9,]*$', r'\1 %s' % win32commaversion, 'myver.h') -dosubst(r'\(#define VER_\(FILE\|PRODUCT\)VERSION_STR\) *".*"', r'\1 "%s\\0"' % win32version, 'myver.h') +dosubst(r'^(version=).*$', r'\1%s' % version, 'Makefile') +dosubst(r'(\bVersion=)"[^"]*"', r'\1"%s"' % versionparts4dot, 'myoledb-debug.wxs myoledb.wxs') +dosubst(r'((FILE|PRODUCT)VERSION) .*$', r'\1 %s' % versionparts4comma, 'myprov.rc') +dosubst(r'(VALUE "(File|Product)Version",) ".*"$', r'\1 "%s\\0"' % win32version, 'myprov.rc') +dosubst(r'(#define VER_(FILE|PRODUCT)VERSION) *[0-9,]*$', r'\1 %s' % win32commaversion, 'myver.h') +dosubst(r'(#define VER_(FILE|PRODUCT)VERSION_STR) *".*"', r'\1 "%s\\0"' % win32version, 'myver.h') # this handles the MySqlProv OLE DB Provider version -dosubst(r'\(MySqlProv\)[.][0-9]*[.][0-9]*', r'\1.%s' % versionparts2dot, 'classfac.cpp myoledb.wxs myoledb-debug.wxs') +dosubst(r'(MySqlProv)[.][0-9]*[.][0-9]*', r'\1.%s' % versionparts2dot, 'classfac.cpp myoledb.wxs myoledb-debug.wxs') |
From: David M. <ig...@us...> - 2005-11-24 13:54:21
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26427 Modified Files: EnumDb.cpp mysql.cpp mysqlmeta.cpp Log Message: Blind fix for restoring network connectivity for a remote database after a network outage Index: mysqlmeta.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/mysqlmeta.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mysqlmeta.cpp 4 Nov 2005 16:12:32 -0000 1.6 +++ mysqlmeta.cpp 24 Nov 2005 13:54:01 -0000 1.7 @@ -247,6 +247,9 @@ #define CHECK_TRUE(x) if( !(x) ) goto my_failure; //_SQL_CHECK // Everything is ready. Starting to work... + // Check we're connected to the database to start off + if (mysql_ping(database_connection)) + return E_FAIL; // a) Calculate necessary size CHECK_FOR_NULL(hresTable = mysql_list_tables(database_connection, NULL)); // Get number of tables Index: mysql.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/mysql.cpp,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- mysql.cpp 9 Nov 2005 15:53:08 -0000 1.29 +++ mysql.cpp 24 Nov 2005 13:54:01 -0000 1.30 @@ -1742,7 +1742,11 @@ if( !m_pUpdateFileInfo ) return E_NOTIMPL; // cannot update anything (several tables used) - m_hstmtChange = mysql_stmt_init(&(pDataSource->database_connection)); + // If we've lost the database connection and can't reconnect + if (mysql_ping(&(pDataSource->database_connection))) + return DB_S_ERRORSOCCURRED; + + m_hstmtChange = mysql_stmt_init(&(pDataSource->database_connection)); return S_OK; } @@ -1805,7 +1809,11 @@ return E_FAIL; } - // 5) Allocate all + // 5) Allocate all + // First check we're still conencted to the database + if (mysql_ping(&(pDataSource->database_connection))) + return E_FAIL; + m_hstmt = mysql_stmt_init(&(pDataSource->database_connection)); // 6) Execute a query Index: EnumDb.cpp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/EnumDb.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- EnumDb.cpp 1 Nov 2005 09:15:50 -0000 1.3 +++ EnumDb.cpp 24 Nov 2005 13:54:01 -0000 1.4 @@ -222,7 +222,11 @@ if (pDataSource == NULL) return E_INVALIDARG; - database_list = mysql_list_dbs(&(pDataSource->database_connection),NULL); + // We've irretrievably lost contact with the server + if (mysql_ping(&(pDataSource->database_connection))) + return E_FAIL; + + database_list = mysql_list_dbs(&(pDataSource->database_connection),NULL); if( database_list ) return S_OK; |
From: David M. <ig...@us...> - 2005-11-24 13:52:11
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26148 Modified Files: EnumDb.h Log Message: Changef format of includes to use the system ones, so intelligent compilers know what's going on Index: EnumDb.h =================================================================== RCS file: /cvsroot/myoledb/myoledb3/EnumDb.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- EnumDb.h 28 Oct 2005 14:56:28 -0000 1.3 +++ EnumDb.h 24 Nov 2005 13:52:03 -0000 1.4 @@ -20,9 +20,9 @@ #define nuint32 unsigned long int // ODBC definitions -#include "sqltypes.h" -#include "sql.h" -#include "sqlext.h" +#include <sqltypes.h> +#include <sql.h> +#include <sqlext.h> #define MAXSERVERNAME _MAX_PATH //30 #define MAXUSERNAME 30 // Pervasive definition |
From: David F. <dav...@us...> - 2005-11-15 12:27:38
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25019 Modified Files: Makefile Added Files: Makefile.paths.sample Log Message: End the very-brief-commit-war by moving system-dependent paths to Makefile.paths This isn't in CVS, but there is a Makefile.paths.sample that will be filled in if the file doesn't exist This should give people an idea of what to do (it also includes warnings if things aren't defined) Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- Makefile 15 Nov 2005 11:52:25 -0000 1.11 +++ Makefile 15 Nov 2005 12:27:29 -0000 1.12 @@ -1,7 +1,5 @@ # Makefile to build myoledb installer -wixdir=c:/DevTools/wix/ -mysqllibdir=e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win version=3.9.3 distcvsroot=:pserver:ano...@cv...:/cvsroot/myoledb MAKEFLAGS= @@ -84,6 +82,11 @@ %.wixobj: %.wxs ${wixdir}/candle.exe $^ +include Makefile.paths + +Makefile.paths: + if [[ ! -e Makefile.paths ]] ; then cp -p Makefile.paths.sample Makefile.paths ; fi + # MAKEFLAGS must be empty or funny dashes get passed to nmake and it doesn't like them # the -F is converted to /F by mingw - woe betide trying to pass /F --- NEW FILE: Makefile.paths.sample --- # this file contains the paths to libraries etc # it is specific to each machine, so is stored in CVS as Makefile.paths.sample # each machine then needs a configured version of this in Makefile.paths # wixdir should contain the path to wix binaries from http://wix.sourceforge.net/ # e.g. c:/wix/ wixdir= # mysqllibdir should contain the path to mysql library binaries from http://dev.mysql.com/ # e.g. c:/sources/mysql-5.0.15-win/ mysqllibdir= ifeq ($(wixdir),) $(warning wixdir not defined in Makefile.paths) endif ifeq ($(mysqllibdir),) $(warning mysqllibdir not defined in Makefile.paths) endif |
From: David F. <dav...@us...> - 2005-11-15 11:52:37
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18043 Modified Files: Makefile Log Message: with a comment like that, I couldn't resist ... commit war now in progress ... Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- Makefile 15 Nov 2005 11:32:20 -0000 1.10 +++ Makefile 15 Nov 2005 11:52:25 -0000 1.11 @@ -1,7 +1,7 @@ # Makefile to build myoledb installer -wixdir=c:/wix/ -mysqllibdir=c:/cvswork/myoledb3/libs +wixdir=c:/DevTools/wix/ +mysqllibdir=e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win version=3.9.3 distcvsroot=:pserver:ano...@cv...:/cvsroot/myoledb MAKEFLAGS= |
From: David M. <ig...@us...> - 2005-11-15 11:32:28
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14353 Modified Files: Makefile Log Message: Add a conditional for copying ChangeLog into the dist, as you need to run a script to generate it Because I'm lazy, commit my own directories in the Makeifle (let the commit war begin...) Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile 14 Nov 2005 07:12:19 -0000 1.9 +++ Makefile 15 Nov 2005 11:32:20 -0000 1.10 @@ -1,7 +1,7 @@ # Makefile to build myoledb installer -wixdir=c:/DevTools/wix/ -mysqllibdir=e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win +wixdir=c:/wix/ +mysqllibdir=c:/cvswork/myoledb3/libs version=3.9.3 distcvsroot=:pserver:ano...@cv...:/cvsroot/myoledb MAKEFLAGS= @@ -36,7 +36,8 @@ $(foreach sourcedir,${SOURCEDIRS},cp -p ${targetdir}/anoncvsroot ${targetdir}/${sourcedir}/CVS/Root ;) rm ${targetdir}/anoncvsroot $(foreach sourcefile,${CVSFILES},cp -p ${sourcefile} ${targetdir}/${sourcefile} ;) - cp -p ChangeLog MyOLEDB.mak MyOLEDB.dep ${targetdir} + if [[ -e ChangeLog ]] ; then cp -p ChangeLog ${targetdir} ; fi + cp -p MyOLEDB.mak MyOLEDB.dep ${targetdir} # zip -r dist/myoledb-${version}.zip ${targetdir} mkdir -p dist tar czf dist/myoledb-${version}.tar.gz ${targetdir} |
From: David F. <dav...@us...> - 2005-11-14 07:12:27
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16186 Modified Files: Makefile Log Message: fixes that finally make this build nicely from the tarball (which can now rebuild itself...): include CVS entires, using the anonymous CVS root (this also lets us remember the source files for remaking the tarball) create MyOLEDB.mak from MyOLEDB.dsp if neccessary - this opens the GUI and requires user input, but works get list of SOURCES from .dsp as .mak might not always be up to date / present added other phony targets to list make sure dist directory is created if neccessary also added separate cleanrelease and cleandebug targets minor nits: include .dep file as well as .mak file in tarball and dependencies Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile 11 Nov 2005 07:07:07 -0000 1.8 +++ Makefile 14 Nov 2005 07:12:19 -0000 1.9 @@ -3,15 +3,15 @@ wixdir=c:/DevTools/wix/ mysqllibdir=e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win version=3.9.3 +distcvsroot=:pserver:ano...@cv...:/cvsroot/myoledb MAKEFLAGS= # work out the sourcefiles from the Visual C++ Makefile -SOURCES:=$(shell grep '^SOURCE=[.].*cpp$$' MyOLEDB.mak | sed 's/SOURCE=//' | sed 's/.\\//') -DEBUG_OBJS=$(foreach source,${SOURCES},Debug/${source:.cpp=.obj}) -RELEASE_OBJS=$(foreach source,${SOURCES},Release/${source:.cpp=.obj}) +# to create MyOLEDB.mak, open MyOLEDB.dsp and choose Project ... Export Makefile (with dependencies) +SOURCES:=$(shell grep '^SOURCE=[.].*cpp$$' MyOLEDB.dsp | sed 's/SOURCE=//' | sed 's/.\\//') SOURCEDIRS:=. include libs -.PHONY: clean debug release +.PHONY: clean debug release dist distmsi sourcearchives msi debugmsi releasemsi registerdebug registerrelease all: debug release @@ -19,6 +19,7 @@ ls -l dist/myoledb-${version}* distmsi: msi + mkdir -p dist cp -pv myoledb-${version}.msi dist/ cp -pv myoledb-${version}-debug.msi dist/ @@ -26,13 +27,18 @@ sourcearchives: targetdir=myoledb-${version} sourcearchives: CVSFILES=$(foreach sourcedir,${SOURCEDIRS},$(shell grep '^/' ${sourcedir}/CVS/Entries | sed 's:^/\([^/]*\)/.*$$:${sourcedir}/\1:')) -sourcearchives: ${CVSFILES} +sourcearchives: ${CVSFILES} MyOLEDB.mak MyOLEDB.dep rm -fr ${targetdir} mkdir -p ${targetdir} $(foreach sourcedir,${SOURCEDIRS},mkdir -p ${targetdir}/${sourcedir} ;) + $(foreach sourcedir,${SOURCEDIRS},cp -pr ${sourcedir}/CVS ${targetdir}/${sourcedir} ;) + echo ${distcvsroot} > ${targetdir}/anoncvsroot + $(foreach sourcedir,${SOURCEDIRS},cp -p ${targetdir}/anoncvsroot ${targetdir}/${sourcedir}/CVS/Root ;) + rm ${targetdir}/anoncvsroot $(foreach sourcefile,${CVSFILES},cp -p ${sourcefile} ${targetdir}/${sourcefile} ;) - cp -p ChangeLog MyOLEDB.mak ${targetdir} + cp -p ChangeLog MyOLEDB.mak MyOLEDB.dep ${targetdir} # zip -r dist/myoledb-${version}.zip ${targetdir} + mkdir -p dist tar czf dist/myoledb-${version}.tar.gz ${targetdir} rm -fr ${targetdir} @@ -46,8 +52,23 @@ registerrelease: Release/MyProv.dll regsvr32 -s $^ -clean: - rm myoledb-${version}.msi myoledb-${version}-debug.msi Debug/MyProv.dll Release/MyProv.dll myoledb.wixobj $(DEBUG_OBJS) $(RELEASE_OBJS) +clean: cleandebug cleanrelease + +cleandebug: + rm -f Debug/MyProv.dll Debug/MyOLEDB.bsc Debug/MyOLEDB.pch + rm -f Debug/MyProv.exp Debug/MyProv.ilk Debug/MyProv.lib Debug/MyProv.pdb Debug/myprov.res + rm -f Debug/vc60.idb Debug/vc60.pdb Debug/postbld.dep + rm -f $(foreach source,${SOURCES},Debug/${source:.cpp=.obj}) + rm -f $(foreach source,${SOURCES},Debug/${source:.cpp=.sbr}) + rm -f myoledb-${version}-debug.msi myoledb-debug.wixobj + +cleanrelease: + rm -f Release/MyProv.dll Release/MyOLEDB.bsc Release/MyOLEDB.pch + rm -f Release/MyProv.exp Release/MyProv.ilk Release/MyProv.lib Release/MyProv.pdb Release/myprov.res + rm -f Release/vc60.idb Release/vc60.pdb Release/postbld.dep + rm -f $(foreach source,${SOURCES},Release/${source:.cpp=.obj}) + rm -f $(foreach source,${SOURCES},Release/${source:.cpp=.sbr}) + rm -f myoledb-${version}.msi myoledb.wixobj releasemsi: myoledb-${version}.msi @@ -66,11 +87,11 @@ # the -F is converted to /F by mingw - woe betide trying to pass /F Debug/MyProv.dll: MAKEFLAGS= -Debug/MyProv.dll: MyOLEDB.mak $(SOURCES) Debug/libmysql.lib +Debug/MyProv.dll: MyOLEDB.mak MyOLEDB.dep $(SOURCES) Debug/libmysql.lib nmake -F MyOLEDB.mak CFG="MyOLEDB - Win32 Debug" Release/MyProv.dll: MAKEFLAGS= -Release/MyProv.dll: MyOLEDB.mak $(SOURCES) Release/libmysql.lib +Release/MyProv.dll: MyOLEDB.mak MyOLEDB.dep $(SOURCES) Release/libmysql.lib nmake -F MyOLEDB.mak CFG="MyOLEDB - Win32 Release" Release/libmysql.dll: ${mysqllibdir}/lib_release/libmysql.dll @@ -89,3 +110,7 @@ mkdir -p Debug cp -p $< $@ +# remake MyOLEDB.mak from msdev if neccessary - requires user interaction +MyOLEDB.mak: MyOLEDB.dsw MyOLEDB.dsp + msdev $< -ex BuildProjectExport + |
From: David F. <dav...@us...> - 2005-11-11 07:16:02
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15125 Added Files: License.rtf Log Message: added RTF version of GPL, for msi files --- NEW FILE: License.rtf --- {\rtf1\ansi\ansicpg1252\deff0 {\fonttbl {\f0\fnil\fcharset0\fprq0\fttruetype Times New Roman;} {\f1\fnil\fcharset0\fprq0\fttruetype Arial;} {\f2\fnil\fcharset0\fprq0\fttruetype Dingbats;} {\f3\fnil\fcharset0\fprq0\fttruetype Symbol;} {\f4\fnil\fcharset0\fprq0\fttruetype Courier New;}} {\colortbl \red0\green0\blue0; \red255\green255\blue255;} {\stylesheet {\s1\fi-431\li720\sbasedon28\snext28Contents 1;} {\s2\fi-431\li1440\sbasedon28\snext28Contents 2;} {\s3\fi-431\li2160\sbasedon28\snext28Contents 3;} {\s8\fi-431\li720\sbasedon28Lower Roman List;} {\s5\tx431\sbasedon24\snext28Numbered Heading 1;} {\s6\tx431\sbasedon25\snext28Numbered Heading 2;} {\s7\fi-431\li720Square List;} {\*\cs11\sbasedon28Endnote Text;} {\s4\fi-431\li2880\sbasedon28\snext28Contents 4;} {\s9\fi-431\li720Diamond List;} {\s10\fi-431\li720Numbered List;} {\*\cs12\fs20\superEndnote Reference;} {\s13\fi-431\li720Triangle List;} {\s14\tx431\sbasedon26\snext28Numbered Heading 3;} {\s15\fi-431\li720Dashed List;} {\s16\fi-431\li720\sbasedon10Upper Roman List;} {\s17\sb440\sa60\f1\fs24\b\sbasedon28\snext28Heading 4;} {\s18\fi-431\li720Heart List;} {\s34\fi-431\li720Box List;} {\s20\fi-431\li720\sbasedon10Upper Case List;} {\s21\fi-431\li720Bullet List;} {\s22\fi-431\li720Hand List;} {\*\cs23\fs20\sbasedon28Footnote Text;} {\s24\sb440\sa60\f1\fs34\b\sbasedon28\snext28Heading 1;} {\s25\sb440\sa60\f1\fs28\b\sbasedon28\snext28Heading 2;} {\s19\qc\sb240\sa120\f1\fs32\b\sbasedon28\snext28Contents Header;} {\s27\fi-431\li720Tick List;} {\s26\sb440\sa60\f1\fs24\b\sbasedon28\snext28Heading 3;} {\s29\fi-431\li720\sbasedon10Lower Case List;} {\s30\li1440\ri1440\sa120\sbasedon28Block Text;} {\s36\f4\sbasedon28Plain Text;} {\s32\tx1584\sbasedon5\snext28Section Heading;} {\s33\fi-431\li720Implies List;} {\s28\f0\fs24\lang1033Normal;} {\s35\fi-431\li720Star List;} {\*\cs31\fs20\superFootnote Reference;} {\s37\tx1584\sbasedon5\snext28Chapter Heading;}} \kerning0\cf0\ftnbj\fet2\ftnstart1\ftnnar\aftnnar\ftnstart1\aftnstart1\aenddoc\revprop3{\info\uc1}\deftab720\viewkind1\paperw11905\paperh16837\margl1440\margr1440\widowctl \sectd\sbknone\colsx360\headery0\footery0\pgncont\ltrsect \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab GNU GENERAL PUBLIC LICENSE}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab Version 2, June 1991}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Copyright (C) 1989, 1991 Free Software Foundation, Inc.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Everyone is permitted to copy and distribute verbatim copies}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch of this license document, but changing it is not allowed.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab \tab Preamble}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The licenses for most software are designed to take away your}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch freedom to share and change it. By contrast, the GNU General Public}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch License is intended to guarantee your freedom to share and change free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch software--to make sure the software is free for all its users. This}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch General Public License applies to most of the Free Software}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Foundation's software and to any other program whose authors commit to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch using it. (Some other Free Software Foundation software is covered by}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the GNU Library General Public License instead.) You can apply it to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch your programs, too.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch When we speak of free software, we are referring to freedom, not}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch price. Our General Public Licenses are designed to make sure that you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch have the freedom to distribute copies of free software (and charge for}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch this service if you wish), that you receive source code or can get it}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch if you want it, that you can change the software or use pieces of it}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch in new free programs; and that you know you can do these things.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch To protect your rights, we need to make restrictions that forbid}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch anyone to deny you these rights or to ask you to surrender the rights.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch These restrictions translate to certain responsibilities for you if you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute copies of the software, or if you modify it.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch For example, if you distribute copies of such a program, whether}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch gratis or for a fee, you must give the recipients all the rights that}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch you have. You must make sure that they, too, receive or can get the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch source code. And you must show them these terms so they know their}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch rights.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch We protect your rights with two steps: (1) copyright the software, and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch (2) offer you this license which gives you legal permission to copy,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute and/or modify the software.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Also, for each author's protection and ours, we want to make certain}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch that everyone understands that there is no warranty for this free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch software. If the software is modified by someone else and passed on, we}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch want its recipients to know that what they have is not the original, so}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch that any problems introduced by others will not reflect on the original}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch authors' reputations.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Finally, any free program is threatened constantly by software}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch patents. We wish to avoid the danger that redistributors of a free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch program will individually obtain patent licenses, in effect making the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch program proprietary. To prevent this, we have made it clear that any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch patent must be licensed for everyone's free use or not licensed at all.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The precise terms and conditions for copying, distribution and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch modification follow.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \page }{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab GNU GENERAL PUBLIC LICENSE}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 0. This License applies to any program or other work which contains}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a notice placed by the copyright holder saying it may be distributed}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch under the terms of this General Public License. The "Program", below,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch refers to any such program or work, and a "work based on the Program"}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch means either the Program or any derivative work under copyright law:}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch that is to say, a work containing the Program or a portion of it,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch either verbatim or with modifications and/or translated into another}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch language. (Hereinafter, translation is included without limitation in}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the term "modification".) Each licensee is addressed as "you".}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Activities other than copying, distribution and modification are not}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch covered by this License; they are outside its scope. The act of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch running the Program is not restricted, and the output from the Program}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch is covered only if its contents constitute a work based on the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Program (independent of having been made by running the Program).}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Whether that is true depends on what the Program does.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 1. You may copy and distribute verbatim copies of the Program's}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch source code as you receive it, in any medium, provided that you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch conspicuously and appropriately publish on each copy an appropriate}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch copyright notice and disclaimer of warranty; keep intact all the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch notices that refer to this License and to the absence of any warranty;}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch and give any other recipients of the Program a copy of this License}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch along with the Program.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch You may charge a fee for the physical act of transferring a copy, and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch you may at your option offer warranty protection in exchange for a fee.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 2. You may modify your copy or copies of the Program or any portion}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch of it, thus forming a work based on the Program, and copy and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute such modifications or work under the terms of Section 1}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch above, provided that you also meet all of these conditions:}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a) You must cause the modified files to carry prominent notices}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch stating that you changed the files and the date of any change.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch b) You must cause any work that you distribute or publish, that in}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch whole or in part contains or is derived from the Program or any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch part thereof, to be licensed as a whole at no charge to all third}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch parties under the terms of this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch c) If the modified program normally reads commands interactively}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch when run, you must cause it, when started running for such}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch interactive use in the most ordinary way, to print or display an}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch announcement including an appropriate copyright notice and a}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch notice that there is no warranty (or else, saying that you provide}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a warranty) and that users may redistribute the program under}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch these conditions, and telling the user how to view a copy of this}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch License. (Exception: if the Program itself is interactive but}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch does not normally print such an announcement, your work based on}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the Program is not required to print an announcement.)}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \page }{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch These requirements apply to the modified work as a whole. If}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch identifiable sections of that work are not derived from the Program,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch and can be reasonably considered independent and separate works in}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch themselves, then this License, and its terms, do not apply to those}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch sections when you distribute them as separate works. But when you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute the same sections as part of a whole which is a work based}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch on the Program, the distribution of the whole must be on the terms of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch this License, whose permissions for other licensees extend to the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch entire whole, and thus to each and every part regardless of who wrote it.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Thus, it is not the intent of this section to claim rights or contest}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch your rights to work written entirely by you; rather, the intent is to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch exercise the right to control the distribution of derivative or}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch collective works based on the Program.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch In addition, mere aggregation of another work not based on the Program}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch with the Program (or with a work based on the Program) on a volume of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a storage or distribution medium does not bring the other work under}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the scope of this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 3. You may copy and distribute the Program (or a work based on it,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch under Section 2) in object code or executable form under the terms of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Sections 1 and 2 above provided that you also do one of the following:}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch a) Accompany it with the complete corresponding machine-readable}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch source code, which must be distributed under the terms of Sections}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 1 and 2 above on a medium customarily used for software interchange; or,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch b) Accompany it with a written offer, valid for at least three}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch years, to give any third party, for a charge no more than your}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch cost of physically performing source distribution, a complete}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch machine-readable copy of the corresponding source code, to be}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distributed under the terms of Sections 1 and 2 above on a medium}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch customarily used for software interchange; or,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch c) Accompany it with the information you received as to the offer}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch to distribute corresponding source code. (This alternative is}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch allowed only for noncommercial distribution and only if you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch received the program in object code or executable form with such}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch an offer, in accord with Subsection b above.)}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The source code for a work means the preferred form of the work for}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch making modifications to it. For an executable work, complete source}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch code means all the source code for all modules it contains, plus any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch associated interface definition files, plus the scripts used to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch control compilation and installation of the executable. However, as a}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch special exception, the source code distributed need not include}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch anything that is normally distributed (in either source or binary}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch form) with the major components (compiler, kernel, and so on) of the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch operating system on which the executable runs, unless that component}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch itself accompanies the executable.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch If distribution of executable or object code is made by offering}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch access to copy from a designated place, then offering equivalent}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch access to copy the source code from the same place counts as}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribution of the source code, even though third parties are not}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch compelled to copy the source along with the object code.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \page }{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 4. You may not copy, modify, sublicense, or distribute the Program}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch except as expressly provided under this License. Any attempt}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch otherwise to copy, modify, sublicense or distribute the Program is}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch void, and will automatically terminate your rights under this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch However, parties who have received copies, or rights, from you under}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch this License will not have their licenses terminated so long as such}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch parties remain in full compliance.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 5. You are not required to accept this License, since you have not}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch signed it. However, nothing else grants you permission to modify or}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute the Program or its derivative works. These actions are}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch prohibited by law if you do not accept this License. Therefore, by}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch modifying or distributing the Program (or any work based on the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Program), you indicate your acceptance of this License to do so, and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch all its terms and conditions for copying, distributing or modifying}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the Program or works based on it.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 6. Each time you redistribute the Program (or any work based on the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Program), the recipient automatically receives a license from the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch original licensor to copy, distribute or modify the Program subject to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch these terms and conditions. You may not impose any further}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch restrictions on the recipients' exercise of the rights granted herein.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch You are not responsible for enforcing compliance by third parties to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 7. If, as a consequence of a court judgment or allegation of patent}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch infringement or for any other reason (not limited to patent issues),}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch conditions are imposed on you (whether by court order, agreement or}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch otherwise) that contradict the conditions of this License, they do not}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch excuse you from the conditions of this License. If you cannot}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch distribute so as to satisfy simultaneously your obligations under this}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch License and any other pertinent obligations, then as a consequence you}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch may not distribute the Program at all. For example, if a patent}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch license would not permit royalty-free redistribution of the Program by}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch all those who receive copies directly or indirectly through you, then}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the only way you could satisfy both it and this License would be to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch refrain entirely from distribution of the Program.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch If any portion of this section is held invalid or unenforceable under}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch any particular circumstance, the balance of the section is intended to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch apply and the section as a whole is intended to apply in other}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch circumstances.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch It is not the purpose of this section to induce you to infringe any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch patents or other property right claims or to contest validity of any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch such claims; this section has the sole purpose of protecting the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch integrity of the free software distribution system, which is}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch implemented by public license practices. Many people have made}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch generous contributions to the wide range of software distributed}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch through that system in reliance on consistent application of that}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch system; it is up to the author/donor to decide if he or she is willing}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch to distribute software through any other system and a licensee cannot}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch impose that choice.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch This section is intended to make thoroughly clear what is believed to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch be a consequence of the rest of this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \page }{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 8. If the distribution and/or use of the Program is restricted in}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch certain countries either by patents or by copyrighted interfaces, the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch original copyright holder who places the Program under this License}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch may add an explicit geographical distribution limitation excluding}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch those countries, so that distribution is permitted only in or among}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch countries not thus excluded. In such case, this License incorporates}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the limitation as if written in the body of this License.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 9. The Free Software Foundation may publish revised and/or new versions}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch of the General Public License from time to time. Such new versions will}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch be similar in spirit to the present version, but may differ in detail to}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch address new problems or concerns.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Each version is given a distinguishing version number. If the Program}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch specifies a version number of this License which applies to it and "any}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch later version", you have the option of following the terms and conditions}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch either of that version or of any later version published by the Free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Software Foundation. If the Program does not specify a version number of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch this License, you may choose any version ever published by the Free Software}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Foundation.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 10. If you wish to incorporate parts of the Program into other free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch programs whose distribution conditions are different, write to the author}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch to ask for permission. For software which is copyrighted by the Free}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Software Foundation, write to the Free Software Foundation; we sometimes}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch make exceptions for this. Our decision will be guided by the two goals}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch of preserving the free status of all derivatives of our free software and}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch of promoting the sharing and reuse of software generally.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab \tab NO WARRANTY}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch REPAIR OR CORRECTION.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch POSSIBILITY OF SUCH DAMAGES.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab \tab END OF TERMS AND CONDITIONS}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \page }{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch \tab How to Apply These Terms to Your New Programs}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch If you develop a new program, and you want it to be of the greatest}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch possible use to the public, the best way to achieve this is to make it}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch free software which everyone can redistribute and change under these terms.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch To do so, attach the following notices to the program. It is safest}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch to attach them to the start of each source file to most effectively}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch convey the exclusion of warranty; and each file should have at least}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the "copyright" line and a pointer to where the full notice is found.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch <one line to give the program's name and a brief idea of what it does.>}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Copyright (C) <year> <name of author>}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch This program is free software; you can redistribute it and/or modify}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch it under the terms of the GNU General Public License as published by}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch the Free Software Foundation; either version 2 of the License, or}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch (at your option) any later version.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch This program is distributed in the hope that it will be useful,}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch but WITHOUT ANY WARRANTY; without even the implied warranty of}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch GNU General Public License for more details.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch You should have received a copy of the GNU General Public License}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch along with this program; if not, write to the Free Software}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Also add information on how to contact you by electronic and paper mail.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch If the program is interactive, make it output a short notice like this}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch when it starts in an interactive mode:}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Gnomovision version 69, Copyright (C) year name of author}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch This is free software, and you are welcome to redistribute it}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch under certain conditions; type `show c' for details.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch The hypothetical commands `show w' and `show c' should show the appropriate}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch parts of the General Public License. Of course, the commands you use may}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch be called something other than `show w' and `show c'; they could even be}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch mouse-clicks or menu items--whatever suits your program.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch You should also get your employer (if you work as a programmer) or your}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch school, if any, to sign a "copyright disclaimer" for the program, if}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch necessary. Here is a sample; alter the names:}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Yoyodyne, Inc., hereby disclaims all copyright interest in the program}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch `Gnomovision' (which makes passes at compilers) written by James Hacker.}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch <signature of Ty Coon>, 1 April 1989}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar\ql\s28\itap0{\s28\f0\fs24\lang1033{\*\listtag0}\abinodiroverride\ltrch Ty Coon, President of Vice}{\s28\f0\fs24\lang1033{\*\listtag0}\par} \pard\plain\ltrpar... [truncated message content] |
From: David F. <dav...@us...> - 2005-11-11 07:07:15
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13724 Modified Files: Makefile MyOLEDB.dsp Log Message: copy libmysql.lib into Release and Debug from the correct versions (we were assuming it had been copied into the current directory) fix directories to not be quoted so they don't cause errors in targets Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 10 Nov 2005 15:03:23 -0000 1.7 +++ Makefile 11 Nov 2005 07:07:07 -0000 1.8 @@ -1,7 +1,7 @@ # Makefile to build myoledb installer -wixdir="c:/DevTools/wix/" -mysqllibdir="e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win" +wixdir=c:/DevTools/wix/ +mysqllibdir=e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win version=3.9.3 MAKEFLAGS= @@ -66,18 +66,26 @@ # the -F is converted to /F by mingw - woe betide trying to pass /F Debug/MyProv.dll: MAKEFLAGS= -Debug/MyProv.dll: MyOLEDB.mak $(SOURCES) +Debug/MyProv.dll: MyOLEDB.mak $(SOURCES) Debug/libmysql.lib nmake -F MyOLEDB.mak CFG="MyOLEDB - Win32 Debug" Release/MyProv.dll: MAKEFLAGS= -Release/MyProv.dll: MyOLEDB.mak $(SOURCES) +Release/MyProv.dll: MyOLEDB.mak $(SOURCES) Release/libmysql.lib nmake -F MyOLEDB.mak CFG="MyOLEDB - Win32 Release" -Release/libmysql.dll: +Release/libmysql.dll: ${mysqllibdir}/lib_release/libmysql.dll mkdir -p Release - cp -p ${mysqllibdir}/lib_release/libmysql.dll $@ + cp -p $< $@ -Debug/libmysql.dll: +Release/libmysql.lib: ${mysqllibdir}/lib_release/libmysql.lib + mkdir -p Release + cp -p $< $@ + +Debug/libmysql.dll: ${mysqllibdir}/lib_debug/libmysql.dll mkdir -p Debug - cp -p ${mysqllibdir}/lib_debug/libmysql.dll $@ + cp -p $< $@ + +Debug/libmysql.lib: ${mysqllibdir}/lib_debug/libmysql.lib + mkdir -p Debug + cp -p $< $@ Index: MyOLEDB.dsp =================================================================== RCS file: /cvsroot/myoledb/myoledb3/MyOLEDB.dsp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- MyOLEDB.dsp 7 Nov 2005 13:54:07 -0000 1.5 +++ MyOLEDB.dsp 11 Nov 2005 07:07:07 -0000 1.6 @@ -53,7 +53,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 -# ADD LINK32 kernel32.lib gdi32.lib shell32.lib uuid.lib comdlg32.lib user32.lib advapi32.lib ole32.lib oleaut32.lib wsock32.lib libmysql.lib /nologo /subsystem:windows /dll /incremental:yes /machine:I386 /nodefaultlib:"LIBC" /out:"Release/MyProv.dll" /libpath:"libs" +# ADD LINK32 kernel32.lib gdi32.lib shell32.lib uuid.lib comdlg32.lib user32.lib advapi32.lib ole32.lib oleaut32.lib wsock32.lib Release/libmysql.lib /nologo /subsystem:windows /dll /incremental:yes /machine:I386 /nodefaultlib:"LIBC" /out:"Release/MyProv.dll" /libpath:"libs" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "MyOLEDB - Win32 Debug" @@ -80,7 +80,7 @@ # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib gdi32.lib shell32.lib uuid.lib comdlg32.lib user32.lib advapi32.lib ole32.lib oleaut32.lib wsock32.lib libmysql.lib /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"LIBCD" /nodefaultlib:"LIBC" /nodefaultlib:"LIBCMT" /out:"Debug/MyProv.dll" /pdbtype:sept /libpath:"libs_d/" +# ADD LINK32 kernel32.lib gdi32.lib shell32.lib uuid.lib comdlg32.lib user32.lib advapi32.lib ole32.lib oleaut32.lib wsock32.lib Debug/libmysql.lib /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"LIBCD" /nodefaultlib:"LIBC" /nodefaultlib:"LIBCMT" /out:"Debug/MyProv.dll" /pdbtype:sept /libpath:"libs_d/" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" |
From: David F. <dav...@us...> - 2005-11-10 15:03:31
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22349 Modified Files: Makefile Log Message: added stuff to build distribution (based on CVS entries...) files in dist/ are never deleted by clean etc tested that can be rebuilt using tarball (almost...) (note tarball cannot rebuild dist as it doesn't have CVS, but doesn't fail unless you try to...) Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 9 Nov 2005 15:54:26 -0000 1.6 +++ Makefile 10 Nov 2005 15:03:23 -0000 1.7 @@ -9,13 +9,33 @@ SOURCES:=$(shell grep '^SOURCE=[.].*cpp$$' MyOLEDB.mak | sed 's/SOURCE=//' | sed 's/.\\//') DEBUG_OBJS=$(foreach source,${SOURCES},Debug/${source:.cpp=.obj}) RELEASE_OBJS=$(foreach source,${SOURCES},Release/${source:.cpp=.obj}) +SOURCEDIRS:=. include libs .PHONY: clean debug release all: debug release +dist: distmsi sourcearchives + ls -l dist/myoledb-${version}* + +distmsi: msi + cp -pv myoledb-${version}.msi dist/ + cp -pv myoledb-${version}-debug.msi dist/ + msi: debugmsi releasemsi +sourcearchives: targetdir=myoledb-${version} +sourcearchives: CVSFILES=$(foreach sourcedir,${SOURCEDIRS},$(shell grep '^/' ${sourcedir}/CVS/Entries | sed 's:^/\([^/]*\)/.*$$:${sourcedir}/\1:')) +sourcearchives: ${CVSFILES} + rm -fr ${targetdir} + mkdir -p ${targetdir} + $(foreach sourcedir,${SOURCEDIRS},mkdir -p ${targetdir}/${sourcedir} ;) + $(foreach sourcefile,${CVSFILES},cp -p ${sourcefile} ${targetdir}/${sourcefile} ;) + cp -p ChangeLog MyOLEDB.mak ${targetdir} + # zip -r dist/myoledb-${version}.zip ${targetdir} + tar czf dist/myoledb-${version}.tar.gz ${targetdir} + rm -fr ${targetdir} + debug: Debug/MyProv.dll release: Release/MyProv.dll @@ -29,11 +49,15 @@ clean: rm myoledb-${version}.msi myoledb-${version}-debug.msi Debug/MyProv.dll Release/MyProv.dll myoledb.wixobj $(DEBUG_OBJS) $(RELEASE_OBJS) -releasemsi: Release/libmysql.dll Release/MyProv.dll myoledb.wixobj - ${wixdir}/light.exe -out myoledb-${version}.msi myoledb.wixobj ${wixdir}/ui/wixui_featuretree.wixlib +releasemsi: myoledb-${version}.msi -debugmsi: Debug/libmysql.dll Debug/MyProv.dll myoledb-debug.wixobj - ${wixdir}/light.exe -out myoledb-${version}-debug.msi myoledb-debug.wixobj ${wixdir}/ui/wixui_featuretree.wixlib +myoledb-${version}.msi: Release/libmysql.dll Release/MyProv.dll myoledb.wixobj + ${wixdir}/light.exe -out $@ myoledb.wixobj ${wixdir}/ui/wixui_featuretree.wixlib + +debugmsi: myoledb-${version}-debug.msi + +myoledb-${version}-debug.msi: Debug/libmysql.dll Debug/MyProv.dll myoledb-debug.wixobj + ${wixdir}/light.exe -out $@ myoledb-debug.wixobj ${wixdir}/ui/wixui_featuretree.wixlib %.wixobj: %.wxs ${wixdir}/candle.exe $^ @@ -50,8 +74,10 @@ nmake -F MyOLEDB.mak CFG="MyOLEDB - Win32 Release" Release/libmysql.dll: + mkdir -p Release cp -p ${mysqllibdir}/lib_release/libmysql.dll $@ Debug/libmysql.dll: + mkdir -p Debug cp -p ${mysqllibdir}/lib_debug/libmysql.dll $@ |
Update of /cvsroot/myoledb/myoledb3/from_mysql/myodbc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14495/myodbc Removed Files: ChangeLog Myodbc.def acconfig.h catalog.c connect.c dialogs.h dll.c execute.c info.c misc.c myodbc.c myodbc.dsp myodbc.h myodbc.mak myodbc.rc mysql.h mysys_priv.h options.c prepare.c resource.h results.c setup.c swsoft.c swsoft.h transact.c utility.c Log Message: removed all from_mysql included libraries, we have migrated to mysql 5 client libraries, don't use ODBC, and don't include the libraries with the source anymore --- prepare.c DELETED --- --- myodbc.mak DELETED --- --- Myodbc.def DELETED --- --- dll.c DELETED --- --- catalog.c DELETED --- --- myodbc.h DELETED --- --- connect.c DELETED --- --- mysql.h DELETED --- --- options.c DELETED --- --- myodbc.c DELETED --- --- swsoft.h DELETED --- --- transact.c DELETED --- --- dialogs.h DELETED --- --- mysys_priv.h DELETED --- --- swsoft.c DELETED --- --- misc.c DELETED --- --- setup.c DELETED --- --- utility.c DELETED --- --- resource.h DELETED --- --- acconfig.h DELETED --- --- info.c DELETED --- --- myodbc.dsp DELETED --- --- execute.c DELETED --- --- ChangeLog DELETED --- --- results.c DELETED --- --- myodbc.rc DELETED --- |
Update of /cvsroot/myoledb/myoledb3/from_mysql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14495 Removed Files: adler32.c array.c bchange.c bmove.c bmove_upp.c charset.c completion_hash.cpp completion_hash.h compress.c crc32.c ctype-big5.c ctype-czech.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype.c ctype_autoconf.c ctype_extra_sources.c dbug.c default.c deflate.c deflate.h errmsg.c errors.c example.c get_password.c getopt.c getopt1.c getvar.c gzio.c infblock.c infblock.h infcodes.c infcodes.h inffast.c inffast.h inffixed.h inflate.c inftrees.c inftrees.h infutil.c infutil.h int2str.c is_prefix.c libmyodbc.dsp libmysql.c libver.c libver.h list.c llstr.c longlong2str.c maketree.c mf_casecnv.c mf_dirname.c mf_fn_ext.c mf_format.c mf_loadpath.c mf_pack.c mf_path.c mf_unixpath.c mf_wcomp.c minigzip.c mulalloc.c my_alloc.c my_compress.c my_create.c my_delete.c my_div.c my_error.c my_fopen.c my_fstream.c my_getwd.c my_init.c my_lib.c my_malloc.c my_messnc.c my_net.c my_once.c my_open.c my_pthread.c my_read.c my_realloc.c my_static.c my_static.h my_tempnam.c my_thr_init.c my_wincond.c my_winthread.c my_write.c mysqlclient.dsp mysys_priv.h net.c password.c readline.cpp safemalloc.c select_test.c sql_string.cpp sql_string.h str2int.c strcend.c strcont.c strend.c strfill.c string.c strinstr.c strmake.c strmov.c strnlen.c strnmov.c strto.c strtoull.c strxmov.c t_ctype.h trees.c trees.h typelib.c uncompr.c violite.c zconf.h zlib.dsp zlib.h zutil.c zutil.h Log Message: removed all from_mysql included libraries, we have migrated to mysql 5 client libraries, don't use ODBC, and don't include the libraries with the source anymore --- longlong2str.c DELETED --- --- trees.h DELETED --- --- my_div.c DELETED --- --- trees.c DELETED --- --- strcend.c DELETED --- --- my_tempnam.c DELETED --- --- example.c DELETED --- --- libmyodbc.dsp DELETED --- --- libver.h DELETED --- --- getopt1.c DELETED --- --- deflate.c DELETED --- --- my_once.c DELETED --- --- libver.c DELETED --- --- array.c DELETED --- --- deflate.h DELETED --- --- strto.c DELETED --- --- mulalloc.c DELETED --- --- completion_hash.h DELETED --- --- crc32.c DELETED --- --- bmove.c DELETED --- --- my_wincond.c DELETED --- --- mf_pack.c DELETED --- --- ctype-ujis.c DELETED --- --- net.c DELETED --- --- mf_format.c DELETED --- --- inffixed.h DELETED --- --- safemalloc.c DELETED --- --- zlib.dsp DELETED --- --- infcodes.h DELETED --- --- my_alloc.c DELETED --- --- zconf.h DELETED --- --- strinstr.c DELETED --- --- charset.c DELETED --- --- str2int.c DELETED --- --- my_open.c DELETED --- --- inflate.c DELETED --- --- libmysql.c DELETED --- --- my_realloc.c DELETED --- --- list.c DELETED --- --- my_read.c DELETED --- --- my_pthread.c DELETED --- --- strnlen.c DELETED --- --- ctype_extra_sources.c DELETED --- --- sql_string.cpp DELETED --- --- getopt.c DELETED --- --- sql_string.h DELETED --- --- string.c DELETED --- --- select_test.c DELETED --- --- maketree.c DELETED --- --- infutil.h DELETED --- --- my_create.c DELETED --- --- ctype-tis620.c DELETED --- --- infutil.c DELETED --- --- my_messnc.c DELETED --- --- password.c DELETED --- --- strend.c DELETED --- --- my_thr_init.c DELETED --- --- gzio.c DELETED --- --- my_fopen.c DELETED --- --- my_lib.c DELETED --- --- llstr.c DELETED --- --- inffast.h DELETED --- --- inftrees.h DELETED --- --- ctype.c DELETED --- --- inftrees.c DELETED --- --- t_ctype.h DELETED --- --- mf_casecnv.c DELETED --- --- zutil.h DELETED --- --- zutil.c DELETED --- --- strfill.c DELETED --- --- dbug.c DELETED --- --- errors.c DELETED --- --- bmove_upp.c DELETED --- --- strtoull.c DELETED --- --- strcont.c DELETED --- --- adler32.c DELETED --- --- my_init.c DELETED --- --- default.c DELETED --- --- ctype-sjis.c DELETED --- --- zlib.h DELETED --- --- my_compress.c DELETED --- --- my_static.h DELETED --- --- ctype-gbk.c DELETED --- --- infcodes.c DELETED --- --- errmsg.c DELETED --- --- my_static.c DELETED --- --- my_error.c DELETED --- --- ctype-czech.c DELETED --- --- minigzip.c DELETED --- --- get_password.c DELETED --- --- ctype-euc_kr.c DELETED --- --- mf_fn_ext.c DELETED --- --- ctype-gb2312.c DELETED --- --- readline.cpp DELETED --- --- strnmov.c DELETED --- --- strmov.c DELETED --- --- my_winthread.c DELETED --- --- inffast.c DELETED --- --- ctype-big5.c DELETED --- --- violite.c DELETED --- --- mysqlclient.dsp DELETED --- --- my_write.c DELETED --- --- my_net.c DELETED --- --- strmake.c DELETED --- --- mf_unixpath.c DELETED --- --- infblock.h DELETED --- --- getvar.c DELETED --- --- bchange.c DELETED --- --- typelib.c DELETED --- --- my_fstream.c DELETED --- --- mysys_priv.h DELETED --- --- mf_dirname.c DELETED --- --- uncompr.c DELETED --- --- completion_hash.cpp DELETED --- --- compress.c DELETED --- --- my_malloc.c DELETED --- --- ctype_autoconf.c DELETED --- --- mf_wcomp.c DELETED --- --- mf_path.c DELETED --- --- my_delete.c DELETED --- --- strxmov.c DELETED --- --- infblock.c DELETED --- --- is_prefix.c DELETED --- --- mf_loadpath.c DELETED --- --- int2str.c DELETED --- --- my_getwd.c DELETED --- |
Update of /cvsroot/myoledb/myoledb3/from_mysql/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14495/include Removed Files: config-win.h dbug.h errmsg.h getopt.h global.h m-pc.h m_ctype.h m_string.h my_alarm.h my_dir.h my_global.h my_list.h my_net.h my_pthread.h my_readline.h my_sys.h mysql.h mysql_com.h mysql_version.h mysqld_error.h mysys_err.h raid.h s-msdos.h thr_alarm.h violite.h zconf.h zlib.h Log Message: removed all from_mysql included libraries, we have migrated to mysql 5 client libraries, don't use ODBC, and don't include the libraries with the source anymore --- mysys_err.h DELETED --- --- s-msdos.h DELETED --- --- mysqld_error.h DELETED --- --- zconf.h DELETED --- --- my_global.h DELETED --- --- my_dir.h DELETED --- --- mysql_com.h DELETED --- --- my_net.h DELETED --- --- raid.h DELETED --- --- mysql.h DELETED --- --- my_pthread.h DELETED --- --- dbug.h DELETED --- --- my_readline.h DELETED --- --- m-pc.h DELETED --- --- errmsg.h DELETED --- --- m_ctype.h DELETED --- --- my_sys.h DELETED --- --- my_list.h DELETED --- --- m_string.h DELETED --- --- zlib.h DELETED --- --- thr_alarm.h DELETED --- --- getopt.h DELETED --- --- my_alarm.h DELETED --- --- config-win.h DELETED --- --- violite.h DELETED --- --- mysql_version.h DELETED --- --- global.h DELETED --- |
From: David F. <dav...@us...> - 2005-11-09 15:54:38
|
Update of /cvsroot/myoledb/myoledb3 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14305 Modified Files: Makefile myoledb-debug.wxs myoledb.wxs myprov.rc myver.h Log Message: version 3.9.3 Index: Makefile =================================================================== RCS file: /cvsroot/myoledb/myoledb3/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile 9 Nov 2005 10:22:21 -0000 1.5 +++ Makefile 9 Nov 2005 15:54:26 -0000 1.6 @@ -2,7 +2,7 @@ wixdir="c:/DevTools/wix/" mysqllibdir="e:/sjsoft/code/mysql-libraries/mysql-5.0.15-win" -version=3.9.2 +version=3.9.3 MAKEFLAGS= # work out the sourcefiles from the Visual C++ Makefile Index: myprov.rc =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myprov.rc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- myprov.rc 9 Nov 2005 10:22:21 -0000 1.5 +++ myprov.rc 9 Nov 2005 15:54:26 -0000 1.6 @@ -32,8 +32,8 @@ // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,9,2,0 - PRODUCTVERSION 3,9,2,0 + FILEVERSION 3,9,3,0 + PRODUCTVERSION 3,9,3,0 FILEFLAGSMASK 0x3L #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,14 +51,14 @@ VALUE "Comments", "\0" VALUE "CompanyName", "Standard&Western Software\0" VALUE "FileDescription", "MyOLEDB Provider \0" - VALUE "FileVersion", "03.09.0200\0" + VALUE "FileVersion", "03.09.0300\0" VALUE "InternalName", "MYSQLPROV\0" VALUE "LegalCopyright", "Copyright © SWsoft 1998-2000\0" VALUE "LegalTrademarks", "Windows(TM) is a trademark of Microsoft Corporation. Microsoft® is a registered trademark of Microsoft Corporation.\0" VALUE "OriginalFilename", "MYPROV.DLL\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "OLE DB Provider for MySQL\0" - VALUE "ProductVersion", "03.09.0200\0" + VALUE "ProductVersion", "03.09.0300\0" VALUE "SpecialBuild", "\0" END END Index: myoledb-debug.wxs =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myoledb-debug.wxs,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- myoledb-debug.wxs 9 Nov 2005 10:22:21 -0000 1.3 +++ myoledb-debug.wxs 9 Nov 2005 15:54:26 -0000 1.4 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> - <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" Name="MyOleDB" Language="1033" Version="3.9.2.0" Manufacturer="St. James Software"> + <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" Name="MyOleDB" Language="1033" Version="3.9.3.0" Manufacturer="St. James Software"> <Package Id="????????-????-????-????-????????????" Description="MyOleDB Installer" Comments="An OleDB driver for MySQL (debug version)" Manufacturer="St. James Software" InstallerVersion="200" Compressed="yes"/> Index: myoledb.wxs =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myoledb.wxs,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- myoledb.wxs 9 Nov 2005 10:22:21 -0000 1.9 +++ myoledb.wxs 9 Nov 2005 15:54:26 -0000 1.10 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi"> - <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" UpgradeCode="09A01F85-AC55-41E4-80DE-293C35AF7796" Name="MyOleDB" Language="1033" Version="3.9.2.0" Manufacturer="St. James Software"> + <Product Id="E170C29B-5F08-4759-8538-2B685F7CFC39" UpgradeCode="09A01F85-AC55-41E4-80DE-293C35AF7796" Name="MyOleDB" Language="1033" Version="3.9.3.0" Manufacturer="St. James Software"> <Package Id="????????-????-????-????-????????????" Description="MyOleDB Installer" Comments="An OleDB driver for MySQL" Manufacturer="St. James Software" InstallerVersion="200" Compressed="yes"/> Index: myver.h =================================================================== RCS file: /cvsroot/myoledb/myoledb3/myver.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- myver.h 9 Nov 2005 10:22:21 -0000 1.4 +++ myver.h 9 Nov 2005 15:54:26 -0000 1.5 @@ -19,10 +19,10 @@ #ifndef _AXVER_H_ #define _AXVER_H_ -#define VER_FILEVERSION 03,09,0200 -#define VER_FILEVERSION_STR "03.09.0200\0" -#define VER_PRODUCTVERSION 03,09,0200 -#define VER_PRODUCTVERSION_STR "03.09.0200\0" +#define VER_FILEVERSION 03,09,0300 +#define VER_FILEVERSION_STR "03.09.0300\0" +#define VER_PRODUCTVERSION 03,09,0300 +#define VER_PRODUCTVERSION_STR "03.09.0300\0" #define VER_LFILEVERSION_STR L"03.90" #define VER_FILEFLAGSMASK (VS_FF_DEBUG | VS_FF_PRERELEASE) |