Changeset: 4fdc1fde32c6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4fdc1fde32c6 Modified Files: clients/mapiclient/dump.c gdk/gdk_calc.c gdk/gdk_logger.c gdk/gdk_string.c gdk/gdk_unique.c monetdb5/modules/atoms/str.c monetdb5/modules/mal/pcre.c Branch: ustr Log Message:
Merge with default branch. diffs (truncated from 4127 to 300 lines): diff --git a/ChangeLog.Dec2025 b/ChangeLog.Dec2025 --- a/ChangeLog.Dec2025 +++ b/ChangeLog.Dec2025 @@ -1,3 +1,10 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Wed Mar 4 2026 Joeri van Ruth <[email protected]> +- Suppress error messages in merovingian.log when incoming connections + are closed by the client before any I/O takes place. + Service health monitoring tools tend to do this periodically to check + if MonetDB is still up. + + diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -58,8 +58,8 @@ # derivatives (CentOS, Scientific Linux), the geos library is not # available. However, the geos library is available in the Extra # Packages for Enterprise Linux (EPEL). -%if %{fedpkgs} && (0%{?rhel} != 7) && (0%{?rhel} != 8) && (0%{?rhel} != 9) -# By default create the MonetDB-geom package on Fedora and RHEL 7 +%if %{fedpkgs} && (0%{?rhel} != 8) +# By default create the MonetDB-geom package on Fedora %bcond_without geos %endif @@ -95,20 +95,12 @@ URL: https://www.monetdb.org/ BugURL: https://github.com/MonetDB/MonetDB/issues Source: https://www.monetdb.org/downloads/sources/Dec2025-SP1/MonetDB-%{version}.tar.bz2 -# The Fedora packaging document says we need systemd-rpm-macros for -# the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7 -# that doesn't exist and we need systemd, so instead we just require -# the macro file that contains the definitions. # We need checkpolicy and selinux-policy-devel for the SELinux policy. -%if 0%{?rhel} != 7 BuildRequires: systemd-rpm-macros -%else -BuildRequires: systemd -%endif BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink -BuildRequires: cmake3 >= 3.12 +BuildRequires: cmake >= 3.12 BuildRequires: gcc BuildRequires: bison BuildRequires: python3-devel @@ -119,9 +111,7 @@ BuildRequires: unixODBC-devel BuildRequires: readline-devel %else BuildRequires: pkgconfig(bzip2) -%if %{without compat} BuildRequires: pkgconfig(odbc) -%endif BuildRequires: pkgconfig(readline) %endif %if %{with fits} @@ -133,10 +123,8 @@ BuildRequires: geos-devel >= 3.10.0 BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libxml-2.0) -%if 0%{?rhel} != 7 BuildRequires: pkgconfig(openssl) >= 1.1.1 %global with_openssl 1 -%endif %if %{with pcre} BuildRequires: pkgconfig(libpcre2-8) %endif @@ -144,8 +132,7 @@ BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(liblz4) >= 1.8 %if %{with py3integration} BuildRequires: pkgconfig(python3) >= 3.5 -# cannot use python3dist(numpy) because of CentOS 7 -BuildRequires: python3-numpy +BuildRequires: python3dist(numpy) %endif %if %{with rintegration} BuildRequires: pkgconfig(libR) @@ -157,11 +144,9 @@ BuildRequires: pkgconfig(libR) # BuildRequires: pkgconfig(proj) # -DWITH_PROJ=ON # BuildRequires: pkgconfig(valgrind) # -DWITH_VALGRIND=ON -%if (0%{?fedora} >= 22) Recommends: %{name}-SQL%{?_isa} = %{version}-%{release} Recommends: %{name}-server%{?_isa} = %{version}-%{release} Suggests: %{name}-client%{?_isa} = %{version}-%{release} -%endif %description MonetDB is a database management system that is developed from a @@ -312,10 +297,8 @@ library. %package client-lib Summary: MonetDB - Monet Database Management System Client Programs Group: Applications/Databases -%if (0%{?fedora} >= 22) Recommends: %{name}-SQL%{?_isa} = %{version}-%{release} Recommends: %{name}-server%{?_isa} = %{version}-%{release} -%endif %description client-lib MonetDB is a database management system that is developed from a @@ -338,10 +321,8 @@ you will very likely need this package. Summary: MonetDB - Monet Database Management System Client Programs Group: Applications/Databases Requires: %{name}-client-lib%{?_isa} = %{version}-%{release} -%if (0%{?fedora} >= 22) Recommends: %{name}-SQL%{?_isa} = %{version}-%{release} Recommends: %{name}-server%{?_isa} = %{version}-%{release} -%endif %description client MonetDB is a database management system that is developed from a @@ -409,7 +390,7 @@ This package contains the MonetDB ODBC d %post client-odbc # install driver if first install of package or if driver not installed yet if [ "$1" -eq 1 ] || ! odbcinst -d -q -n MonetDB >& /dev/null; then -odbcinst -i -d -r <<EOF + odbcinst -i -d -r <<\EOF [MonetDB] Description = ODBC for MonetDB Driver = %{_exec_prefix}/lib/libMonetODBC.so @@ -421,7 +402,7 @@ fi %postun client-odbc if [ "$1" -eq 0 ]; then -odbcinst -u -d -n MonetDB + odbcinst -u -d -n MonetDB fi %files client-odbc @@ -438,15 +419,11 @@ Group: Applications/Databases Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: %{name}-client%{?_isa} = %{version}-%{release} Requires: %{name}-client-odbc%{?_isa} = %{version}-%{release} -%if (0%{?fedora} >= 22) Recommends: perl-DBD-monetdb >= 1.0 Recommends: php-monetdb >= 1.0 -%endif Requires: %{name}-server%{?_isa} = %{version}-%{release} -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} > 7 Recommends: python3dist(lz4) Recommends: python3dist(scipy) -%endif %description client-tests MonetDB is a database management system that is developed from a @@ -637,10 +614,8 @@ Requires: %{name}-libs%{?_isa} = %{versi Obsoletes: MonetDB5-server < 11.50.0 Provides: MonetDB5-server = %{version}-%{release} Provides: MonetDB5-server%{?_isa} = %{version}-%{release} -%if (0%{?fedora} >= 22) Recommends: %{name}-SQL%{?_isa} = %{version}-%{release} Suggests: %{name}-client%{?_isa} = %{version}-%{release} -%endif Requires(pre): systemd %description server @@ -726,9 +701,7 @@ Requires(pre): %{name}-server%{?_isa} = Obsoletes: MonetDB-SQL-server5 < 11.50.0 Provides: %{name}-SQL-server5 = %{version}-%{release} Provides: %{name}-SQL-server5%{?_isa} = %{version}-%{release} -%if (0%{?fedora} >= 22) Suggests: %{name}-client%{?_isa} = %{version}-%{release} -%endif %{?systemd_requires} %description SQL @@ -755,7 +728,6 @@ configuration. %if %{without compat} %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb %dir %attr(775,monetdb,monetdb) %{_rundir}/monetdb -# RHEL >= 7, and all current Fedora %{_tmpfilesdir}/monetdbd.conf %{_unitdir}/monetdbd.service %config(noreplace) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties @@ -870,18 +842,16 @@ package. You probably don't need this, %{_bindir}/example_proxy %{_bindir}/example_sessions %{_bindir}/example_temporal -%{_bindir}/demo_oob_read -%{_bindir}/demo_oob_write +%endif +%if %{without compat} %package testing-python Summary: MonetDB - Monet Database Management System Group: Applications/Databases Requires: %{name}-client-tests = %{version}-%{release} Requires: python3dist(pymonetdb) >= 1.9 BuildArch: noarch -%endif -%if %{without compat} %description testing-python MonetDB is a database management system that is developed from a main-memory perspective with use of a fully decomposed storage model, @@ -935,28 +905,34 @@ an mserver5 process started by monetdbd read files in users' home directories. %post selinux -for selinuxvariant in %{selinux_variants} -do - /usr/sbin/semodule -s ${selinuxvariant} -i \ - %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || : +for selinuxvariant in %{selinux_variants}; 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 -if [ $1 -eq 0 ] ; then - active=`/usr/bin/systemctl is-active monetdbd.service` - if [ $active = active ]; then - /usr/bin/systemctl stop monetdbd.service - fi - for selinuxvariant in %{selinux_variants} - 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 || : - if [ $active = active ]; then - /usr/bin/systemctl start monetdbd.service - fi +if [ $1 -eq 0 ]; then + active=`/usr/bin/systemctl is-active monetdbd.service` + if [ $active = active ]; then + /usr/bin/systemctl stop monetdbd.service + fi + for selinuxvariant in %{selinux_variants}; 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 || : + if [ $active = active ]; then + /usr/bin/systemctl start monetdbd.service + fi fi %files selinux @@ -970,14 +946,7 @@ fi %setup -q -n MonetDB-%{version} %build -# from Fedora 40, selinux uses /run where before it used /var/run -# the code is now for Fedora 40 but needs a patch for older versions -%if (0%{?fedora} < 40) -sed -i 's;@CMAKE_INSTALL_FULL_RUNSTATEDIR@/monetdb;@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/run/monetdb;' misc/selinux/monetdb.fc.in -sed -i 's/1\.2/1.1/' misc/selinux/monetdb.te -%endif - -%cmake3 \ +%cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_RUNSTATEDIR=/run \ -DRELEASE_VERSION=ON \ @@ -987,7 +956,7 @@ sed -i 's/1\.2/1.1/' misc/selinux/monetd -DGEOM=%{?with_geos:ON}%{!?with_geos:OFF} \ -DINT128=%{?with_hugeint:ON}%{!?with_hugeint:OFF} \ -DNETCDF=OFF \ - -DODBC=%{!?with_compat:ON}%{?with_compat:OFF} \ + -DODBC=ON \ -DPY3INTEGRATION=%{?with_py3integration:ON}%{!?with_py3integration:OFF} \ -DRINTEGRATION=%{?with_rintegration:ON}%{!?with_rintegration:OFF} \ -DSANITIZER=OFF \ @@ -1009,18 +978,22 @@ sed -i 's/1\.2/1.1/' misc/selinux/monetd -DWITH_XML2=ON \ -DWITH_ZLIB=ON -%cmake3_build +%cmake_build %install mkdir -p "${RPM_BUILD_ROOT}"/usr -for d in etc var; do mkdir "${RPM_BUILD_ROOT}"/$d; ln -s ../$d "${RPM_BUILD_ROOT}"/usr/$d; done -%cmake3_install +for d in etc var; do + mkdir "${RPM_BUILD_ROOT}"/$d + ln -s ../$d "${RPM_BUILD_ROOT}"/usr/$d +done +%cmake_install rm "${RPM_BUILD_ROOT}"/usr/var "${RPM_BUILD_ROOT}"/usr/etc # move file to correct location mkdir -p "${RPM_BUILD_ROOT}"%{_tmpfilesdir} "${RPM_BUILD_ROOT}"%{_sysusersdir} -mv "${RPM_BUILD_ROOT}"%{_sysconfdir}/tmpfiles.d/monetdbd.conf "${RPM_BUILD_ROOT}"%{_tmpfilesdir} -cat > "${RPM_BUILD_ROOT}"%{_sysusersdir}/monetdb.conf << EOF +mv "${RPM_BUILD_ROOT}"%{_sysconfdir}/tmpfiles.d/monetdbd.conf \ _______________________________________________ checkin-list mailing list -- [email protected] To unsubscribe send an email to [email protected]
