Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ddcutil for openSUSE:Factory checked in at 2026-11-08 19:21:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ddcutil (Old) and /work/SRC/openSUSE:Factory/.ddcutil.new.3759290 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ddcutil" Sun Nov 8 19:21:11 2026 rev:23 rq:1395803 version:3.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/ddcutil/ddcutil.changes 2026-08-26 19:51:49.416715842 +0200 +++ /work/SRC/openSUSE:Factory/.ddcutil.new.3759290/ddcutil.changes 2026-11-08 19:21:16.982136735 +0100 @@ -1,0 +2,27 @@ +Fri Nov 6 09:43:35 UTC 2026 - Martin Pluskal <[email protected]> + +- Fix i586 %check failure in test_string_util: fail str_to_long() + on strtol ERANGE overflow instead of clamping to LONG_MAX/MIN, + which made str_to_int() wrongly succeed for out-of-range input + on ILP32 (ddcutil-strtol-erange.patch). + +------------------------------------------------------------------- +Tue Oct 20 19:11:00 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 3.0.2 (3.0.0 and 3.0.1 had severe + reliability and performance issues, skip them): + * Reworked display connect/disconnect handling for + performance and reliability; Plasma users should update + * 3.0.1: reverted to serial i2c examination (parallel checks + crashed AMD Navi / Plasma wouldn't start) + * 3.0.2: dropped the single multi-message EDID ioctl (severe + slowdowns without EDID, possible amdgpu crash); built-in + Valve Index HMD ignore list + * The i2c GROUP udev rule now ships commented out per + upstream packaging-policy note (boo#1277442) + * No SONAME change (libddcutil.so.5) + * Align BuildRequires floors with configure.ac: glib-2.0 >= 2.40, + jansson >= 2.0, libdrm >= 2.4.67, libusb-1.0 >= 1.0.15 +- Drop Group: tags + +------------------------------------------------------------------- Old: ---- v2.2.7.tar.gz New: ---- ddcutil-strtol-erange.patch v3.0.2.tar.gz ----------(New B)---------- New: which made str_to_int() wrongly succeed for out-of-range input on ILP32 (ddcutil-strtol-erange.patch). ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ddcutil.spec ++++++ --- /var/tmp/diff_new_pack.xErhHn/_old 2026-11-08 19:21:18.317191963 +0100 +++ /var/tmp/diff_new_pack.xErhHn/_new 2026-11-08 19:21:18.322192170 +0100 @@ -1,7 +1,7 @@ # # spec file for package ddcutil # -# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # Copyright (c) 2025 Andreas Stieger <[email protected]> # # All modifications and additions to the file contributed by third parties @@ -18,13 +18,14 @@ Name: ddcutil -Version: 2.2.7 +Version: 3.0.2 Release: 0 Summary: Utility to query and update monitor settings License: GPL-2.0-or-later -Group: System/GUI/Other URL: https://github.com/rockowitz/ddcutil Source: https://github.com/rockowitz/ddcutil/archive/refs/tags/v%{version}.tar.gz +# PATCH-FIX-OPENSUSE ddcutil-strtol-erange.patch -- fail str_to_long() on strtol ERANGE instead of clamping, fixing str_to_int() on ILP32 (i586 %check failure) +Patch0: ddcutil-strtol-erange.patch BuildRequires: autoconf BuildRequires: automake @@ -35,13 +36,13 @@ BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(jansson) +BuildRequires: pkgconfig(glib-2.0) >= 2.40 +BuildRequires: pkgconfig(jansson) >= 2.0 BuildRequires: pkgconfig(libacl) -BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libdrm) >= 2.4.67 BuildRequires: pkgconfig(libkmod) BuildRequires: pkgconfig(libudev) -BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(libusb-1.0) >= 1.0.15 BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(zlib) Recommends: ddcutil-i2c-udev-rules @@ -59,7 +60,6 @@ %package -n libddcutil5 Summary: Shared library to query and update monitor settings -Group: System/Libraries Suggests: ddcutil-i2c-udev-rules # libddcutil.so.4 was wrongly packaged as libddcutil3 after the 1.x upgrade Conflicts: libddcutil3 >= 1.0 @@ -73,7 +73,6 @@ %package -n libddcutil-devel Summary: Development files for libddcutil -Group: Development/Libraries/C and C++ Requires: libddcutil5 = %{version} %description -n libddcutil-devel @@ -81,7 +80,6 @@ %package -n ddcutil-i2c-udev-rules Summary: Udev rules to grant logged in users DDC/CI access -Group: Hardware/Other Requires: libddcutil5 = %{version} Provides: ddcutil:%{_udevrulesdir}/60-ddcutil.rules BuildArch: noarch ++++++ ddcutil-strtol-erange.patch ++++++ str_to_long() ignored strtol() ERANGE overflow, storing the clamped LONG_MAX/MIN and reporting success. On ILP32 (i586) str_to_int() then wrongly succeeds for out-of-range input such as "9999999999", failing the unit test that asserts refusal (on LP64 the value fits in long and the int-narrowing check catches it, so only 32-bit builds break). Check errno after strtol() and fail on ERANGE. Index: ddcutil-3.0.2/src/util/string_util.c =================================================================== --- ddcutil-3.0.2.orig/src/util/string_util.c +++ ddcutil-3.0.2/src/util/string_util.c @@ -1119,10 +1119,11 @@ printf("(%s) work = %s\n", __func__, work); if (has_digits) { + errno = 0; long result = strtol(work, &endptr, base); // allow hex // printf("(%s) sval=%p, endptr=%p, *endptr=|%c| (0x%02x), result=%ld\n", // __func__, sval, endptr, *endptr, *endptr, result); - if (*endptr == '\0') { + if (*endptr == '\0' && errno != ERANGE) { *p_ival = result; ok = true; } ++++++ v2.2.7.tar.gz -> v3.0.2.tar.gz ++++++ ++++ 50774 lines of diff (skipped)
