Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dlib for openSUSE:Factory checked in at 2026-10-26 09:59:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dlib (Old) and /work/SRC/openSUSE:Factory/.dlib.new.2252680 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dlib" Mon Oct 26 09:59:35 2026 rev:10 rq:1392337 version:20.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/dlib/dlib.changes 2026-06-28 21:07:34.924192787 +0200 +++ /work/SRC/openSUSE:Factory/.dlib.new.2252680/dlib.changes 2026-10-26 09:59:40.549890201 +0100 @@ -1,0 +2,35 @@ +Fri Oct 23 18:31:53 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 20.0.1: + * Fix YOLO loss gradient for bounding box x/y coordinates. + * Fix crash when reading very large images from a 32-bit + width-step overflow. + * Support the FFmpeg 7.1 API. + * full_object_detection: accept parts as vector of dpoint. + * Python: account for changed refcounting in Python 3.14, + support functools.partial and other callables, accept CMake + args as environment variables for setup. + * Improve batch normalization numerical stability on CPUs and + cuDNN convolution precision on Ampere and newer GPUs. + * Add Adaptive Computation Time (ACT) layer and ARC-AGI dataset + loader. + * Build: use FindCUDAToolkit instead of deprecated FindCUDA, + fix C++23 and gcc 16 build issues. + * CVE-2026-24799 (boo#1257318): the bundled zlib copy is not + affected, the inflate() extra-field guard from + gh#davisking/dlib#3063 shipped since 19.24.9. +- Drop support-python-3.14.patch (fixed upstream). +- Fix the Python wheel build with the new toolchain: + * pass the setup.py --no options as separate --global-option + settings (one value per setting), + * parse them at import time again via + restore-module-level-arg-scan.patch (as in 20.0), + * skip python-build's dependency check (-x) and require + python-packaging, since the build uses the system cmake + rather than the pip cmake module. +- Rename the shared-library subpackage to libdlib20_0_1 to match + the libdlib.so.20.0.1 SONAME (shlib policy). +- Drop redundant -L/usr/lib64 entries from dlib-1.pc + (pkgconfig-invalid-libs-dir). + +------------------------------------------------------------------- Old: ---- dlib-20.0.tar.gz support-python-3.14.patch New: ---- dlib-20.0.1.tar.gz restore-module-level-arg-scan.patch ----------(Old B)---------- Old: gh#davisking/dlib#3063 shipped since 19.24.9. - Drop support-python-3.14.patch (fixed upstream). - Fix the Python wheel build with the new toolchain: ----------(Old E)---------- ----------(New B)---------- New: * parse them at import time again via restore-module-level-arg-scan.patch (as in 20.0), * skip python-build's dependency check (-x) and require ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dlib.spec ++++++ --- /var/tmp/diff_new_pack.sk0cr7/_old 2026-10-26 09:59:42.032952417 +0100 +++ /var/tmp/diff_new_pack.sk0cr7/_new 2026-10-26 09:59:42.034952501 +0100 @@ -16,20 +16,23 @@ # -%define shlib libdlib%( echo %{version} | tr '.' '_' )_0 +%define shlib libdlib%( echo %{version} | tr '.' '_' ) %define python_subpackage_only 1 Name: dlib -Version: 20.0 +Version: 20.0.1 Release: 0 Summary: Toolkit for making machine learning and data analysis applications License: BSL-1.0 URL: https://github.com/davisking/dlib Source: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -# PATCH-FIX-OPENSUSE Support Python 3.14 refcounting changes -Patch0: support-python-3.14.patch +# PATCH-FIX-UPSTREAM setup.py parses --no/--set only in build_extension(), +# so every PEP 517 hook fails when options arrive via --global-option; +# parse them at import time again (as in 20.0) +Patch0: restore-module-level-arg-scan.patch BuildRequires: %{python_module build} BuildRequires: %{python_module devel} BuildRequires: %{python_module numpy} +BuildRequires: %{python_module packaging} BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} @@ -111,15 +114,20 @@ %cmake -DUSE_AVX_INSTRUCTIONS:BOOL=OFF -DUSE_SSE4_INSTRUCTIONS:BOOL=OFF %cmake_build popd -# cannot use pyproject_wheel macro because we need to pass cmake options to setup.py using --set, so build it by hand per Python version +# cannot use pyproject_wheel macro because we need to pass cmake options to setup.py using --no, so build it by hand per Python version # Note that setting these to `--yes` does not enable them unconditionally, but # rather makes them host machine dependent (boo#1223168) -%python_exec -m build -wn -o build -C--global-option="--no USE_AVX_INSTRUCTIONS --no USE_SSE4_INSTRUCTIONS" +# Each --global-option value arrives as a single argv token (setuptools 78), +# so --no and its option need separate -C settings. +%python_exec -m build -wnx -o build -C--global-option=--no -C--global-option=USE_AVX_INSTRUCTIONS -C--global-option=--no -C--global-option=USE_SSE4_INSTRUCTIONS %install pushd dlib %cmake_install popd +# dlib's cmake emits redundant -L/usr/lib64 entries into dlib-1.pc that +# trip the pkgconfig-invalid-libs-dir check; the system path needs no -L. +sed -i -e 's| -L/usr/lib64||g' %{buildroot}%{_libdir}/pkgconfig/dlib-1.pc %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitearch} %fdupes %{buildroot}%{_includedir}/ ++++++ dlib-20.0.tar.gz -> dlib-20.0.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/dlib/dlib-20.0.tar.gz /work/SRC/openSUSE:Factory/.dlib.new.2252680/dlib-20.0.1.tar.gz differ: char 28, line 1 ++++++ restore-module-level-arg-scan.patch ++++++ Index: dlib-20.0.1/setup.py =================================================================== --- dlib-20.0.1.orig/setup.py +++ dlib-20.0.1/setup.py @@ -90,6 +90,14 @@ def get_extra_cmake_options(): return _cmake_extra_options, _clean_build_folder +# Parse --no/--set/--compiler-flags/-G here, at import time, so the options +# are removed from sys.argv before distutils parses it. Calling it only +# from CMakeBuild.build_extension() breaks every PEP 517 hook (even +# get_requires_for_build_wheel) when options are passed via --global-option +# config settings, as current setuptools passes them to every hook. +cmake_extra_options, clean_build_folder = get_extra_cmake_options() + + class CMakeExtension(Extension): def __init__(self, name, sourcedir=''): super().__init__(name, sources=[]) @@ -172,7 +180,6 @@ class CMakeBuild(build_ext): def build_extension(self, ext): # Build CMake args based on default settings, environment variables and CLI parameters extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name))) - cmake_extra_options, clean_build_folder = get_extra_cmake_options() cmake_args_dict = { 'CMAKE_LIBRARY_OUTPUT_DIRECTORY': extdir, 'DLIB_USE_FFMPEG': 'OFF',
