Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lcms2 for openSUSE:Factory checked in at 2026-05-07 15:43:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lcms2 (Old) and /work/SRC/openSUSE:Factory/.lcms2.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lcms2" Thu May 7 15:43:17 2026 rev:43 rq:1351213 version:2.19.1 Changes: -------- --- /work/SRC/openSUSE:Factory/lcms2/lcms2.changes 2026-04-28 11:54:35.961082629 +0200 +++ /work/SRC/openSUSE:Factory/.lcms2.new.1966/lcms2.changes 2026-05-07 15:43:34.491697073 +0200 @@ -1,0 +2,8 @@ +Wed May 6 11:36:52 UTC 2026 - Martin Hauke <[email protected]> + +- Update to version 2.19.1 + * Fixed sonames generation when using autotools. + * Recovered an undocumented memory write feature lost because a + "security" report. + +------------------------------------------------------------------- Old: ---- lcms2-2.19.tar.gz New: ---- lcms2-2.19.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lcms2.spec ++++++ --- /var/tmp/diff_new_pack.yaxNQY/_old 2026-05-07 15:43:35.135723135 +0200 +++ /var/tmp/diff_new_pack.yaxNQY/_new 2026-05-07 15:43:35.143723459 +0200 @@ -17,7 +17,7 @@ Name: lcms2 -Version: 2.19 +Version: 2.19.1 Release: 0 Summary: Little CMS Engine - A color management library and tools License: MIT ++++++ lcms2-2.19.tar.gz -> lcms2-2.19.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/BUILDING.md new/lcms2-2.19.1/BUILDING.md --- old/lcms2-2.19/BUILDING.md 1970-01-01 01:00:00.000000000 +0100 +++ new/lcms2-2.19.1/BUILDING.md 2026-05-06 10:10:23.000000000 +0200 @@ -0,0 +1,135 @@ +# Little CMS - Build Instructions + +This document describes the supported build systems for Little CMS (lcms2), +their status, and general guidance for building and installing the library. + +--- + +## Build Systems Overview + +Little CMS supports three build systems: + +| Build System | Status | +|---|---| +| Autotools (autoconf/automake/libtool) | **Fully Supported** | +| CMake | **Supported, in active development** | +| Meson | **Supported, in testing** | + +Autotools remains the traditional and well-tested build system for Unix-like +platforms. CMake has been added to support native Windows toolchains and +environments where Autotools is unavailable or impractical. Meson support is +being evaluated. + +> The addition of CMake does **not** signal an intent to remove Autotools. +> Both are supported in parallel. Users are encouraged to report issues with +> any of the build systems. + +--- + +## Requirements for All Build Systems + +A supported build system must satisfy the following requirements: + +- Build the library and all utilities correctly. +- Support installation to alternate prefixes (`--prefix` or equivalent). +- Support cross-compilation. +- Provide a `make test` equivalent that uses the **just-built** library, + not the installed one (RPATH or equivalent care required). +- Run correctly on GNU/Linux, macOS, *BSD, and Cygwin/MSYS2 +- Install CMake package config files (for use by downstream CMake projects), + regardless of which build system was used to build lcms2. +- Support creation of distribution tarballs that match the canonical release + content (not necessarily identical to the raw GitHub archive). + +--- + +## Building with Autotools + +**Prerequisites:** `autoconf`, `automake`, `libtool` + + ./autogen.sh # if building from a git checkout + ./configure + make + make check + make install + +To install to a custom prefix: + + ./configure --prefix=/your/prefix + +**Notes:** +- Autotools builds are the reference for test coverage and correctness. +- Autotools does **not** support native Windows builds in environments without + a POSIX shell (e.g. MSVC-only environments). Use CMake in that case. + +--- + +## Building with CMake + +**Prerequisites:** CMake 3.x or later + + cmake -S . -B build + cmake --build build + ctest --test-dir build + cmake --install build + +To install to a custom prefix: + + cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/your/prefix + +**Notes:** +- CMake is the recommended build system for native Windows (MSVC) builds. +- CMake package config files (`lcms2Config.cmake`, etc.) are installed and + allow other CMake-based projects to find and link against lcms2. + These config files should be available regardless of how lcms2 was built. +- Cross-compilation is supported via standard CMake toolchain files. + +--- + +## Building with Meson + +**Prerequisites:** `meson`, `ninja` + + meson setup build + ninja -C build + meson test -C build + meson install -C build + +To install to a custom prefix: + + meson setup build --prefix=/your/prefix + +**Notes:** +- Meson support is currently in testing. Please report any issues. + +--- + +## Distribution Tarballs + +> Always prefer the official release tarballs published on the Little CMS +> website or SourceForge over raw GitHub archives when packaging for +> distributions. + +--- + +## Reporting Build Issues + +Please report build system issues to the lcms-user mailing list: +- **Mailing list:** [email protected] +- **GitHub Issues:** https://github.com/mm2/Little-CMS/issues + +When reporting, please include: +- The build system used (Autotools / CMake / Meson) and its version. +- The operating system and architecture. +- Whether you are cross-compiling and, if so, the host/target tuple. +- The full error output. + +--- + +## Further Information + +| | | +|---|---| +| Website | https://www.littlecms.com | +| Repository | https://github.com/mm2/Little-CMS | +| Mailing list | [email protected] | \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/ChangeLog new/lcms2-2.19.1/ChangeLog --- old/lcms2-2.19/ChangeLog 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/ChangeLog 2026-05-06 10:10:23.000000000 +0200 @@ -1,4 +1,15 @@ ----------------------- +2.20 Ongoing +----------------------- + +----------------------- +2.19.1 hot fix +----------------------- +Fixed sonames generation when using autotools +Recovered an undocumented memory write feature lost because a "security" report. +Fixed documentation pointers on visual studio project. + +----------------------- 2.19 Featured release ----------------------- CMake build system. Thanks to Vlad Erium for the initial implementation and kmilos for improvements. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/Projects/VC2026/lcms2.sln new/lcms2-2.19.1/Projects/VC2026/lcms2.sln --- old/lcms2-2.19/Projects/VC2026/lcms2.sln 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/Projects/VC2026/lcms2.sln 2026-05-06 10:10:23.000000000 +0200 @@ -42,11 +42,12 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "doc", "doc", "{4DD637AE-09B1-4994-8FC7-7F6EB19165EC}" ProjectSection(SolutionItems) = preProject + ..\..\BUILDING.md = ..\..\BUILDING.md ..\..\plugins\fast_float\doc\LittleCMS floating point extensions 1.7.pdf = ..\..\plugins\fast_float\doc\LittleCMS floating point extensions 1.7.pdf ..\..\plugins\threaded\doc\LittleCMS threaded extensions 1.0.pdf = ..\..\plugins\threaded\doc\LittleCMS threaded extensions 1.0.pdf - ..\..\doc\LittleCMS2.18 API.pdf = ..\..\doc\LittleCMS2.18 API.pdf - ..\..\doc\LittleCMS2.18 Plugin API.pdf = ..\..\doc\LittleCMS2.18 Plugin API.pdf - ..\..\doc\LittleCMS2.18 tutorial.pdf = ..\..\doc\LittleCMS2.18 tutorial.pdf + ..\..\doc\LittleCMS2.19 API.pdf = ..\..\doc\LittleCMS2.19 API.pdf + ..\..\doc\LittleCMS2.19 Plugin API.pdf = ..\..\doc\LittleCMS2.19 Plugin API.pdf + ..\..\doc\LittleCMS2.19 tutorial.pdf = ..\..\doc\LittleCMS2.19 tutorial.pdf EndProjectSection EndProject Global @@ -241,7 +242,7 @@ {F56B9CBA-A34D-4C68-9003-A6919236399E} = {09D18587-D927-4047-977F-49918A174D5E} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {E95EA102-6884-4CAD-AF6D-9BF36C69A33D} QtVersion = $(DefaultQtVersion) + SolutionGuid = {E95EA102-6884-4CAD-AF6D-9BF36C69A33D} EndGlobalSection EndGlobal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/SECURITY.md new/lcms2-2.19.1/SECURITY.md --- old/lcms2-2.19/SECURITY.md 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/SECURITY.md 2026-05-06 10:10:23.000000000 +0200 @@ -23,5 +23,5 @@ ## Using GitHub security advisory -Please disclose it at our [security advisory](https://github.com/mm2/Little-CMS/security/advisories/new). +Please contact me instead. Security advisories are immediatly deleted without checking due to high level of SPAM received. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/configure new/lcms2-2.19.1/configure --- old/lcms2-2.19/configure 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/configure 2026-05-06 10:18:47.000000000 +0200 @@ -2808,8 +2808,8 @@ } { // Unicode literals - char const *utf8 = u8"UTF-8 string \u2500"; - char16_t const *utf16 = u"UTF-8 string \u2500"; + auto const *utf8 = u8"UTF-8 string \u2500"; + char16_t const *utf16 = u"UTF-16 string \u2500"; char32_t const *utf32 = U"UTF-32 string \u2500"; } ' @@ -3024,7 +3024,7 @@ # Libtool library revision control info # LIBRARY_CURRENT=2 -LIBRARY_REVISION=18 +LIBRARY_REVISION=19 LIBRARY_AGE=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/configure.ac new/lcms2-2.19.1/configure.ac --- old/lcms2-2.19/configure.ac 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/configure.ac 2026-05-06 10:10:23.000000000 +0200 @@ -16,7 +16,7 @@ # Libtool library revision control info # LIBRARY_CURRENT=2 -LIBRARY_REVISION=18 +LIBRARY_REVISION=19 LIBRARY_AGE=0 AC_SUBST(LIBRARY_CURRENT)dnl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/plugins/Makefile new/lcms2-2.19.1/plugins/Makefile --- old/lcms2-2.19/plugins/Makefile 2026-04-24 11:17:12.000000000 +0200 +++ new/lcms2-2.19.1/plugins/Makefile 2026-05-06 10:18:51.000000000 +0200 @@ -186,14 +186,14 @@ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" -ACLOCAL = ${SHELL} '/home/marti/lcms2-2.19/missing' aclocal-1.18 +ACLOCAL = ${SHELL} '/home/marti/lcms2-2.19.1/missing' aclocal-1.18 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AR = ar AS = as -AUTOCONF = ${SHELL} '/home/marti/lcms2-2.19/missing' autoconf -AUTOHEADER = ${SHELL} '/home/marti/lcms2-2.19/missing' autoheader -AUTOMAKE = ${SHELL} '/home/marti/lcms2-2.19/missing' automake-1.18 +AUTOCONF = ${SHELL} '/home/marti/lcms2-2.19.1/missing' autoconf +AUTOHEADER = ${SHELL} '/home/marti/lcms2-2.19.1/missing' autoheader +AUTOMAKE = ${SHELL} '/home/marti/lcms2-2.19.1/missing' automake-1.18 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -233,13 +233,13 @@ LIBOBJS = LIBRARY_AGE = 0 LIBRARY_CURRENT = 2 -LIBRARY_REVISION = 18 +LIBRARY_REVISION = 19 LIBS = LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBTOOL_DEPS = .//ltmain.sh LIB_JPEG = -ljpeg LIB_MATH = -lm -LIB_PLUGINS = -llcms2_fast_float -llcms2_threaded +LIB_PLUGINS = LIB_THREAD = -lpthread LIB_TIFF = -ltiff LIB_ZLIB = -lz @@ -247,8 +247,8 @@ LN_S = ln -s LTLIBOBJS = LT_SYS_LIBRARY_PATH = -MAINT = # -MAKEINFO = ${SHELL} '/home/marti/lcms2-2.19/missing' makeinfo +MAINT = +MAKEINFO = ${SHELL} '/home/marti/lcms2-2.19.1/missing' makeinfo MANIFEST_TOOL = : MKDIR_P = /usr/bin/mkdir -p NM = /usr/bin/nm -B @@ -276,10 +276,10 @@ STRIP = strip TIFFICC_DEPLIBS = -ltiff -ljpeg -lz -lm -lpthread VERSION = 2.19 -abs_builddir = /home/marti/lcms2-2.19/plugins -abs_srcdir = /home/marti/lcms2-2.19/plugins -abs_top_builddir = /home/marti/lcms2-2.19 -abs_top_srcdir = /home/marti/lcms2-2.19 +abs_builddir = /home/marti/lcms2-2.19.1/plugins +abs_srcdir = /home/marti/lcms2-2.19.1/plugins +abs_top_builddir = /home/marti/lcms2-2.19.1 +abs_top_srcdir = /home/marti/lcms2-2.19.1 ac_ct_AR = ar ac_ct_CC = gcc ac_ct_CXX = g++ @@ -313,7 +313,7 @@ includedir = ${prefix}/include infodir = ${datarootdir}/info inline = -install_sh = ${SHELL} /home/marti/lcms2-2.19/install-sh +install_sh = ${SHELL} /home/marti/lcms2-2.19.1/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale @@ -338,7 +338,7 @@ all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@ -362,9 +362,9 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(top_srcdir)/configure: # $(am__configure_deps) +$(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/src/cmscgats.c new/lcms2-2.19.1/src/cmscgats.c --- old/lcms2-2.19/src/cmscgats.c 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/src/cmscgats.c 2026-05-06 10:10:23.000000000 +0200 @@ -1684,8 +1684,8 @@ return FALSE; } - if (n >= t -> nSamples) { - SynError(it8, "More than NUMBER_OF_FIELDS fields."); + if (n < 0 || n >= t -> nSamples) { + SynError(it8, "Invalid or more than NUMBER_OF_FIELDS fields."); return FALSE; } @@ -1698,9 +1698,11 @@ } -cmsBool CMSEXPORT cmsIT8SetDataFormat(cmsHANDLE h, int n, const char *Sample) +cmsBool CMSEXPORT cmsIT8SetDataFormat(cmsHANDLE h, int n, const char *Sample) { cmsIT8* it8 = (cmsIT8*)h; + + _cmsAssert(n >= 0); return SetDataFormat(it8, n, Sample); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lcms2-2.19/src/cmsio0.c new/lcms2-2.19.1/src/cmsio0.c --- old/lcms2-2.19/src/cmsio0.c 2026-04-24 11:16:12.000000000 +0200 +++ new/lcms2-2.19.1/src/cmsio0.c 2026-05-06 10:10:23.000000000 +0200 @@ -214,10 +214,12 @@ if (size == 0) return TRUE; // Write zero bytes is ok, but does nothing - // Check for available space. + // Check for available space. Truncate the output in case the space + // is not enough instead of erroring out. See + // https://github.com/hughsie/colord/issues/147. - if (size > ResData->Size || ResData->Pointer > (ResData->Size - size)) - goto WriteError; + if (size > ResData->Size - ResData->Pointer) + size = ResData->Size - ResData->Pointer; memmove(ResData ->Block + ResData ->Pointer, Ptr, size); ResData ->Pointer += size;
