[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1106852: marked as done (unblock: qzxing/3.3.0+dfsg-7)



Your message dated Sun, 01 Jun 2025 16:35:49 +0000
with message-id <E1uLlf3-002HJB-39@respighi.debian.org>
and subject line unblock qzxing
has caused the Debian Bug report #1106852,
regarding unblock: qzxing/3.3.0+dfsg-7
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1106852: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1106852
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: qzxing@packages.debian.org
Control: affects -1 + src:qzxing
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package qzxing

During tests it turned out that the installation of qml-module-qzxing in
fact breaks the lomiri-barcodereader-app (a startup mode of
lomiri-camera-app). After some deeper dive into the QML integration of
qzxing into lomiri-barcodereader-app/lomiri-camera-app it turned out
that lomiri-camera-app works well in barcode reader mode if
qml-module-qzxing is not installed. The functionality is compiled in
without the need of loading a QML module at runtime.

The qml-module-qzxing bin:pkg is not used anywhere else anymore (since
lomiri-camera-app 4.0.8+dfsg-3), so dropping it from trixie via this update
should not interfere with other packages.

[ Reason ]
Fix broken barcode reader app mode of lomiri-camera-app.

[ Impact ]
Lomiri's Barcode Reader app will stay broken.

[ Tests ]
Runtime tests on a Debian trixie machine with a webcam.

[ Risks ]
None.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
This will go together with an unblock request for lomiri-camera-app (in prep).

unblock qzxing/3.3.0+dfsg-7
diff -Nru qzxing-3.3.0+dfsg/debian/changelog qzxing-3.3.0+dfsg/debian/changelog
--- qzxing-3.3.0+dfsg/debian/changelog	2024-08-14 10:34:26.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/changelog	2025-05-10 16:25:56.000000000 +0200
@@ -1,3 +1,23 @@
+qzxing (3.3.0+dfsg-7) unstable; urgency=medium
+
+  * debian/patches:
+    + Update 1001_build-as-shared-lib.patch. Drop files related to to-be-removed
+      qml-module-qzxing bin:pkg.
+    + Rebase 1002_cmake-pkg-config-export.patch.
+  * debian/:
+    + Drop bin:pkg qml-module-qzxing. Not needed, and in fact breaking consumers
+      of the qzxing library when using it as QQuickImageProvider. (See:
+      #1092953) and upload of lomiri-camera-app 4.0.8+dfsg-3.
+  * debian/control:
+    + Assure uninstallation of bin:pkg qml-module-qzxing from previous versions
+      of qzxing. The formerly shipped QML module breaks consumers of qzxing when
+      used as QQuickImageProvider in QML applications.
+    + Bump Standards-Version: to 4.7.2. No changes needed.
+  * debian/copyright:
+    + Update copyright attributions for debian/.
+
+ -- Mike Gabriel <sunweaver@debian.org>  Sat, 10 May 2025 16:25:56 +0200
+
 qzxing (3.3.0+dfsg-6) unstable; urgency=medium
 
   [ Guido Berhoerster ]
diff -Nru qzxing-3.3.0+dfsg/debian/control qzxing-3.3.0+dfsg/debian/control
--- qzxing-3.3.0+dfsg/debian/control	2024-08-14 10:33:56.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/control	2025-05-10 16:25:56.000000000 +0200
@@ -14,7 +14,7 @@
                qtmultimedia5-dev,
                qtquickcontrols2-5-dev,
                pkg-kde-tools,
-Standards-Version: 4.6.1
+Standards-Version: 4.7.2
 Rules-Requires-Root: no
 Homepage: https://github.com/ftylitak/qzxing
 Vcs-Git: https://salsa.debian.org/ubports-team/qzxing.git
@@ -25,6 +25,8 @@
 Multi-Arch: same
 Depends: ${misc:Depends},
          ${shlibs:Depends},
+Breaks: qml-module-qzxing,
+Replaces: qml-module-qzxing,
 Description: QZXing library
  Qt wrapper for the ZXing 1D/2D barcode image decoder.
  .
@@ -81,34 +83,3 @@
  .
  This package contains the development header files of the QZXing shared
  library.
-
-Package: qml-module-qzxing
-Architecture: any
-Multi-Arch: same
-Depends: ${misc:Depends},
-         qml-module-qtquick2,
-         libqzxing3 (= ${binary:Version}),
-Description: QZXing QML/QtQuick module
- Qt wrapper for the ZXing 1D/2D barcode image decoder.
- .
- Supports barcode decoding for the following types:
- .
-    UPC-A
-    UPC-E
-    EAN-8
-    EAN-13
-    ITF
-    Code 39
-    Code 93
-    Code 128 (GS1)
-    Codabar
-    QR Code
-    Data Matrix
-    Aztec (beta)
-    PDF 417
- .
- Supports barcode encoding for the following types:
- .
-   QR Code
- .
- This package contains the QML module for QZXing.
diff -Nru qzxing-3.3.0+dfsg/debian/copyright qzxing-3.3.0+dfsg/debian/copyright
--- qzxing-3.3.0+dfsg/debian/copyright	2022-10-12 22:43:03.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/copyright	2025-05-10 16:25:56.000000000 +0200
@@ -481,7 +481,7 @@
 
 Files: debian/*
 Copyright: 2013, David Planella <david.planella@ubuntu.com>
-  2022, Mike Gabriel <mike.gabriel@das-netzwerkteam.de
+  2022-2025, Mike Gabriel <mike.gabriel@das-netzwerkteam.de
 License: Apache-2.0 or BSD-3-clause or Expat
 
 License: Apache-2.0
diff -Nru qzxing-3.3.0+dfsg/debian/patches/1001_build-as-shared-lib.patch qzxing-3.3.0+dfsg/debian/patches/1001_build-as-shared-lib.patch
--- qzxing-3.3.0+dfsg/debian/patches/1001_build-as-shared-lib.patch	2024-08-14 10:34:26.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/patches/1001_build-as-shared-lib.patch	2025-05-10 16:20:05.000000000 +0200
@@ -96,23 +96,7 @@
  
  if(WIN32)
      add_subdirectory(zxing/win32)
-@@ -78,6 +117,15 @@
-         Qt5::Quick
-         Qt5::QuickControls2)
-     target_compile_definitions(qzxing PUBLIC -DQZXING_QML)
-+
-+    if(BUILD_SHARED)
-+        # copy qmldir file to build dir so QML unit tests can use it to import the plugin
-+        configure_file(
-+            qmldir.in
-+            qmldir
-+        )
-+    endif()
-+
- endif(QZXING_USE_QML)
- 
- if(QZXING_USE_ENCODER)
-@@ -108,9 +156,10 @@
+@@ -108,9 +147,10 @@
      target_compile_definitions(qzxing PRIVATE -DENABLE_DECODER_1D_BARCODES)
  endif()
  
@@ -126,7 +110,7 @@
  
  # Target includes
  target_include_directories(qzxing
-@@ -120,7 +169,57 @@
+@@ -120,7 +160,23 @@
          zxing/win32/zxing
          zxing/zxing
          zxing/bigint
@@ -151,43 +135,4 @@
 +        FILES ${PUBLIC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qzxing"
 +    )
 +
-+    # Qt5's cmake does not export QT_IMPORTS_DIR, lets query qmake on our own for now
-+    get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
-+    function(QUERY_QMAKE VAR RESULT)
-+      exec_program(${QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output )
-+      if(NOT return_code)
-+        file(TO_CMAKE_PATH "${output}" output)
-+        set(${RESULT} ${output} PARENT_SCOPE)
-+      endif(NOT return_code)
-+    endfunction(QUERY_QMAKE)
-+    query_qmake(QT_INSTALL_QML QT_IMPORTS_DIR)
-+
-+    if(QZXING_USE_QML)
-+        set(PLUGIN_DIR ${QT_IMPORTS_DIR}/QZXing)
-+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qmldir DESTINATION ${PLUGIN_DIR})
-+
-+        set(CHECK_DEFAULT_PATH "")
-+        if (EXISTS "/etc/debian_version")
-+            set(CHECK_DEFAULT_PATH "NO_DEFAULT_PATH")
-+        endif()
-+        find_program(QML_PLUGIN_DUMP qmlplugindump REQUIRED
-+                         PATHS /usr/lib/qt5/bin
-+                         ${CHECK_DEFAULT_PATH}
-+        )
-+        add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
-+            COMMAND ${QML_PLUGIN_DUMP} -noinstantiate -notrelocatable ${URI} 1.0 ../ > ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
-+            DEPENDS qzxing
-+            WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
-+        )
-+
-+        add_custom_target(qzxing_generated_files ALL SOURCES ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes)
-+        install(FILES ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes DESTINATION ${PLUGIN_DIR})
-+
-+    endif()
-+
 +endif()
---- /dev/null
-+++ b/src/qmldir.in
-@@ -0,0 +1,2 @@
-+module QZXing
-+plugin qzxing @CMAKE_INSTALL_FULL_LIBDIR@
diff -Nru qzxing-3.3.0+dfsg/debian/patches/1002_cmake-pkg-config-export.patch qzxing-3.3.0+dfsg/debian/patches/1002_cmake-pkg-config-export.patch
--- qzxing-3.3.0+dfsg/debian/patches/1002_cmake-pkg-config-export.patch	2024-08-14 10:33:56.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/patches/1002_cmake-pkg-config-export.patch	2025-05-10 16:25:56.000000000 +0200
@@ -11,8 +11,6 @@
  create mode 100644 src/QZXing.pc.in
  create mode 100644 src/cmake/JoinPaths.cmake
 
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ce5c834..b3e640d 100644
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
 @@ -1,12 +1,15 @@
@@ -31,7 +29,7 @@
  
      OPTION(QZXING_MULTIMEDIA "" OFF)
      OPTION(QZXING_USE_QML "" OFF)
-@@ -22,7 +25,7 @@ if(BUILD_SHARED)
+@@ -22,7 +25,7 @@
      OPTION(QZXING_USE_DECODER_1D_BARCODES "" OFF)
  
      include (GNUInstallDirs)
@@ -40,7 +38,7 @@
  endif()
  
  find_package(Qt5 COMPONENTS Core REQUIRED)
-@@ -42,6 +45,8 @@ set(PUBLIC_HEADERS
+@@ -42,6 +45,8 @@
      QZXing_global.h
  )
  
@@ -49,7 +47,7 @@
  set(SOURCES
  
      CameraImageWrapper.cpp
-@@ -56,7 +61,7 @@ if(QZXING_MULTIMEDIA)
+@@ -56,7 +61,7 @@
  
      LIST(APPEND SOURCES QZXingFilter.cpp QZXingFilter.h)
      LIST(APPEND PUBLIC_HEADERS QZXingFilter.h)
@@ -58,7 +56,7 @@
  
      SET(QZXING_USE_QML ON)
  
-@@ -65,18 +70,18 @@ endif(QZXING_MULTIMEDIA)
+@@ -65,18 +70,18 @@
  if(QZXING_USE_QML)
      LIST(APPEND SOURCES QZXingImageProvider.cpp QZXingImageProvider.h)
      LIST(APPEND PUBLIC_HEADERS QZXingImageProvider.h)
@@ -80,7 +78,7 @@
          SOVERSION ${SOVERSION_MAJOR}
  )
  else()
-@@ -108,7 +113,6 @@ target_link_libraries(qzxing Qt5::Core Qt5::Gui)
+@@ -108,7 +113,6 @@
  
  if(QZXING_MULTIMEDIA)
      target_link_libraries(qzxing Qt5::Multimedia)
@@ -88,16 +86,8 @@
  endif(QZXING_MULTIMEDIA)
  
  if(QZXING_USE_QML)
-@@ -116,7 +120,6 @@ if(QZXING_USE_QML)
-         Qt5::Svg
-         Qt5::Quick
-         Qt5::QuickControls2)
--    target_compile_definitions(qzxing PUBLIC -DQZXING_QML)
- 
-     if(BUILD_SHARED)
-         # copy qmldir file to build dir so QML unit tests can use it to import the plugin
-@@ -128,10 +131,6 @@ if(QZXING_USE_QML)
- 
+@@ -119,10 +123,6 @@
+     target_compile_definitions(qzxing PUBLIC -DQZXING_QML)
  endif(QZXING_USE_QML)
  
 -if(QZXING_USE_ENCODER)
@@ -107,7 +97,7 @@
  if(QZXING_USE_DECODER_QR_CODE)
      target_compile_definitions(qzxing PRIVATE -DENABLE_DECODER_QR_CODE)
  endif()
-@@ -158,9 +157,11 @@ endif()
+@@ -149,9 +149,11 @@
  
  if(!BUILD_SHARED)
      # Change Global Definitions depending on how you want to use the library
@@ -120,7 +110,7 @@
  # Target includes
  target_include_directories(qzxing
    PRIVATE
-@@ -188,6 +189,17 @@ if(BUILD_SHARED)
+@@ -179,4 +181,15 @@
          FILES ${PUBLIC_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/qzxing"
      )
  
@@ -135,12 +125,7 @@
 +    configure_file(QZXing.pc.in ${CMAKE_CURRENT_BINARY_DIR}/QZXing.pc @ONLY)
 +    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/QZXing.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
 +
-     # Qt5's cmake does not export QT_IMPORTS_DIR, lets query qmake on our own for now
-     get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
-     function(QUERY_QMAKE VAR RESULT)
-diff --git a/src/QZXing.pc.in b/src/QZXing.pc.in
-new file mode 100644
-index 0000000..7a13d44
+ endif()
 --- /dev/null
 +++ b/src/QZXing.pc.in
 @@ -0,0 +1,10 @@
@@ -154,9 +139,6 @@
 +Version: @SOVERSION_FULL@
 +Cflags: @PC_DEFINES@ -I${includedir}
 +Libs: -L${libdir} -lqzxing
-diff --git a/src/cmake/JoinPaths.cmake b/src/cmake/JoinPaths.cmake
-new file mode 100644
-index 0000000..c68d91b
 --- /dev/null
 +++ b/src/cmake/JoinPaths.cmake
 @@ -0,0 +1,23 @@
@@ -183,6 +165,3 @@
 +    endforeach()
 +    set(${joined_path} "${temp_path}" PARENT_SCOPE)
 +endfunction()
--- 
-2.44.1
-
diff -Nru qzxing-3.3.0+dfsg/debian/qml-module-qzxing.install qzxing-3.3.0+dfsg/debian/qml-module-qzxing.install
--- qzxing-3.3.0+dfsg/debian/qml-module-qzxing.install	2022-10-20 00:42:17.000000000 +0200
+++ qzxing-3.3.0+dfsg/debian/qml-module-qzxing.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/*/qt5/qml/QZXing/

--- End Message ---
--- Begin Message ---
Unblocked qzxing.

--- End Message ---

Reply to: