Changeset: a8115ccb4014 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a8115ccb4014 Added Files: clients/NT/mclient.bat.in clients/NT/msqldump.bat.in monetdb5/NT/M5server.bat.in Removed Files: clients/NT/mclient.bat clients/NT/msqldump.bat monetdb5/NT/M5server.bat Modified Files: ChangeLog MonetDB.spec NT/mkodbcwxs.py NT/mksqlwxs.py clients/NT/CMakeLists.txt clients/mapilib/CMakeLists.txt clients/mapilib/monetdb-mapi.pc.in common/stream/CMakeLists.txt common/stream/monetdb-stream.pc.in debian/libmonetdb-client-dev.install debian/libmonetdb-client26.install debian/libmonetdb-dev.install debian/libmonetdb-stream-dev.install debian/libmonetdb-stream26.install debian/libmonetdb28.install debian/libmonetdb5-server-cfitsio.install debian/libmonetdb5-server-geom.install debian/monetdb-python3.install debian/monetdb-r.install debian/monetdb5-server-dev.install debian/monetdb5-server.install gdk/CMakeLists.txt gdk/monetdb-gdk.pc.in geom/monetdb5/CMakeLists.txt misc/selinux/monetdb.fc.in misc/selinux/monetdb.te monetdb5/NT/CMakeLists.txt monetdb5/extras/mal_optimizer_template/CMakeLists.txt monetdb5/extras/rapi/CMakeLists.txt monetdb5/extras/rapi/rapi.R monetdb5/extras/rapi/rapi.c monetdb5/modules/kernel/CMakeLists.txt monetdb5/tools/CMakeLists.txt monetdb5/tools/monetdb5.pc.in sql/backends/monet5/CMakeLists.txt sql/backends/monet5/UDF/capi/CMakeLists.txt sql/backends/monet5/UDF/pyapi3/CMakeLists.txt sql/backends/monet5/UDF/udf/CMakeLists.txt sql/backends/monet5/generator/CMakeLists.txt sql/backends/monet5/vaults/csv/CMakeLists.txt sql/backends/monet5/vaults/fits/CMakeLists.txt sql/backends/monet5/vaults/netcdf/CMakeLists.txt sql/backends/monet5/vaults/shp/CMakeLists.txt tools/mserver/mserver5.c Branch: default Log Message:
Add version numbers to selected files names. This is a step towards being able to have compatibility (i.e. older) versions installed at the same time. diffs (truncated from 947 to 300 lines): diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ # This file is updated with Maddlog * Wed May 8 2024 Sjoerd Mullender <sjo...@acm.org> +- The shared library (.dll aka .so files) now have the version number + as part of the name. This should allow the building of compatibility + versions that can be installed in parallel to the latest version. - Some of the Debian/Ubuntu packages have been renamed. The old monetdb5 names have been changed to plain monetdb, and libmonetdb5-server-* packages have been renamed monetdb-*. diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -176,7 +176,7 @@ more client packages. %files %license COPYING %defattr(-,root,root) -%{_libdir}/libbat.so.* +%{_libdir}/libbat*.so.* %package devel Summary: MonetDB development files @@ -202,7 +202,7 @@ functionality of MonetDB. %{_includedir}/monetdb/mstring.h %exclude %{_includedir}/monetdb/monetdbe.h %{_includedir}/monetdb/monet*.h -%{_libdir}/libbat.so +%{_libdir}/libbat*.so %{_libdir}/pkgconfig/monetdb-gdk.pc %package stream @@ -223,7 +223,7 @@ various other components. %files stream %license COPYING %defattr(-,root,root) -%{_libdir}/libstream.so.* +%{_libdir}/libstream*.so.* %package stream-devel Summary: MonetDB stream library @@ -245,7 +245,7 @@ library. %files stream-devel %defattr(-,root,root) %dir %{_includedir}/monetdb -%{_libdir}/libstream.so +%{_libdir}/libstream*.so %{_includedir}/monetdb/stream.h %{_includedir}/monetdb/stream_socket.h %{_libdir}/pkgconfig/monetdb-stream.pc @@ -273,7 +273,7 @@ you will very likely need this package. %files client-lib %license COPYING %defattr(-,root,root) -%{_libdir}/libmapi.so.* +%{_libdir}/libmapi*.so.* %package client Summary: MonetDB - Monet Database Management System Client Programs @@ -298,8 +298,8 @@ MonetDB, you will very likely need this %files client %license COPYING %defattr(-,root,root) -%{_bindir}/mclient -%{_bindir}/msqldump +%{_bindir}/mclient* +%{_bindir}/msqldump* %{_mandir}/man1/mclient.1* %{_mandir}/man1/msqldump.1* @@ -321,7 +321,7 @@ This package contains the files needed t %files client-devel %defattr(-,root,root) %dir %{_includedir}/monetdb -%{_libdir}/libmapi.so +%{_libdir}/libmapi*.so %{_includedir}/monetdb/mapi*.h %{_includedir}/monetdb/msettings.h %{_libdir}/pkgconfig/monetdb-mapi.pc @@ -433,7 +433,7 @@ extensions for %{name}-server. %files geom %defattr(-,root,root) -%{_libdir}/monetdb5/lib_geom.so +%{_libdir}/monetdb5*/lib_geom.so %endif %if %{with rintegration} @@ -457,8 +457,8 @@ install it. %files R %defattr(-,root,root) -%{_libdir}/monetdb5/rapi.R -%{_libdir}/monetdb5/lib_rapi.so +%{_libdir}/monetdb5*/rapi.R +%{_libdir}/monetdb5*/lib_rapi.so %endif %if %{with py3integration} @@ -483,7 +483,7 @@ install it. %files python3 %defattr(-,root,root) -%{_libdir}/monetdb5/lib_pyapi3.so +%{_libdir}/monetdb5*/lib_pyapi3.so %endif %if %{with fits} @@ -503,7 +503,7 @@ format. %files cfitsio %defattr(-,root,root) -%{_libdir}/monetdb5/lib_fits.so +%{_libdir}/monetdb5*/lib_fits.so %endif %package libs @@ -528,14 +528,14 @@ embedded library (%{name}-embedded). %files libs %defattr(-,root,root) -%{_libdir}/libmonetdb5.so.* -%{_libdir}/libmonetdbsql.so* -%dir %{_libdir}/monetdb5 +%{_libdir}/libmonetdb5*.so.* +%{_libdir}/libmonetdbsql*.so* +%dir %{_libdir}/monetdb5%{version} %if %{with cintegration} -%{_libdir}/monetdb5/lib_capi.so +%{_libdir}/monetdb5*/lib_capi.so %endif -%{_libdir}/monetdb5/lib_csv.so -%{_libdir}/monetdb5/lib_generator.so +%{_libdir}/monetdb5*/lib_csv.so +%{_libdir}/monetdb5*/lib_generator.so %package server Summary: MonetDB - Monet Database Management System @@ -590,7 +590,7 @@ exit 0 %attr(2750,monetdb,monetdb) %dir %{_localstatedir}/lib/monetdb %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5/dbfarm -%{_bindir}/mserver5 +%{_bindir}/mserver5* %{_mandir}/man1/mserver5.1* %dir %{_datadir}/doc/MonetDB %docdir %{_datadir}/doc/MonetDB @@ -618,7 +618,7 @@ used from the MAL level. %defattr(-,root,root) %{_includedir}/monetdb/mal*.h %{_includedir}/monetdb/mel.h -%{_libdir}/libmonetdb5.so +%{_libdir}/libmonetdb5*.so %{_libdir}/pkgconfig/monetdb5.pc %package SQL @@ -653,8 +653,7 @@ configuration. %files SQL %defattr(-,root,root) -%{_bindir}/monetdb -%{_bindir}/monetdbd +%{_bindir}/monetdb* %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb %dir %attr(775,monetdb,monetdb) %{_rundir}/monetdb # RHEL >= 7, and all current Fedora @@ -813,7 +812,7 @@ do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || : done -/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : +/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd* %{_bindir}/mserver5* %{_unitdir}/monetdbd.service &> /dev/null || : /usr/bin/systemctl try-restart monetdbd.service %postun selinux @@ -826,7 +825,7 @@ if [ $1 -eq 0 ] ; then do /usr/sbin/semodule -s ${selinuxvariant} -r monetdb &> /dev/null || : done - /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : + /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd* %{_bindir}/mserver5* %{_unitdir}/monetdbd.service &> /dev/null || : if [ $active = active ]; then /usr/bin/systemctl start monetdbd.service fi @@ -900,12 +899,17 @@ install -d -m 0775 %{buildroot}%{_locals install -d -m 0775 %{buildroot}%{_rundir}/monetdb # remove unwanted stuff -rm -f %{buildroot}%{_libdir}/monetdb5/lib_opt_sql_append.so -rm -f %{buildroot}%{_libdir}/monetdb5/lib_microbenchmark*.so -rm -f %{buildroot}%{_libdir}/monetdb5/lib_udf*.so +rm -f %{buildroot}%{_libdir}/monetdb5*/lib_opt_sql_append.so +rm -f %{buildroot}%{_libdir}/monetdb5*/lib_microbenchmark*.so +rm -f %{buildroot}%{_libdir}/monetdb5*/lib_udf*.so rm -f %{buildroot}%{_bindir}/monetdb_mtest.sh rm -rf %{buildroot}%{_datadir}/monetdb # /cmake +for f in monetdbd monetdb mserver5 mclient msqldump; do + mv %{buildroot}%{_bindir}/${f} %{buildroot}%{_bindir}/${f}%{version} + ln -s ${f}%{version} %{buildroot}%{_bindir}/${f} +done + if [ -x /usr/sbin/hardlink ]; then /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux else diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -35,6 +35,7 @@ def main(): if len(sys.argv) != 4: print(r'Usage: mkodbcwxs.py version bits installdir') return 1 + version = sys.argv[1] if sys.argv[2] == '64': folder = r'ProgramFiles64Folder' arch = 'x64' @@ -64,7 +65,7 @@ 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="{}" Version="{}">'.format(upgradecode[arch], sys.argv[1])) + print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB ODBC Driver" UpgradeCode="{}" Version="{}">'.format(upgradecode[arch], version)) print(r' <Package Id="*" Comments="MonetDB ODBC Driver" Compressed="yes" InstallerVersion="301" Keywords="MonetDB SQL ODBC" Languages="1033" Manufacturer="MonetDB Foundation" 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="share\license.rtf"/>') @@ -88,10 +89,10 @@ def main(): id = 1 print(r' <Directory Id="lib" Name="lib">') id = comp(features, id, 14, - [r'bin\mapi.dll', r'lib\mapi.pdb', + [rf'bin\mapi{version}.dll', rf'lib\mapi{version}.pdb', r'lib\MonetODBC.dll', r'lib\MonetODBC.pdb', r'lib\MonetODBCs.dll', r'lib\MonetODBCs.pdb', - r'bin\stream.dll', r'lib\stream.pdb', + rf'bin\stream{version}.dll', rf'lib\stream{version}.pdb', vcpkg.format(r'bin\iconv-2.dll'), vcpkg.format(r'bin\bz2.dll'), vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -42,6 +42,7 @@ def main(): if len(sys.argv) != 4: print(r'Usage: mksqlwxs.py version bits installdir') return 1 + version = sys.argv[1] if sys.argv[2] == '64': folder = r'ProgramFiles64Folder' arch = 'x64' @@ -75,13 +76,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="{}" Version="{}">'.format(upgradecode[arch], sys.argv[1])) + print(r' <Product Id="*" Language="1033" Manufacturer="MonetDB" Name="MonetDB5" UpgradeCode="{}" Version="{}">'.format(upgradecode[arch], version)) print(r' <Package Id="*" Comments="MonetDB5/SQL Server and Client" Compressed="yes" InstallerVersion="301" Keywords="MonetDB5 MonetDB SQL Database" Languages="1033" Manufacturer="MonetDB Foundation" 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="{}" Property="GEOMINSTALLED"/>'.format(sys.argv[1])) + print(r' <UpgradeVersion OnlyDetect="no" Minimum="11.29.3" IncludeMinimum="no" Maximum="{}" Property="GEOMINSTALLED"/>'.format(version)) 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="share\license.rtf"/>') @@ -101,12 +102,12 @@ def main(): print(r' </DirectorySearch>') print(r' </Property>') print(r' <Property Id="GEOMMALEXISTS">') - print(r' <DirectorySearch Id="CheckFileDir3" Path="[INSTALLDIR]\lib\monetdb5" Depth="0">') + print(rf' <DirectorySearch Id="CheckFileDir3" Path="[INSTALLDIR]\lib\monetdb5{version}" Depth="0">') print(r' <FileSearch Id="CheckFile3" Name="geom.mal"/>') print(r' </DirectorySearch>') print(r' </Property>') print(r' <Property Id="GEOMLIBEXISTS">') - print(r' <DirectorySearch Id="CheckFileDir4" Path="[INSTALLDIR]\lib\monetdb5" Depth="0">') + print(rf' <DirectorySearch Id="CheckFileDir4" Path="[INSTALLDIR]\lib\monetdb5{version}" Depth="0">') print(r' <FileSearch Id="CheckFile4" Name="_geom.dll"/>') print(r' </DirectorySearch>') print(r' </Property>') @@ -152,12 +153,12 @@ def main(): [r'bin\mclient.exe', r'bin\mserver5.exe', r'bin\msqldump.exe', - r'bin\bat.dll', - r'bin\mapi.dll', - r'bin\monetdb5.dll', + rf'bin\bat{version}.dll', + rf'bin\mapi{version}.dll', + rf'bin\monetdb5{version}.dll', r'bin\monetdbe.dll', - r'bin\monetdbsql.dll', - r'bin\stream.dll', + rf'bin\monetdbsql{version}.dll', + rf'bin\stream{version}.dll', vcpkg.format(r'bin\iconv-2.dll'), vcpkg.format(r'bin\bz2.dll'), vcpkg.format(r'bin\charset-1.dll'), # for iconv-2.dll _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org