Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package prison-qt5 for openSUSE:Factory checked in at 2022-08-15 19:57:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/prison-qt5 (Old) and /work/SRC/openSUSE:Factory/.prison-qt5.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "prison-qt5" Mon Aug 15 19:57:57 2022 rev:71 rq:995015 version:5.97.0 Changes: -------- --- /work/SRC/openSUSE:Factory/prison-qt5/prison-qt5.changes 2022-07-22 19:20:32.620590258 +0200 +++ /work/SRC/openSUSE:Factory/.prison-qt5.new.1521/prison-qt5.changes 2022-08-15 20:00:01.129361015 +0200 @@ -1,0 +2,13 @@ +Sun Aug 7 22:27:46 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.97.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.97.0 +- Changes since 5.96.0: + * Try lower ECC levels if we exceed the maximum QR code content size + * prison-datamatrix unused local variable + * Support ZXing 1.4.0 +- Drop 0001-Support-ZXing-1.4.0.patch. Merged upstream + +------------------------------------------------------------------- Old: ---- 0001-Support-ZXing-1.4.0.patch prison-5.96.0.tar.xz prison-5.96.0.tar.xz.sig New: ---- prison-5.97.0.tar.xz prison-5.97.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ prison-qt5.spec ++++++ --- /var/tmp/diff_new_pack.5Xf5AN/_old 2022-08-15 20:00:01.617362376 +0200 +++ /var/tmp/diff_new_pack.5Xf5AN/_new 2022-08-15 20:00:01.625362399 +0200 @@ -1,7 +1,7 @@ # # spec file for package prison-qt5 # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %define sonum 5 %define rname prison %define _libname KF5Prison -%define _tar_path 5.96 +%define _tar_path 5.97 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) @@ -27,7 +27,7 @@ # Only needed for the package signature condition %bcond_without released Name: prison-qt5 -Version: 5.96.0 +Version: 5.97.0 Release: 0 Summary: Barcode abstraction layer library License: MIT @@ -38,8 +38,6 @@ Source1: %{rname}-%{version}.tar.xz.sig Source2: frameworks.keyring %endif -# PATCH-FIX-UPSTREAM -Patch1: 0001-Support-ZXing-1.4.0.patch BuildRequires: extra-cmake-modules >= %{_kf5_bugfix_version} BuildRequires: fdupes BuildRequires: kf5-filesystem ++++++ prison-5.96.0.tar.xz -> prison-5.97.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/CMakeLists.txt new/prison-5.97.0/CMakeLists.txt --- old/prison-5.96.0/CMakeLists.txt 2022-07-02 16:40:12.000000000 +0200 +++ new/prison-5.97.0/CMakeLists.txt 2022-08-07 14:24:32.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.96.0") # handled by release scripts +set(KF_VERSION "5.97.0") # handled by release scripts project(prison VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 5.96.0 NO_MODULE) +find_package(ECM 5.97.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" "${ECM_MODULE_PATH}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/src/lib/qrcodebarcode.cpp new/prison-5.97.0/src/lib/qrcodebarcode.cpp --- old/prison-5.96.0/src/lib/qrcodebarcode.cpp 2022-07-02 16:40:12.000000000 +0200 +++ new/prison-5.97.0/src/lib/qrcodebarcode.cpp 2022-08-07 14:24:32.000000000 +0200 @@ -20,6 +20,17 @@ } QRCodeBarcode::~QRCodeBarcode() = default; +static void qrEncodeString(QRcode_ptr &code, const QByteArray &data) +{ + // try decreasing ECC levels, in case the higher levels result in overflowing the maximum content size + for (auto ecc : {QR_ECLEVEL_Q, QR_ECLEVEL_M, QR_ECLEVEL_L}) { + code.reset(QRcode_encodeString(data.constData(), 0, ecc, QR_MODE_8, true)); + if (code) { + break; + } + } +} + QImage QRCodeBarcode::paintImage(const QSizeF &size) { Q_UNUSED(size); @@ -28,7 +39,7 @@ QRinput_ptr input(nullptr, &QRinput_free); if (!data().isEmpty()) { const QByteArray trimmedData(data().trimmed().toUtf8()); - code.reset(QRcode_encodeString(trimmedData.constData(), 0, QR_ECLEVEL_Q, QR_MODE_8, true)); + qrEncodeString(code, trimmedData); } else { const auto b = byteArrayData(); const auto isReallyBinary = std::any_of(b.begin(), b.end(), [](unsigned char c) { @@ -41,7 +52,7 @@ QRinput_append(input.get(), QR_MODE_8, byteArrayData().size(), reinterpret_cast<const uint8_t *>(byteArrayData().constData())); code.reset(QRcode_encodeInput(input.get())); } else { - code.reset(QRcode_encodeString(b.constData(), 0, QR_ECLEVEL_Q, QR_MODE_8, true)); + qrEncodeString(code, b); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/src/scanner/CMakeLists.txt new/prison-5.97.0/src/scanner/CMakeLists.txt --- old/prison-5.96.0/src/scanner/CMakeLists.txt 2022-07-02 16:40:12.000000000 +0200 +++ new/prison-5.97.0/src/scanner/CMakeLists.txt 2022-08-07 14:24:32.000000000 +0200 @@ -1,6 +1,8 @@ # SPDX-FileCopyrightText: 2022 Volker Krause <vkra...@kde.org> # SPDX-License-Identifier: BSD-3-Clause +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-prison-scanner.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-prison-scanner.h) + add_library(KF5PrisonScanner) add_library(KF5::PrisonScanner ALIAS KF5PrisonScanner) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/src/scanner/config-prison-scanner.h.in new/prison-5.97.0/src/scanner/config-prison-scanner.h.in --- old/prison-5.96.0/src/scanner/config-prison-scanner.h.in 1970-01-01 01:00:00.000000000 +0100 +++ new/prison-5.97.0/src/scanner/config-prison-scanner.h.in 2022-08-07 14:24:32.000000000 +0200 @@ -0,0 +1,14 @@ +/* + SPDX-FileCopyrightText: 2022 Volker Krause <vkra...@kde.org> + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef CONFIG_PRISON_SCANNER_H +#define CONFIG_PRISON_SCANNER_H + +#define ZXING_VERSION_MAJOR @ZXing_VERSION_MAJOR@ +#define ZXING_VERSION_MINOR @ZXing_VERSION_MINOR@ +#define ZXING_VERSION_PATCH @ZXing_VERSION_PATCH@ +#define ZXING_VERSION ((@ZXing_VERSION_MAJOR@<<16)|(@ZXing_VERSION_MINOR@<<8)|(@ZXing_VERSION_PATCH@)) + +#endif // CONFIG_PRISON_SCANNER_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/src/scanner/videoscannerworker.cpp new/prison-5.97.0/src/scanner/videoscannerworker.cpp --- old/prison-5.96.0/src/scanner/videoscannerworker.cpp 2022-07-02 16:40:12.000000000 +0200 +++ new/prison-5.97.0/src/scanner/videoscannerworker.cpp 2022-08-07 14:24:32.000000000 +0200 @@ -3,6 +3,7 @@ SPDX-License-Identifier: MIT */ +#include "config-prison-scanner.h" #include "format_p.h" #include "scanresult_p.h" #include "videoscannerframe_p.h" @@ -12,6 +13,7 @@ #include <QImage> #include <QTransform> +#define ZX_USE_UTF8 1 #include <ZXing/ReadBarcode.h> #include <ZXing/TextUtfEncoding.h> @@ -25,7 +27,11 @@ void VideoScannerWorker::slotScanFrame(VideoScannerFrame frame) { +#if ZXING_VERSION < QT_VERSION_CHECK(1, 4, 0) ZXing::Result zxRes(ZXing::DecodeStatus::FormatError); +#else + ZXing::Result zxRes; +#endif ZXing::DecodeHints hints; hints.setFormats(frame.formats() == Format::NoFormat ? ZXing::BarcodeFormats::all() : Format::toZXing(frame.formats())); @@ -173,6 +179,7 @@ if (zxRes.isValid()) { auto res = ScanResultPrivate::get(scanResult); +#if ZXING_VERSION < QT_VERSION_CHECK(1, 4, 0) // distinguish between binary and text content const auto hasWideChars = std::any_of(zxRes.text().begin(), zxRes.text().end(), [](auto c) { return c > 255; @@ -188,6 +195,16 @@ std::copy(zxRes.text().begin(), zxRes.text().end(), b.begin()); res->content = b; } +#else + if (zxRes.contentType() == ZXing::ContentType::Text) { + res->content = QString::fromStdString(zxRes.text()); + } else { + QByteArray b; + b.resize(zxRes.bytes().size()); + std::copy(zxRes.bytes().begin(), zxRes.bytes().end(), b.begin()); + res->content = b; + } +#endif // determine the bounding rect // the cooridinates we get from ZXing are a polygon, we need to determine the diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/prison-5.96.0/src/tools/prison-datamatrix.cpp new/prison-5.97.0/src/tools/prison-datamatrix.cpp --- old/prison-5.96.0/src/tools/prison-datamatrix.cpp 2022-07-02 16:40:12.000000000 +0200 +++ new/prison-5.97.0/src/tools/prison-datamatrix.cpp 2022-08-07 14:24:32.000000000 +0200 @@ -31,7 +31,7 @@ QString outputformat; QStringList arguments = app.arguments(); - QString appname = arguments.takeFirst(); + arguments.takeFirst(); // Program (argv[0]). while (!arguments.isEmpty()) { QString argument = arguments.takeFirst(); if (argument == QLatin1String("--")) {