Changeset: af59be983c1a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af59be983c1a Added Files: sql/backends/monet5/UDF/pyapi/pyapi_locatepython2.bat.in sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat.in sql/benchmarks/tpcds/Tests/load.timeout sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.sql sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.err sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.out sql/test/BugTracker-2019/Tests/drop-table-cascade.Bug-6805.sql sql/test/BugTracker-2019/Tests/drop-table-cascade.Bug-6805.stable.err sql/test/BugTracker-2019/Tests/drop-table-cascade.Bug-6805.stable.out sql/test/mergetables/Tests/sqlsmith-exists2.stable.err sql/test/mergetables/Tests/sqlsmith-exists2.stable.out tools/merovingian/client/Tests/All tools/merovingian/client/Tests/monetdb_status.py Removed Files: sql/backends/monet5/UDF/pyapi/pyapi_locatepython2.bat sql/backends/monet5/UDF/pyapi3/pyapi_locatepython3.bat sql/test/mergetables/Tests/qlsmith-exist-lateral.reqtests Modified Files: .hgtags MonetDB.spec NT/mkodbcwxs.py NT/mksqlwxs.py NT/monetdb_config.h.in NT/rules.msc clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/Makefile.ag clients/mapiclient/mhelp.c clients/mapilib/Makefile.ag clients/odbc/driver/SQLColumnPrivileges.c clients/odbc/driver/SQLColumns.c clients/odbc/driver/SQLExecDirect.c clients/odbc/driver/SQLForeignKeys.c clients/odbc/driver/SQLPrimaryKeys.c clients/odbc/driver/SQLProcedureColumns.c clients/odbc/driver/SQLProcedures.c clients/odbc/driver/SQLSpecialColumns.c clients/odbc/driver/SQLStatistics.c clients/odbc/driver/SQLTablePrivileges.c clients/odbc/driver/SQLTables.c common/options/monet_getopt.h common/options/monet_options.h common/utils/mutils.c configure.ag debian/changelog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_atoms.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_cand.c gdk/gdk_cross.c gdk/gdk_delta.h gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_orderidx.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_string.c gdk/gdk_unique.c geom/monetdb5/geom.c libversions monetdb5/NT/M5server.bat monetdb5/mal/Tests/tst050.malC monetdb5/mal/Tests/tst050.stable.err monetdb5/mal/mal_builder.c monetdb5/mal/mal_function.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_module.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_session.c monetdb5/mal/mal_stack.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/uuid.mal monetdb5/modules/atoms/xml.c monetdb5/modules/atoms/xml.h monetdb5/modules/atoms/xml.mal monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/orderidx.mal monetdb5/modules/mal/pcre.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/wlc.c monetdb5/modules/mal/wlc.h monetdb5/optimizer/opt_evaluate.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_oltp.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c monetdb5/optimizer/opt_reorder.c sql/ChangeLog sql/backends/monet5/Makefile.ag sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/pyapi/Makefile.ag sql/backends/monet5/UDF/pyapi/conversion.c sql/backends/monet5/UDF/pyapi3/Makefile.ag sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_gencode.h sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_subquery.mal sql/backends/monet5/sql_upgrades.c sql/include/sql_catalog.h sql/odbc/samples/Tests/odbcsample1.SQL.sh sql/odbc/samples/Tests/testgetinfo.SQL.sh sql/scripts/22_clients.sql sql/scripts/26_sysmon.sql sql/scripts/51_sys_schema_extension.sql sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_semantic.c sql/storage/bat/bat_storage.c sql/storage/sql_catalog.c sql/storage/store.c sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out sql/test/BugTracker-2014/Tests/queueError.Bug-3604.sql sql/test/BugTracker-2014/Tests/queueError.Bug-3604.stable.out sql/test/BugTracker-2017/Tests/All sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2017/Tests/limit.Bug-6322.stable.out sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.out sql/test/BugTracker-2019/Tests/All sql/test/Dependencies/Tests/dependency_loop.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out.int128 sql/test/Tests/session_vars.sql sql/test/Tests/session_vars.stable.err sql/test/Tests/session_vars.stable.out sql/test/Users/Tests/sessioncontrol.sql sql/test/Users/Tests/sessioncontrol.stable.out sql/test/Via-m/Tests/event_s03.stable.out sql/test/Via-m/Tests/event_s05.stable.out sql/test/Via-m/Tests/event_s07.stable.out sql/test/Via-m/Tests/event_s09.stable.out sql/test/Via-m/Tests/event_s11.stable.err sql/test/Via-m/Tests/event_s11.stable.out sql/test/Via-m/Tests/file_s04.stable.out sql/test/Via-m/Tests/file_s05.stable.out sql/test/Via-m/Tests/file_s06.stable.out sql/test/Via-m/Tests/file_s08.stable.out sql/test/Via-m/Tests/file_s10.stable.out sql/test/Via-m/Tests/file_s12.stable.out sql/test/Via-m/Tests/file_s15.stable.out sql/test/Via-m/Tests/media_s04.stable.out sql/test/Via-m/Tests/media_s06.stable.out sql/test/Via-m/Tests/media_s08.stable.out sql/test/Via-m/Tests/media_s10.stable.out sql/test/Via-m/Tests/media_s12.stable.out sql/test/Via-m/Tests/media_s14.stable.out sql/test/Via-m/Tests/media_s16.stable.out sql/test/Via-m/Tests/media_s18.stable.out sql/test/Via-m/Tests/media_s19.stable.out sql/test/Via-m/insert_event1.sql sql/test/Via-m/insert_event2.sql sql/test/Via-m/insert_event3.sql sql/test/Via-m/insert_event4.sql sql/test/Via-m/insert_file2.sql sql/test/Via-m/insert_file3.sql sql/test/Via-m/insert_file4.sql sql/test/Via-m/insert_file5.sql sql/test/Via-m/insert_file6.sql sql/test/Via-m/insert_file7.sql sql/test/Via-m/insert_file8.sql sql/test/Via-m/insert_media1.sql sql/test/Via-m/insert_media2.sql sql/test/Via-m/insert_media3.sql sql/test/Via-m/insert_media4.sql sql/test/Via-m/insert_media5.sql sql/test/Via-m/insert_media6.sql sql/test/Via-m/insert_media7.sql sql/test/analytics/Tests/analytics09.sql sql/test/analytics/Tests/analytics09.stable.err sql/test/analytics/Tests/analytics09.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/mergetables/Tests/sqlsmith-exists.stable.out sql/test/miscellaneous/Tests/deallocate.sql sql/test/miscellaneous/Tests/deallocate.stable.err sql/test/miscellaneous/Tests/deallocate.stable.out sql/test/pg_regress/Tests/timestamp.sql sql/test/pg_regress/Tests/timestamptz.sql sql/test/ssqq/Tests/insert_query.stable.out sql/test/ssqq/Tests/insert_queue.stable.out sql/test/ssqq/Tests/insert_quser.stable.out sql/test/ssqq/insert_query.sql sql/test/ssqq/insert_queue.sql sql/test/ssqq/insert_quser.sql sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery3.stable.out sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 testing/Mtest.py.in tools/merovingian/client/monetdb.c tools/merovingian/daemon/argvcmds.c tools/merovingian/daemon/connections.c tools/merovingian/daemon/forkmserver.c tools/merovingian/utils/utils.c tools/mserver/Makefile.ag Branch: json Log Message:
Merge with default diffs (truncated from 90720 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -744,3 +744,9 @@ 90486f8f87ff0602f3ab143c629ba0aed2153d64 13efc12c95a279d41dbc4440369defc1d7c21d0f Nov2019_release fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_5 fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_SP1_release +e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_7 +fffd3aabeae5e2c5b535179471e5730742962a76 Nov2019_SP1_release +e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release +8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_9 +e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release +8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_SP1_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1061,6 +1061,13 @@ fi %postun -p /sbin/ldconfig %changelog +* Wed Dec 18 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.9-20191218 +- Rebuilt. +- BZ#6804: DNS resolution of 0.0.0.0 fails on recent Ubuntus + +* Tue Dec 17 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.7-20191217 +- Rebuilt. + * Thu Dec 12 2019 Sjoerd Mullender <sjo...@acm.org> - 11.35.5-20191212 - Rebuilt. - BZ#6723: columns aliases duplicates should not be allowed. automatic diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -13,13 +13,13 @@ upgradecode = {'x64': '{95ACBC8C-BC4B-49 def comp(features, id, depth, files, fid=None, name=None, args=None, sid=None, vital=None): indent = ' ' * depth for f in files: - print('%s<Component Id="_%d" Guid="*">' % (indent, id)) - print('%s <File DiskId="1"%s KeyPath="yes" Name="%s" Source="%s"%s%s' % (indent, fid and (' Id="%s"' % fid) or '', f.split('\\')[-1], f, vital and (' Vital="%s"' % vital) or '', name and '>' or '/>')) + print('{}<Component Id="_{}" Guid="*">'.format(indent, id)) + print('{} <File DiskId="1"{} KeyPath="yes" Name="{}" Source="{}"{}{}'.format(indent, fid and (' Id="{}"'.format(fid)) or '', f.split('\\')[-1], f, vital and (' Vital="{}"'.format(vital)) or '', name and '>' or '/>')) if name: - print('%s <Shortcut Id="%s" Advertise="yes"%s Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="%s" WorkingDirectory="INSTALLDIR"/>' % (indent, sid, args and (' Arguments="%s"' % args) or '', name)) - print('%s </File>' % indent) - print('%s</Component>' % indent) - features.append('_%d' % id) + print('{} <Shortcut Id="{}" Advertise="yes"{} Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="{}" WorkingDirectory="INSTALLDIR"/>'.format(indent, sid, args and (' Arguments="{}"'.format(args)) or '', name)) + print('{} </File>'.format(indent)) + print('{}</Component>'.format(indent)) + features.append('_{}'.format(id)) id += 1 return id @@ -43,8 +43,8 @@ def main(): features = [] print(r'<?xml version="1.0"?>') print(r'<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">') - print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB ODBC Driver" UpgradeCode="%s" Version="%s">' % (upgradecode[arch], sys.argv[1])) - print(r' <Package Id="*" Comments="MonetDB ODBC Driver" Compressed="yes" InstallerVersion="301" Keywords="MonetDB SQL ODBC" Languages="1033" Manufacturer="MonetDB BV" Platform="%s"/>' % arch) + print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB ODBC Driver" UpgradeCode="{}" Version="{}">'.format(upgradecode[arch], sys.argv[1])) + print(r' <Package Id="*" Comments="MonetDB ODBC Driver" Compressed="yes" InstallerVersion="301" Keywords="MonetDB SQL ODBC" Languages="1033" Manufacturer="MonetDB BV" Platform="{}"/>'.format(arch)) print(r' <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A later version of [ProductName] is already installed." AllowSameVersionUpgrades="no"/>') print(r' <WixVariable Id="WixUILicenseRtf" Value="license.rtf"/>') print(r' <WixVariable Id="WixUIBannerBmp" Value="banner.bmp"/>') @@ -55,14 +55,14 @@ def main(): print(r' <CustomAction Id="driverinstall" FileKey="odbcinstall" ExeCommand="/Install" Execute="deferred" Impersonate="no"/>') print(r' <CustomAction Id="driveruninstall" FileKey="odbcinstall" ExeCommand="/Uninstall" Execute="deferred" Impersonate="no"/>') print(r' <Directory Id="TARGETDIR" Name="SourceDir">') - msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20%s\Community\VC\Redist\MSVC' % vs + msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20{}\Community\VC\Redist\MSVC'.format(vs) d = sorted(os.listdir(msvc))[-1] - msm = '_CRT_%s.msm' % arch + msm = '_CRT_{}.msm'.format(arch) for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))): if msm in f: fn = f - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) - print(r' <Directory Id="%s">' % folder) + print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="{}\{}\MergeModules\{}"/>'.format(msvc, d, fn)) + print(r' <Directory Id="{}">'.format(folder)) print(r' <Directory Id="ProgramFilesMonetDB" Name="MonetDB">') print(r' <Directory Id="INSTALLDIR" Name="MonetDB ODBC Driver">') id = 1 @@ -72,10 +72,10 @@ def main(): r'lib\libMonetODBC.dll', r'lib\libMonetODBC.pdb', r'lib\libMonetODBCs.dll', r'lib\libMonetODBCs.pdb', r'lib\libstream.dll', r'lib\libstream.pdb', - r'%s\bin\iconv-2.dll' % makedefs['LIBICONV'], - r'%s\bin\libbz2.dll' % makedefs['LIBBZIP2'], - r'%s\bin\libcrypto-1_1%s.dll' % (makedefs['LIBOPENSSL'], libcrypto), - r'%s\bin\zlib1.dll' % makedefs['LIBZLIB']]) + r'{}\bin\iconv-2.dll'.format(makedefs['LIBICONV']), + r'{}\bin\libbz2.dll'.format(makedefs['LIBBZIP2']), + r'{}\bin\libcrypto-1_1{}.dll'.format(makedefs['LIBOPENSSL'], libcrypto), + r'{}\bin\zlib1.dll'.format(makedefs['LIBZLIB'])]) print(r' </Directory>') id = comp(features, id, 12, [r'license.rtf']) @@ -102,7 +102,7 @@ def main(): print(r' </Directory>') print(r' <Feature Id="Complete" ConfigurableDirectory="INSTALLDIR" Title="MonetDB ODBC Driver">') for f in features: - print(r' <ComponentRef Id="%s"/>' % f) + print(r' <ComponentRef Id="{}"/>'.format(f)) print(r' <MergeRef Id="VCRedist"/>') print(r' </Feature>') print(r' <UIRef Id="WixUI_InstallDir"/>') diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -20,13 +20,13 @@ geomupgradecode = { def comp(features, id, depth, files, name=None, args=None, sid=None, vital=None): indent = ' ' * depth for f in files: - print('%s<Component Id="_%d" Guid="*">' % (indent, id)) - print('%s <File DiskId="1" KeyPath="yes" Name="%s" Source="%s"%s%s' % (indent, f.split('\\')[-1], f, vital and (' Vital="%s"' % vital) or '', name and '>' or '/>')) + print('{}<Component Id="_{}" Guid="*">'.format(indent, id)) + print('{} <File DiskId="1" KeyPath="yes" Name="{}" Source="{}"{}{}'.format(indent, f.split('\\')[-1], f, vital and (' Vital="{}"'.format(vital)) or '', name and '>' or '/>')) if name: - print('%s <Shortcut Id="%s" Advertise="yes"%s Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="%s" WorkingDirectory="INSTALLDIR"/>' % (indent, sid, args and (' Arguments="%s"' % args) or '', name)) - print('%s </File>' % indent) - print('%s</Component>' % indent) - features.append('_%d' % id) + print('{} <Shortcut Id="{}" Advertise="yes"{} Directory="ProgramMenuDir" Icon="monetdb.ico" IconIndex="0" Name="{}" WorkingDirectory="INSTALLDIR"/>'.format(indent, sid, args and (' Arguments="{}"'.format(args)) or '', name)) + print('{} </File>'.format(indent)) + print('{}</Component>'.format(indent)) + features.append('_{}'.format(id)) id += 1 return id @@ -55,13 +55,13 @@ def main(): pyapi3 = [] print(r'<?xml version="1.0"?>') print(r'<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">') - print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB5" UpgradeCode="%s" Version="%s">' % (upgradecode[arch], sys.argv[1])) - print(r' <Package Id="*" Comments="MonetDB5/SQL Server and Client" Compressed="yes" InstallerVersion="301" Keywords="MonetDB5 MonetDB SQL Database" Languages="1033" Manufacturer="MonetDB BV" Platform="%s"/>' % arch) - print(r' <Upgrade Id="%s">' % geomupgradecode[arch]) + print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB5" UpgradeCode="{}" Version="{}">'.format(upgradecode[arch], sys.argv[1])) + print(r' <Package Id="*" Comments="MonetDB5/SQL Server and Client" Compressed="yes" InstallerVersion="301" Keywords="MonetDB5 MonetDB SQL Database" Languages="1033" Manufacturer="MonetDB BV" Platform="{}"/>'.format(arch)) + print(r' <Upgrade Id="{}">'.format(geomupgradecode[arch])) # up to and including 11.29.3, the geom module can not be # uninstalled if MonetDB/SQL is not installed; this somehow also # precludes the upgrade to this version - print(r' <UpgradeVersion OnlyDetect="no" Minimum="11.29.3" IncludeMinimum="no" Maximum="%s" Property="GEOMINSTALLED"/>' % sys.argv[1]) + print(r' <UpgradeVersion OnlyDetect="no" Minimum="11.29.3" IncludeMinimum="no" Maximum="{}" Property="GEOMINSTALLED"/>'.format(sys.argv[1])) print(r' </Upgrade>') print(r' <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A later version of [ProductName] is already installed." AllowSameVersionUpgrades="no"/>') print(r' <WixVariable Id="WixUILicenseRtf" Value="license.rtf"/>') @@ -103,7 +103,7 @@ def main(): # precludes the upgrade to this version, therefore we disallow # running the current installer print(r' <Property Id="OLDGEOMINSTALLED">') - print(r' <ProductSearch UpgradeCode="%s" Minimum="11.1.1" Maximum="11.29.3" IncludeMinimum="yes" IncludeMaximum="yes"/>' % geomupgradecode[arch]) + print(r' <ProductSearch UpgradeCode="{}" Minimum="11.1.1" Maximum="11.29.3" IncludeMinimum="yes" IncludeMaximum="yes"/>'.format(geomupgradecode[arch])) print(r' </Property>') print(r' <Condition Message="Please uninstall MonetDB5 SQL GIS Module first, then rerun and select to install Complete package.">') print(r' NOT OLDGEOMINSTALLED') @@ -114,14 +114,14 @@ def main(): print(r' <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>') print(r' <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>') print(r' <Directory Id="TARGETDIR" Name="SourceDir">') - msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20%s\Community\VC\Redist\MSVC' % vs + msvc = r'C:\Program Files (x86)\Microsoft Visual Studio\20{}\Community\VC\Redist\MSVC'.format(vs) d = sorted(os.listdir(msvc))[-1] - msm = '_CRT_%s.msm' % arch + msm = '_CRT_{}.msm'.format(arch) for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))): if msm in f: fn = f - print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn)) - print(r' <Directory Id="%s">' % folder) + print(r' <Merge Id="VCRedist" DiskId="1" Language="0" SourceFile="{}\{}\MergeModules\{}"/>'.format(msvc, d, fn)) + print(r' <Directory Id="{}">'.format(folder)) print(r' <Directory Id="ProgramFilesMonetDB" Name="MonetDB">') print(r' <Directory Id="INSTALLDIR" Name="MonetDB5">') print(r' <Component Id="registry">') @@ -141,12 +141,12 @@ def main(): r'lib\libmapi.dll', r'lib\libmonetdb5.dll', r'lib\libstream.dll', - r'%s\bin\iconv-2.dll' % makedefs['LIBICONV'], - r'%s\bin\libbz2.dll' % makedefs['LIBBZIP2'], - r'%s\bin\libcrypto-1_1%s.dll' % (makedefs['LIBOPENSSL'], libcrypto), - r'%s\bin\libxml2.dll' % makedefs['LIBXML2'], - r'%s\bin\pcre.dll' % makedefs['LIBPCRE'], - r'%s\bin\zlib1.dll' % makedefs['LIBZLIB']]) + r'{}\bin\iconv-2.dll'.format(makedefs['LIBICONV']), + r'{}\bin\libbz2.dll'.format(makedefs['LIBBZIP2']), + r'{}\bin\libcrypto-1_1{}.dll'.format(makedefs['LIBOPENSSL'], libcrypto), + r'{}\bin\libxml2.dll'.format(makedefs['LIBXML2']), + r'{}\bin\pcre.dll'.format(makedefs['LIBPCRE']), + r'{}\bin\zlib1.dll'.format(makedefs['LIBZLIB'])]) id = comp(debug, id, 14, [r'bin\mclient.pdb', r'bin\mserver5.pdb', @@ -157,7 +157,8 @@ def main(): r'lib\libmonetdb5.pdb', r'lib\libstream.pdb']) id = comp(geom, id, 14, - [r'%s\bin\geos_c.dll' % makedefs['LIBGEOS']]) + [r'{}\bin\geos_c.dll'.format(makedefs['LIBGEOS']), + r'{}\bin\geos.dll'.format(makedefs['LIBGEOS'])]) print(r' </Directory>') print(r' <Directory Id="etc" Name="etc">') id = comp(features, id, 14, [r'etc\.monetdb']) @@ -165,7 +166,7 @@ def main(): print(r' <Directory Id="include" Name="include">') print(r' <Directory Id="monetdb" Name="monetdb">') id = comp(extend, id, 16, - sorted([r'include\monetdb\%s' % x for x in filter(lambda x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal')) and x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] + + sorted([r'include\monetdb\{}'.format(x) for x in filter(lambda x: (x.startswith('gdk') or x.startswith('monet') or x.startswith('mal')) and x.endswith('.h'), os.listdir(os.path.join(sys.argv[3], 'include', 'monetdb')))] + [r'include\monetdb\mapi.h', r'include\monetdb\matomic.h', r'include\monetdb\stream.h', @@ -177,30 +178,30 @@ def main(): print(r' <Directory Id="monetdb5" Name="monetdb5">') print(r' <Directory Id="autoload" Name="autoload">') id = comp(features, id, 18, - [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) + [r'lib\monetdb5\autoload\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) id = comp(geom, id, 18, - [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) + [r'lib\monetdb5\autoload\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) id = comp(pyapi2, id, 18, - [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda x: x.endswith('_pyapi.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) + [r'lib\monetdb5\autoload\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('_pyapi.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) id = comp(pyapi3, id, 18, - [r'lib\monetdb5\autoload\%s' % x for x in sorted(filter(lambda x: x.endswith('_pyapi3.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) + [r'lib\monetdb5\autoload\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('_pyapi3.mal'), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'autoload'))))]) print(r' </Directory>') print(r' <Directory Id="createdb" Name="createdb">') id = comp(features, id, 18, - [r'lib\monetdb5\createdb\%s' % x for x in sorted(filter(lambda x: x.endswith('.sql') and ('geom' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))]) + [r'lib\monetdb5\createdb\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.sql') and ('geom' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))]) id = comp(geom, id, 18, - [r'lib\monetdb5\createdb\%s' % x for x in sorted(filter(lambda x: x.endswith('.sql') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))]) + [r'lib\monetdb5\createdb\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.sql') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5', 'createdb'))))]) print(r' </Directory>') id = comp(features, id, 16, - [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) id = comp(features, id, 16, - [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) id = comp(debug, id, 16, - [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.pdb') and ('geom' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and x.endswith('.pdb') and ('geom' not in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) id = comp(geom, id, 16, - [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.endswith('.mal') and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) id = comp(geom, id, 16, - [r'lib\monetdb5\%s' % x for x in sorted(filter(lambda x: x.startswith('lib_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) + [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x: x.startswith('lib_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))]) id = comp(pyapi2, id, 16, [r'lib\monetdb5\pyapi.mal', r'lib\monetdb5\lib_pyapi.dll']) @@ -213,12 +214,12 @@ def main(): r'lib\libmapi.lib', r'lib\libmonetdb5.lib', r'lib\libstream.lib', - r'%s\lib\iconv.dll.lib' % makedefs['LIBICONV'], - r'%s\lib\libbz2.lib' % makedefs['LIBBZIP2'], - r'%s\lib\libcrypto.lib' % makedefs['LIBOPENSSL'], - r'%s\lib\libxml2.lib' % makedefs['LIBXML2'], - r'%s\lib\pcre.lib' % makedefs['LIBPCRE'], - r'%s\lib\zdll.lib' % makedefs['LIBZLIB']]) + r'{}\lib\iconv.dll.lib'.format(makedefs['LIBICONV']), + r'{}\lib\libbz2.lib'.format(makedefs['LIBBZIP2']), + r'{}\lib\libcrypto.lib'.format(makedefs['LIBOPENSSL']), + r'{}\lib\libxml2.lib'.format(makedefs['LIBXML2']), + r'{}\lib\pcre.lib'.format(makedefs['LIBPCRE']), + r'{}\lib\zdll.lib'.format(makedefs['LIBZLIB'])]) print(r' </Directory>') print(r' <Directory Id="share" Name="share">') print(r' <Directory Id="doc" Name="doc">') @@ -268,32 +269,32 @@ def main(): print(r' <Feature Id="Complete" ConfigurableDirectory="INSTALLDIR" Display="expand" InstallDefault="local" Title="MonetDB/SQL" Description="The complete package.">') print(r' <Feature Id="MainServer" AllowAdvertise="no" Absent="disallow" Title="MonetDB/SQL" Description="The MonetDB/SQL server.">') for f in features: - print(r' <ComponentRef Id="%s"/>' % f) + print(r' <ComponentRef Id="{}"/>'.format(f)) print(r' <MergeRef Id="VCRedist"/>') print(r' </Feature>') print(r' <Feature Id="PyAPI2" Level="1000" AllowAdvertise="no" Absent="allow" Title="Include embedded Python 2" Description="Files required for using embedded Python 2.">') for f in pyapi2: - print(r' <ComponentRef Id="%s"/>' % f) + print(r' <ComponentRef Id="{}"/>'.format(f)) print(r' <Condition Level="1">PYAPI2EXISTS</Condition>') print(r' </Feature>') print(r' <Feature Id="PyAPI3" Level="1000" AllowAdvertise="no" Absent="allow" Title="Include embedded Python 3" Description="Files required for using embedded Python 3.">') for f in pyapi3: - print(r' <ComponentRef Id="%s"/>' % f) + print(r' <ComponentRef Id="{}"/>'.format(f)) print(r' <Condition Level="1">PYAPI3EXISTS</Condition>') print(r' </Feature>') print(r' <Feature Id="Extend" Level="1000" AllowAdvertise="no" Absent="allow" Title="Extend MonetDB/SQL" Description="Files required for extending MonetDB (include files and .lib files).">') for f in extend: - print(r' <ComponentRef Id="%s"/>' % f) + print(r' <ComponentRef Id="{}"/>'.format(f)) print(r' <Condition Level="1">INCLUDEEXISTS</Condition>') _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list