Changeset: bea8ce217040 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bea8ce217040 Added Files: sql/test/mergetables/Tests/sqlsmith-exists2.sql sql/test/mergetables/Tests/sqlsmith-exists2.stable.err sql/test/mergetables/Tests/sqlsmith-exists2.stable.out Removed Files: sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.sql sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.stable.err sql/test/BugTracker-2019/Tests/prepared-select-with-error-causes-hang.Jira-292.stable.out 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/mclient.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc 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_calc.c gdk/gdk_cand.c gdk/gdk_cross.c gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_orderidx.c gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_tracer.h gdk/gdk_unique.c gdk/libbat.rc geom/monetdb5/geom.c geom/monetdb5/geomBulk.c libversions monetdb5/NT/M5server.bat monetdb5/extras/rapi/rapi.c monetdb5/mal/Tests/tracer00.malC monetdb5/mal/mal_atom.c monetdb5/mal/mal_authorize.c monetdb5/mal/mal_builder.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_exception.c monetdb5/mal/mal_factory.c monetdb5/mal/mal_import.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_namespace.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_session.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/inet.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/str.c monetdb5/modules/atoms/streams.c monetdb5/modules/atoms/url.c monetdb5/modules/atoms/uuid.c monetdb5/modules/atoms/xml.c monetdb5/modules/kernel/alarm.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/groupby.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/iterator.c monetdb5/modules/mal/json_util.c monetdb5/modules/mal/language.c monetdb5/modules/mal/mal_io.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/manual.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/mkey.c monetdb5/modules/mal/oltp.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/projectionpath.c monetdb5/modules/mal/querylog.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/tracer.c monetdb5/modules/mal/txtsim.c monetdb5/modules/mal/wlc.c monetdb5/optimizer/opt_aliases.c monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_constants.c monetdb5/optimizer/opt_dataflow.c monetdb5/optimizer/opt_deadcode.c monetdb5/optimizer/opt_emptybind.c monetdb5/optimizer/opt_evaluate.c monetdb5/optimizer/opt_garbageCollector.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_jit.c monetdb5/optimizer/opt_json.c monetdb5/optimizer/opt_macro.c monetdb5/optimizer/opt_matpack.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_oltp.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_postfix.c monetdb5/optimizer/opt_projectionpath.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_querylog.c monetdb5/optimizer/opt_remap.c monetdb5/optimizer/opt_remoteQueries.c monetdb5/optimizer/opt_reorder.c monetdb5/optimizer/opt_volcano.c monetdb5/optimizer/opt_wlc.c monetdb5/optimizer/opt_wrapper.c monetdb5/scheduler/run_adder.c monetdb5/scheduler/run_memo.c monetdb5/tools/libmonetdb5.rc sql/ChangeLog sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/pyapi/connection.c sql/backends/monet5/UDF/pyapi/conversion.c sql/backends/monet5/UDF/pyapi/convert_loops.h sql/backends/monet5/UDF/pyapi/formatinput.c sql/backends/monet5/UDF/pyapi/pyapi.c sql/backends/monet5/UDF/pyapi/pyloader.c sql/backends/monet5/UDF/pyapi/type_conversion.c sql/backends/monet5/UDF/udf/udf.c sql/backends/monet5/generator/generator.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_bat2time.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_cast_impl_down_from_flt.h sql/backends/monet5/sql_cast_impl_int.h sql/backends/monet5/sql_cast_impl_up_to_flt.h sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_datetrunc.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_fround_impl.h sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_rank.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_session.mal sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_subquery.c sql/backends/monet5/sql_transaction.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/backends/monet5/vaults/bam/bam_export.c sql/backends/monet5/vaults/bam/bam_lib.c sql/backends/monet5/vaults/bam/bam_loader.c sql/backends/monet5/vaults/bam/bam_wrapper.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/lidar/lidar.c sql/backends/monet5/vaults/netcdf/netcdf.c sql/backends/monet5/vaults/shp/shp.c sql/backends/monet5/wlr.c sql/scripts/22_clients.sql sql/scripts/26_sysmon.sql sql/scripts/51_sys_schema_extension.sql sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_semantic.c sql/server/rel_sequence.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_mvc.c sql/server/sql_parser.y sql/server/sql_partition.c sql/server/sql_qc.c sql/server/sql_qc.h sql/server/sql_scan.c sql/server/sql_semantic.c sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql sql/test/BugTracker-2012/Tests/querycache.Bug-3212.stable.out sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql 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/crash_correlated_subqueries_in_select.Bug-6254.stable.out sql/test/BugTracker-2019/Tests/All sql/test/BugTracker-2019/Tests/date_trunc.stable.out sql/test/BugTracker-2019/Tests/date_trunc_bulk.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out.int128 sql/test/Users/Tests/sessioncontrol.sql sql/test/Users/Tests/sessioncontrol.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/All sql/test/mergetables/Tests/sqlsmith-exists.sql 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/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 tools/merovingian/daemon/connections.c vertoo.data Branch: gdk_tracer Log Message:
Merge with default & minor changes diffs (truncated from 21140 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