Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package quazip for openSUSE:Factory checked in at 2021-11-13 22:48:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/quazip (Old) and /work/SRC/openSUSE:Factory/.quazip.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "quazip" Sat Nov 13 22:48:41 2021 rev:25 rq:931256 version:1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/quazip/quazip.changes 2020-10-12 13:59:56.466231767 +0200 +++ /work/SRC/openSUSE:Factory/.quazip.new.1890/quazip.changes 2021-11-13 22:49:12.645281477 +0100 @@ -1,0 +2,12 @@ +Sat Nov 13 14:07:50 UTC 2021 - Luigi Baldoni <aloi...@gmx.com> + +- Update to version 1.2 + * Add CMake option to disable installation + * Qt's internal zlib can be used now (QUAZIP_USE_QT_ZLIB, OFF + by default) + * Make tests optional (QUAZIP_ENABLE_TESTS, OFF by default) + * Fix: QuaZip::close() can be safely called multiple times now + * Fix: -lz added to pkgconfig +- Fix -devel package runtime requirement + +------------------------------------------------------------------- Old: ---- quazip-1.1.tar.gz New: ---- quazip-1.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ quazip.spec ++++++ --- /var/tmp/diff_new_pack.BpjvPW/_old 2021-11-13 22:49:13.001281749 +0100 +++ /var/tmp/diff_new_pack.BpjvPW/_new 2021-11-13 22:49:13.001281749 +0100 @@ -1,7 +1,7 @@ # # spec file for package quazip # -# Copyright (c) 2020 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 so_ver 1 %define lib_ver 1_0_0 Name: quazip -Version: 1.1 +Version: 1.2 Release: 0 Summary: C++ wrapper for ZIP/UNZIP License: GPL-2.0-or-later OR LGPL-2.1-or-later @@ -54,7 +54,7 @@ %package devel Summary: Development files for %{name} -Requires: libquazip5-%{so_ver} = %{version}-%{release} +Requires: libquazip%{so_ver}-qt5-%{lib_ver} = %{version} Requires: pkgconfig(Qt5Core) Provides: libquazip-qt5-devel = %{version} Obsoletes: libquazip-qt5-devel < %{version} ++++++ quazip-1.1.tar.gz -> quazip-1.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/.editorconfig new/quazip-1.2/.editorconfig --- old/quazip-1.1/.editorconfig 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/.editorconfig 2021-11-13 13:52:26.000000000 +0100 @@ -1,6 +1,6 @@ -root = true - -[*] -end_of_line = lf -indent_style = space -indent_size = 4 +root = true + +[*] +end_of_line = lf +indent_style = space +indent_size = 4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/.gitattributes new/quazip-1.2/.gitattributes --- old/quazip-1.1/.gitattributes 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/.gitattributes 2021-11-13 13:52:26.000000000 +0100 @@ -8,6 +8,7 @@ *.in -crlf *.cmakein -crlf *.symbols -crlf +.editorconfig -crlf # new Git versions *.h text eol=lf @@ -19,3 +20,4 @@ *.in text eol=lf *.cmakein text eol=lf *.symbols text eol=lf +.editorconfig eol=lf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/.github/workflows/ci.yml new/quazip-1.2/.github/workflows/ci.yml --- old/quazip-1.1/.github/workflows/ci.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/quazip-1.2/.github/workflows/ci.yml 2021-11-13 13:52:26.000000000 +0100 @@ -0,0 +1,70 @@ +on: + push: + branches: + - master + pull_request: + +name: CI + +jobs: + + ubuntu: + name: "cmake on ${{ matrix.runner }}" + runs-on: "ubuntu-20.04" + container: + image: "${{ matrix.runner }}" + strategy: + matrix: + runner: + - "ubuntu:20.04" # cmake 3.16, qt 5.12 + - "ubuntu:20.10" # cmake 3.16, qt 5.14 + env: + DEBIAN_FRONTEND: noninteractive + steps: + - name: Show OS info + run: cat /etc/os-release + - uses: actions/checkout@v2 + - name: Install qt and build tools + run: | + apt-get update && + apt-get install -y --no-install-recommends \ + g++ make cmake zlib1g-dev qt5-default qttools5-dev-tools + - name: Show cmake version + run: cmake --version + - name: Run cmake + run: cmake -S . -B build -DQUAZIP_ENABLE_TESTS=ON + - name: Build quazip + run: cd build && VERBOSE=1 make -j8 + - name: Build tests + run: cd build/qztest && VERBOSE=1 make -j8 + - name: Run tests + run: build/qztest/qztest + + alpine: + name: "cmake on ${{ matrix.runner }}" + runs-on: "ubuntu-20.04" + container: + image: "${{ matrix.runner }}" + strategy: + matrix: + runner: + - "alpine:3.11" # cmake 3.15, qt 5.12 + - "alpine:3.12" # cmake 3.17, qt 5.14 + env: + DEBIAN_FRONTEND: noninteractive + steps: + - name: Show OS info + run: cat /etc/os-release + - uses: actions/checkout@v2 + - name: Install qt and build tools + run: apk add --update g++ make cmake qt5-qtbase-dev + - name: Show cmake version + run: cmake --version + - name: Run cmake + run: cmake -S . -B build -DQUAZIP_ENABLE_TESTS=ON + - name: Build quazip + run: cd build && VERBOSE=1 make -j8 + - name: Build tests + run: cd build/qztest && VERBOSE=1 make -j8 + - name: Run tests + run: build/qztest/qztest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/.gitignore new/quazip-1.2/.gitignore --- old/quazip-1.1/.gitignore 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/.gitignore 2021-11-13 13:52:26.000000000 +0100 @@ -1,2 +1,3 @@ /doc /build +*.user diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/CMakeLists.txt new/quazip-1.2/CMakeLists.txt --- old/quazip-1.1/CMakeLists.txt 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/CMakeLists.txt 2021-11-13 13:52:26.000000000 +0100 @@ -1,7 +1,7 @@ # require 3.15 for GNUInstallDirs cmake_minimum_required(VERSION 3.15...3.18) -project(QuaZip VERSION 1.1) +project(QuaZip VERSION 1.2) set(CMAKE_CXX_STANDARD 14) @@ -9,13 +9,15 @@ set(QUAZIP_LIB_SOVERSION 1.0.0) option(BUILD_SHARED_LIBS "" ON) +option(QUAZIP_INSTALL "" ON) +option(QUAZIP_USE_QT_ZLIB "" OFF) +option(QUAZIP_ENABLE_TESTS "Build QuaZip tests" OFF) set(QUAZIP_QT_MAJOR_VERSION 5 CACHE STRING "Qt version to use (4 or 5), defaults to 5") if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE RELEASE) endif() -enable_testing() set(CMAKE_AUTOMOC ON) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_DEBUG_POSTFIX d) @@ -26,43 +28,47 @@ set(QUAZIP_LIB_TARGET_NAME QuaZip) set(QUAZIP_DIR_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION}-${QUAZIP_LIB_VERSION}) set(QUAZIP_PACKAGE_NAME QuaZip-Qt${QUAZIP_QT_MAJOR_VERSION}) -set(QUAZIP_ENABLE_TESTS OFF) + if(QUAZIP_QT_MAJOR_VERSION EQUAL 6) find_package(Qt6 REQUIRED COMPONENTS Core Core5Compat OPTIONAL_COMPONENTS Network Test) - set(QUAZIP_LIB_QT_LIBRARIES Qt6::Core Qt6::Core5Compat) + set(QUAZIP_LIB_LIBRARIES Qt6::Core Qt6::Core5Compat) set(QUAZIP_TEST_QT_LIBRARIES Qt6::Core Qt6::Core5Compat Qt6::Network Qt6::Test) set(QUAZIP_PKGCONFIG_REQUIRES Qt6Core) - if (Qt6Network_FOUND AND Qt6Test_FOUND) - set(QUAZIP_ENABLE_TESTS ON) - endif() elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 5) find_package(Qt5 REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Network Test) - set(QUAZIP_LIB_QT_LIBRARIES Qt5::Core) + set(QUAZIP_LIB_LIBRARIES Qt5::Core) set(QUAZIP_TEST_QT_LIBRARIES Qt5::Core Qt5::Network Qt5::Test) set(QUAZIP_PKGCONFIG_REQUIRES Qt5Core) - if (Qt5Network_FOUND AND Qt5Test_FOUND) - set(QUAZIP_ENABLE_TESTS ON) - endif() elseif(QUAZIP_QT_MAJOR_VERSION EQUAL 4) find_package(Qt4 4.5.0 REQUIRED COMPONENTS QtCore OPTIONAL_COMPONENTS QtNetwork QtTest) - set(QUAZIP_LIB_QT_LIBRARIES Qt4::QtCore) + set(QUAZIP_LIB_LIBRARIES Qt4::QtCore) set(QUAZIP_TEST_QT_LIBRARIES Qt4::QtCore Qt4::QtNetwork Qt4::QtTest) set(QUAZIP_PKGCONFIG_REQUIRES QtCore) - if (QT_QTNETWORK_FOUND AND QT_QTTEST_FOUND) - set(QUAZIP_ENABLE_TESTS ON) - endif() else() message(FATAL_ERROR "Qt version ${QUAZIP_QT_MAJOR_VERSION} is not supported") endif() -find_package(ZLIB REQUIRED) + +set(QUAZIP_QT_ZLIB_USED OFF) +if(QUAZIP_USE_QT_ZLIB) + find_package(Qt${QUAZIP_QT_MAJOR_VERSION} OPTIONAL_COMPONENTS Zlib) + if (Qt${QUAZIP_QT_MAJOR_VERSION}Zlib_FOUND) + set(QUAZIP_LIB_LIBRARIES ${QUAZIP_LIB_LIBRARIES} Qt${QUAZIP_QT_MAJOR_VERSION}::Zlib) + set(QUAZIP_QT_ZLIB_USED ON) + endif() +endif() +if(NOT QUAZIP_QT_ZLIB_USED) + find_package(ZLIB REQUIRED) + set(QUAZIP_LIB_LIBRARIES ${QUAZIP_LIB_LIBRARIES} ZLIB::ZLIB) +endif() add_subdirectory(quazip) if(QUAZIP_ENABLE_TESTS) - add_subdirectory(qztest EXCLUDE_FROM_ALL) + message(STATUS "Building QuaZip tests") + enable_testing() + add_subdirectory(qztest) endif() - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/COPYING new/quazip-1.2/COPYING --- old/quazip-1.1/COPYING 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/COPYING 2021-11-13 13:52:26.000000000 +0100 @@ -1,6 +1,23 @@ +This file contains information about licensing information for the +QuaZip library. It is the definitive source of such information, and +takes priority over any copyright notices that might be found in the +source code. All of those copyright notices are there just to reference +this file, which they all should do, except the notices in the original +ZIP/UNZIP package (MiniZip), which is included in the QuaZip library in +a modified state, as its license permits. + +If some source file contains a copyright notice that neither marks that +file as clearly belonging to the MiniZip project nor references this +file, then it's a bug and should be reported to +https://github.com/stachenov/quazip/issues + The QuaZip library is licensed under the GNU Lesser General Public License V2.1 plus a static linking exception. +The original ZIP/UNZIP package (MiniZip) is copyrighted by Gilles +Vollant and contributors, see quazip/(un)zip.h files for details. +Basically it's the zlib license. + STATIC LINKING EXCEPTION The copyright holders give you permission to link this library with diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/Doxyfile new/quazip-1.2/Doxyfile --- old/quazip-1.1/Doxyfile 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/Doxyfile 2021-11-13 13:52:26.000000000 +0100 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = quazip-1-1 +PROJECT_NUMBER = quazip-1-2 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/NEWS.txt new/quazip-1.2/NEWS.txt --- old/quazip-1.1/NEWS.txt 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/NEWS.txt 2021-11-13 13:52:26.000000000 +0100 @@ -1,5 +1,14 @@ QuaZip changes +* 2021-11-13 1.2 + * Add CMake option to disable installation (Sebastian Rettenberger) + * Qt's internal zlib can be used now (QUAZIP_USE_QT_ZLIB, OFF by + default) + * Make tests optional (QUAZIP_ENABLE_TESTS, OFF by default) + (Gleb Ignatev) + * Fix: QuaZip::close() can be safely called multiple times now + * Fix: -lz added to pkgconfig + * 2020-10-11 1.1 * Fixed Unix symlink handling in JlCompress compression * Implemented Unix symlink handling in JlCompress extraction diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/CMakeLists.txt new/quazip-1.2/quazip/CMakeLists.txt --- old/quazip-1.1/quazip/CMakeLists.txt 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/CMakeLists.txt 2021-11-13 13:52:26.000000000 +0100 @@ -59,7 +59,7 @@ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${QUAZIP_DIR_NAME}> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${QUAZIP_INCLUDE_PATH}> ) -target_link_libraries(${QUAZIP_LIB_TARGET_NAME} ${QUAZIP_LIB_QT_LIBRARIES} ZLIB::ZLIB) +target_link_libraries(${QUAZIP_LIB_TARGET_NAME} ${QUAZIP_LIB_LIBRARIES}) if(BUILD_SHARED_LIBS) target_compile_definitions(${QUAZIP_LIB_TARGET_NAME} PRIVATE QUAZIP_BUILD) # dllexport else() @@ -68,30 +68,32 @@ include(CMakePackageConfigHelpers) -if(BUILD_SHARED_LIBS) - set(Flavor Shared) -else() - set(Flavor Static) -endif() -set(QUAZIP_EXPORT_SET ${QUAZIP_PACKAGE_NAME}_${Flavor}Targets) -write_basic_package_version_file(${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}ConfigVersion.cmake - COMPATIBILITY SameMajorVersion -) -configure_package_config_file(QuaZipConfig.cmake.in ${QUAZIP_PACKAGE_NAME}Config.cmake - INSTALL_DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} -) -install(TARGETS ${QUAZIP_LIB_TARGET_NAME} - EXPORT ${QUAZIP_EXPORT_SET} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${QUAZIP_INCLUDE_PATH} -) -install(EXPORT ${QUAZIP_EXPORT_SET} - NAMESPACE QuaZip:: - DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} -) -install(FILES ${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}Config.cmake - ${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}ConfigVersion.cmake - DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} -) +if(QUAZIP_INSTALL) + if(BUILD_SHARED_LIBS) + set(Flavor Shared) + else() + set(Flavor Static) + endif() + set(QUAZIP_EXPORT_SET ${QUAZIP_PACKAGE_NAME}_${Flavor}Targets) + write_basic_package_version_file(${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}ConfigVersion.cmake + COMPATIBILITY SameMajorVersion + ) + configure_package_config_file(QuaZipConfig.cmake.in ${QUAZIP_PACKAGE_NAME}Config.cmake + INSTALL_DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} + ) + install(TARGETS ${QUAZIP_LIB_TARGET_NAME} + EXPORT ${QUAZIP_EXPORT_SET} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${QUAZIP_INCLUDE_PATH} + ) + install(EXPORT ${QUAZIP_EXPORT_SET} + NAMESPACE QuaZip:: + DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} + ) + install(FILES ${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}Config.cmake + ${PROJECT_BINARY_DIR}/${QUAZIP_PACKAGE_NAME}ConfigVersion.cmake + DESTINATION ${QUAZIP_INSTALL_CONFIGDIR}/${QUAZIP_DIR_NAME} + ) -configure_file(quazip.pc.cmakein ${QUAZIP_PKGCONFIG_NAME}.pc @ONLY) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${QUAZIP_PKGCONFIG_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + configure_file(quazip.pc.cmakein ${QUAZIP_PKGCONFIG_NAME}.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${QUAZIP_PKGCONFIG_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) +endif() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/JlCompress.cpp new/quazip-1.2/quazip/JlCompress.cpp --- old/quazip-1.1/quazip/JlCompress.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/JlCompress.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -384,6 +384,8 @@ QString cleanDir = QDir::cleanPath(dir); QDir directory(cleanDir); QString absCleanDir = directory.absolutePath(); + if (!absCleanDir.endsWith('/')) // It only ends with / if it's the FS root. + absCleanDir += '/'; QStringList extracted; if (!zip.goToFirstFile()) { return QStringList(); @@ -392,7 +394,7 @@ QString name = zip.getCurrentFileName(); QString absFilePath = directory.absoluteFilePath(name); QString absCleanPath = QDir::cleanPath(absFilePath); - if (!absCleanPath.startsWith(absCleanDir + QLatin1String("/"))) + if (!absCleanPath.startsWith(absCleanDir)) continue; if (!extractFile(&zip, QLatin1String(""), absFilePath)) { removeFile(extracted); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/doc/index.dox new/quazip-1.2/quazip/doc/index.dox --- old/quazip-1.1/quazip/doc/index.dox 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/doc/index.dox 2021-11-13 13:52:26.000000000 +0100 @@ -50,11 +50,12 @@ \section platforms Platforms supported -%QuaZip 1.0 was tested on: +%QuaZip 1.1 was tested on: - %Qt 5.15.0 MinGW 8.1 x32 - %Qt 5.12.9 MinGW 7.3 x32 - %Qt 5.9.7 CentOS 7 x64 - %Qt 4.8.7 CentOS 7 x64 +- %Qt 5.11.0 Astra Linux CE 1.6 x64 It should work fine on any platform supported by %Qt 4.8.7 or later. In theory, even versions as old as %Qt 4.6.2 might work as well, but @@ -69,8 +70,7 @@ \section Dependencies Just <a href="http://www.zlib.org/">zlib</a> and %Qt 4/5/6. Sometimes -you can get away with using zlib library bundled into %Qt, but -usually you need at least its headers. +you can get away with using zlib library bundled into %Qt (see below). CMake-wise, you need \c ZLIB::ZLIB and one of the following: \li \c Qt5::Core @@ -113,6 +113,14 @@ On Windows, it may be required to use <tt>-G "MinGW Makefiles"</tt> or something like that to convince CMake that you really want to use, say, MinGW and not Visual Studio, for example. +It can be a pain to install zlib on Windows, so there's a possible workaround using zlib bundled into Qt itself. +Note that this zlib is Qt's internal implementation detail, so it's more like a dirty hack, but it can be convenient. +To enable this feature, configure %QuaZip with +\verbatim +-D QUAZIP_USE_QT_ZLIB=ON +\endverbatim +This option defaults to OFF, and even when enabled, if it fails to find zlib that comes with Qt, it will fall back to looking for a stand-alone zlib. + To install, run \verbatim $ cmake --build wherever/you/want/your/build/to/be --target install -D CMAKE_INSTALL_PREFIX=/wherever/you/want/to/install @@ -135,21 +143,14 @@ \section test Testing -To test, run: +The tests are not built by default. Set the QUAZIP_ENABLE_TESTS option +to build them. + +To run the tests, execute: \verbatim $ cmake --build wherever/you/want/your/build/to/be --target check \endverbatim -Note that tests are not included in the \c all target, so if you want -to build and test with %Qt Creator, add another build step and select -the \c qztest target. Then set up run configuration to launch -the qztest binary. - -On Windows, you need to set its working directory -to the \c quazip subdirectory of the build tree. The default -is the \c qztest directory, which lead to mysterious crashes -because qztest can't find the %QuaZip DLL there. - On some systems you may need to set PATH, LD_LIBRARY_PATH or SHLIB_PATH to get ???qztest??? to actually run and to use the version of %QuaZip you've just built, especially if you already have some version of %QuaZip installed somewhere. @@ -196,5 +197,5 @@ <a href="https://sourceforge.net/projects/quazip/">SourceForge</a> for reference. -Copyright (C) 2005-2020 Sergei Tachenov and contributors +Copyright (C) 2005-2021 Sergei Tachenov and contributors */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/doc/usage.dox new/quazip-1.2/quazip/doc/usage.dox --- old/quazip-1.1/quazip/doc/usage.dox 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/doc/usage.dox 2021-11-13 13:52:26.000000000 +0100 @@ -42,6 +42,53 @@ installed in parallel, and then pass the required version to \c find_package. As long as the major version matches, it will be found. +\section Flatpak + +%Quazip can be used in Flatpak YAML manifests as such: + +\verbatim +modules: + - name: quazip + buildsystem: cmake-ninja + builddir: true + config-opts: + - -DCMAKE_BUILD_TYPE=MinSizeRel + sources: + - type: archive + url: https://github.com/stachenov/quazip/archive/v1.1.tar.gz + sha256: 54edce9c11371762bd4f0003c2937b5d8806a2752dd9c0fd9085e90792612ad0 + - type: shell + commands: + - sed -i 's|${CMAKE_ROOT}/Modules|share/cmake|' CMakeLists.txt +\endverbatim + +or on older JSON manifests: +\verbatim +"modules": [ + { + "name": "quazip", + "buildsystem": "cmake-ninja", + "builddir": true, + "config-opts": [ + "-DCMAKE_BUILD_TYPE=MinSizeRel" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/stachenov/quazip/archive/v1.1.tar.gz", + "sha256": "54edce9c11371762bd4f0003c2937b5d8806a2752dd9c0fd9085e90792612ad0" + }, + { + "type": "shell", + "commands": [ + "sed -i 's|${CMAKE_ROOT}/Modules|share/cmake|' CMakeLists.txt" + ] + } + ] + } + ] +\endverbatim + \section terminology Terminology ???%QuaZip??? means the whole library or the \c QuaZip class, depending diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/quazip.cpp new/quazip-1.2/quazip/quazip.cpp --- old/quazip-1.1/quazip/quazip.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/quazip.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -349,7 +349,6 @@ p->zipError=UNZ_OK; switch(p->mode) { case mdNotOpen: - qWarning("QuaZip::close(): ZIP is not open"); return; case mdUnzip: p->zipError=unzClose(p->unzFile_f); @@ -371,8 +370,7 @@ p->ioDevice = nullptr; } p->clearDirectoryMap(); - if(p->zipError==UNZ_OK) - p->mode=mdNotOpen; + p->mode=mdNotOpen; } void QuaZip::setZipName(const QString& zipName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/quazip.h new/quazip-1.2/quazip/quazip.h --- old/quazip-1.1/quazip/quazip.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/quazip.h 2021-11-13 13:52:26.000000000 +0100 @@ -213,6 +213,11 @@ * but at least it makes your programs work instead of crashing. Note that * if the auto-close flag is cleared, then this is a non-issue, and * commit() isn't called. + * + * Closing an already closed (or never opened) instance is safe, + * regardless of whether the first close attempt was successful. + * This second close does nothing, but is considered a success, + * as far as getZipError() is concerned. */ void close(); /// Sets the codec used to encode/decode file names inside archive. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/quazip.pc.cmakein new/quazip-1.2/quazip/quazip.pc.cmakein --- old/quazip-1.1/quazip/quazip.pc.cmakein 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/quazip.pc.cmakein 2021-11-13 13:52:26.000000000 +0100 @@ -6,6 +6,6 @@ Name: QuaZip-Qt@QUAZIP_QT_MAJOR_VERSION@ Description: Minizip wrapper library for Qt @QUAZIP_QT_MAJOR_VERSION@.x Version: @QUAZIP_LIB_VERSION@ -Libs: -l@QUAZIP_LIB_FILE_NAME@ +Libs: -l@QUAZIP_LIB_FILE_NAME@ -lz Cflags: -I${includedir}/@QUAZIP_DIR_NAME@ -I${includedir}/@QUAZIP_INCLUDE_PATH@ Requires: @QUAZIP_PKGCONFIG_REQUIRES@ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/quazip_global.h new/quazip-1.2/quazip/quazip_global.h --- old/quazip-1.1/quazip/quazip_global.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/quazip_global.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QtCore/qglobal.h> +#include <QtCore/QtGlobal> /** This is automatically defined when building a static library, but when diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/quazip/quazip_qt_compat.h new/quazip-1.2/quazip/quazip_qt_compat.h --- old/quazip-1.1/quazip/quazip_qt_compat.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/quazip/quazip_qt_compat.h 2021-11-13 13:52:26.000000000 +0100 @@ -9,8 +9,8 @@ * Some includes are repeated just in case we want to split this file later. */ -#include <Qt> -#include <QtGlobal> +#include <QtCore/Qt> +#include <QtCore/QtGlobal> // Legacy encodings are still everywhere, but the Qt team decided we // don't need them anymore and moved them out of Core in Qt 6. @@ -46,12 +46,12 @@ #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) using Qt::SkipEmptyParts; #else -#include <QString> +#include <QtCore/QString> const auto SkipEmptyParts = QString::SplitBehavior::SkipEmptyParts; #endif // and yet another... (why didn't they just make qSort delegate to std::sort?) -#include <QList> +#include <QtCore/QList> #if (QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)) #include <algorithm> template<typename T, typename C> @@ -59,7 +59,7 @@ std::sort(begin, end, comparator); } #else -#include <QtAlgorithms> +#include <QtCore/QtAlgorithms> template<typename T, typename C> inline void quazip_sort(T begin, T end, C comparator) { qSort(begin, end, comparator); @@ -67,8 +67,8 @@ #endif // this is a stupid rename... -#include <QDateTime> -#include <QFileInfo> +#include <QtCore/QDateTime> +#include <QtCore/QFileInfo> #if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) inline QDateTime quazip_ctime(const QFileInfo &fi) { return fi.birthTime(); @@ -80,7 +80,7 @@ #endif // this is just a slightly better alternative -#include <QFileInfo> +#include <QtCore/QFileInfo> #if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) inline bool quazip_is_symlink(const QFileInfo &fi) { return fi.isSymbolicLink(); @@ -93,7 +93,7 @@ #endif // I'm not even sure what this one is, but nevertheless -#include <QFileInfo> +#include <QtCore/QFileInfo> #if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)) inline QString quazip_symlink_target(const QFileInfo &fi) { return fi.symLinkTarget(); @@ -105,7 +105,7 @@ #endif // this is not a deprecation but an improvement, for a change -#include <QDateTime> +#include <QtCore/QDateTime> #if (QT_VERSION >= 0x040700) inline quint64 quazip_ntfs_ticks(const QDateTime &time, int fineTicks) { QDateTime base(QDate(1601, 1, 1), QTime(0, 0), Qt::UTC); @@ -123,7 +123,7 @@ #endif // yet another improvement... -#include <QDateTime> +#include <QtCore/QDateTime> #if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0) // Yay! Finally a way to get time as qint64! inline qint64 quazip_to_time64_t(const QDateTime &time) { return time.toSecsSinceEpoch(); @@ -134,7 +134,7 @@ } #endif -#include <QTextStream> +#include <QtCore/QTextStream> // and another stupid move #if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) const auto quazip_endl = Qt::endl; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/CMakeLists.txt new/quazip-1.2/qztest/CMakeLists.txt --- old/quazip-1.1/qztest/CMakeLists.txt 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/CMakeLists.txt 2021-11-13 13:52:26.000000000 +0100 @@ -1,5 +1,3 @@ -project(qztest) - set(QZTEST_SOURCES qztest.h testjlcompress.h @@ -23,9 +21,9 @@ testquazipnewinfo.cpp ) -add_executable(${PROJECT_NAME} ${QZTEST_SOURCES} qztest.qrc) -set_target_properties(${PROJECT_NAME} PROPERTIES AUTORCC ON) -target_link_libraries(${PROJECT_NAME} +add_executable(qztest ${QZTEST_SOURCES} qztest.qrc) +set_target_properties(qztest PROPERTIES AUTORCC ON) +target_link_libraries(qztest ${QUAZIP_TEST_QT_LIBRARIES} QuaZip::QuaZip ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/qztest.cpp new/quazip-1.2/qztest/qztest.cpp --- old/quazip-1.1/qztest/qztest.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/qztest.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -37,12 +37,12 @@ #include <quazipfile.h> #include <quazip_qt_compat.h> -#include <QCoreApplication> -#include <QDir> -#include <QFileInfo> -#include <QTextStream> +#include <QtCore/QCoreApplication> +#include <QtCore/QDir> +#include <QtCore/QFileInfo> +#include <QtCore/QTextStream> -#include <QtTest> +#include <QtTest/QtTest> bool createTestFiles(const QStringList &fileNames, int size, const QString &dir) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/qztest.h new/quazip-1.2/qztest/qztest.h --- old/quazip-1.1/qztest/qztest.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/qztest.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,10 +25,9 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QIODevice> -#include <QString> -#include <QStringList> -#include <QTextCodec> +#include <QtCore/QIODevice> +#include <QtCore/QString> +#include <QtCore/QStringList> #include <quazip_qt_compat.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testjlcompress.cpp new/quazip-1.2/qztest/testjlcompress.cpp --- old/quazip-1.1/qztest/testjlcompress.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testjlcompress.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -26,12 +26,12 @@ #include "qztest.h" -#include <QDir> -#include <QFile> -#include <QFileInfo> -#include <QTextCodec> +#include <QtCore/QDir> +#include <QtCore/QFile> +#include <QtCore/QFileInfo> +#include <quazip_qt_compat.h> -#include <QtTest> +#include <QtTest/QtTest> #include <JlCompress.h> @@ -305,43 +305,81 @@ QTest::addColumn<QString>("zipName"); QTest::addColumn<QStringList>("fileNames"); QTest::addColumn<QStringList>("expectedExtracted"); + QTest::addColumn<QString>("extDir"); QTest::addColumn<QByteArray>("fileNameCodecName"); QTest::newRow("simple") << "jlextdir.zip" << (QStringList() << "test0.txt" << "testdir1/test1.txt" << "testdir2/test2.txt" << "testdir2/subdir/test2sub.txt") << (QStringList() << "test0.txt" << "testdir1/test1.txt" << "testdir2/test2.txt" << "testdir2/subdir/test2sub.txt") + << "tmp/jlext/jldir/" << QByteArray(); QTest::newRow("separate dir") << "sepdir.zip" << (QStringList() << "laj/" << "laj/lajfile.txt") << (QStringList() << "laj/" << "laj/lajfile.txt") + << "tmp/jlext/jldir/" << QByteArray(); QTest::newRow("Zip Slip") << "zipslip.zip" << (QStringList() << "test0.txt" << "../zipslip.txt") << (QStringList() << "test0.txt") + << "tmp/jlext/jldir/" << QByteArray(); QTest::newRow("Cyrillic") << "cyrillic.zip" << (QStringList() << QString::fromUtf8("???? ???? ???????????? ??????????????")) << (QStringList() << QString::fromUtf8("???? ???? ???????????? ??????????????")) + << "tmp/jlext/jldir/" << QByteArray("KOI8-U"); QTest::newRow("Japaneses") << "japanese.zip" << (QStringList() << QString::fromUtf8("??????")) << (QStringList() << QString::fromUtf8("??????")) + << "tmp/jlext/jldir/" << QByteArray("UTF-8"); +#ifdef QUAZIP_EXTRACT_TO_ROOT_TEST + QTest::newRow("Exract to root") << "tmp/quazip-root-test.zip" + << (QStringList() << "tmp/quazip-root-test/test.txt") + << (QStringList() << "tmp/quazip-root-test/test.txt") + << QString() + << QByteArray("UTF-8"); +#endif } +class TemporarilyChangeToRoot { + QString previousDir; + bool success; +public: + TemporarilyChangeToRoot() : success{false} {} + ~TemporarilyChangeToRoot() { + if (success) { + QDir::setCurrent(previousDir); // Let's HOPE it succeeds. + } + } + void changeToRoot() { + previousDir = QDir::currentPath(); + success = QDir::setCurrent("/"); + } + inline bool isSuccess() const { return success; } +}; + void TestJlCompress::extractDir() { QFETCH(QString, zipName); QFETCH(QStringList, fileNames); QFETCH(QStringList, expectedExtracted); + QFETCH(QString, extDir); QFETCH(QByteArray, fileNameCodecName); + TemporarilyChangeToRoot changeToRoot; + if (zipName == "tmp/quazip-root-test.zip") { + changeToRoot.changeToRoot(); + if (!changeToRoot.isSuccess()) { + QFAIL("Couldn't change to /"); + } + } QTextCodec *fileNameCodec = NULL; if (!fileNameCodecName.isEmpty()) fileNameCodec = QTextCodec::codecForName(fileNameCodecName); QDir curDir; - if (!curDir.mkpath("jlext/jldir")) { - QFAIL("Couldn't mkpath jlext/jldir"); + if (!extDir.isEmpty() && !curDir.mkpath(extDir)) { + QFAIL("Couldn't mkpath extDir"); } if (!createTestFiles(fileNames)) { QFAIL("Couldn't create test files"); @@ -351,11 +389,11 @@ } QStringList extracted; if (fileNameCodec == NULL) - extracted = JlCompress::extractDir(zipName, "jlext/jldir"); + extracted = JlCompress::extractDir(zipName, extDir); else // test both overloads here - extracted = JlCompress::extractDir(zipName, fileNameCodec, "jlext/jldir"); + extracted = JlCompress::extractDir(zipName, fileNameCodec, extDir); QCOMPARE(extracted.count(), expectedExtracted.count()); - const QString dir = "jlext/jldir/"; + const QString dir = extDir; foreach (QString fileName, expectedExtracted) { QString fullName = dir + fileName; QFileInfo fileInfo(fullName); @@ -367,16 +405,16 @@ curDir.rmpath(fileInfo.dir().path()); QString absolutePath = QDir(dir).absoluteFilePath(fileName); if (fileInfo.isDir() && !absolutePath.endsWith('/')) - absolutePath += '/'; + absolutePath += '/'; QVERIFY(extracted.contains(absolutePath)); } // now test the QIODevice* overload QFile zipFile(zipName); QVERIFY(zipFile.open(QIODevice::ReadOnly)); if (fileNameCodec == NULL) - extracted = JlCompress::extractDir(&zipFile, "jlext/jldir"); + extracted = JlCompress::extractDir(&zipFile, extDir); else // test both overloads here - extracted = JlCompress::extractDir(&zipFile, fileNameCodec, "jlext/jldir"); + extracted = JlCompress::extractDir(&zipFile, fileNameCodec, extDir); QCOMPARE(extracted.count(), expectedExtracted.count()); foreach (QString fileName, expectedExtracted) { QString fullName = dir + fileName; @@ -389,13 +427,13 @@ curDir.rmpath(fileInfo.dir().path()); QString absolutePath = QDir(dir).absoluteFilePath(fileName); if (fileInfo.isDir() && !absolutePath.endsWith('/')) - absolutePath += '/'; + absolutePath += '/'; QVERIFY(extracted.contains(absolutePath)); } zipFile.close(); - curDir.rmpath("jlext/jldir"); + curDir.rmpath(extDir); removeTestFiles(fileNames); - curDir.remove(zipName); + //curDir.remove(zipName); } void TestJlCompress::zeroPermissions() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testjlcompress.h new/quazip-1.2/qztest/testjlcompress.h --- old/quazip-1.1/qztest/testjlcompress.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testjlcompress.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,10 +25,11 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> #ifdef Q_OS_UNIX #define QUAZIP_SYMLINK_TEST +#define QUAZIP_EXTRACT_TO_ROOT_TEST #endif #ifdef Q_OS_WIN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquachecksum32.cpp new/quazip-1.2/qztest/testquachecksum32.cpp --- old/quazip-1.1/qztest/testquachecksum32.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquachecksum32.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -27,7 +27,7 @@ #include <quaadler32.h> #include <quacrc32.h> -#include <QtTest> +#include <QtTest/QtTest> void TestQuaChecksum32::calculate() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquachecksum32.h new/quazip-1.2/qztest/testquachecksum32.h --- old/quazip-1.1/qztest/testquachecksum32.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquachecksum32.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> class TestQuaChecksum32: public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquagzipfile.cpp new/quazip-1.2/qztest/testquagzipfile.cpp --- old/quazip-1.1/qztest/testquagzipfile.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquagzipfile.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -24,9 +24,9 @@ #include "testquagzipfile.h" #include <zlib.h> -#include <QDir> +#include <QtCore/QDir> #include <quagzipfile.h> -#include <QtTest> +#include <QtTest/QtTest> void TestQuaGzipFile::read() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquagzipfile.h new/quazip-1.2/qztest/testquagzipfile.h --- old/quazip-1.1/qztest/testquagzipfile.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquagzipfile.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> class TestQuaGzipFile: public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquaziodevice.cpp new/quazip-1.2/qztest/testquaziodevice.cpp --- old/quazip-1.1/qztest/testquaziodevice.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquaziodevice.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -24,9 +24,9 @@ #include "testquaziodevice.h" #include <quaziodevice.h> -#include <QBuffer> -#include <QByteArray> -#include <QtTest> +#include <QtCore/QBuffer> +#include <QtCore/QByteArray> +#include <QtTest/QtTest> void TestQuaZIODevice::read() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquaziodevice.h new/quazip-1.2/qztest/testquaziodevice.h --- old/quazip-1.1/qztest/testquaziodevice.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquaziodevice.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> class TestQuaZIODevice: public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazip.cpp new/quazip-1.2/qztest/testquazip.cpp --- old/quazip-1.1/qztest/testquazip.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazip.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -26,18 +26,18 @@ #include "qztest.h" -#include <QDataStream> -#include <QDir> -#include <QFileInfo> -#include <QHash> +#include <QtCore/QDataStream> +#include <QtCore/QDir> +#include <QtCore/QFileInfo> +#include <QtCore/QHash> #ifdef QUAZIP_TEST_QSAVEFILE -#include <QSaveFile> +#include <QtCore/QSaveFile> #endif -#include <QTcpServer> -#include <QTcpSocket> -#include <QTextCodec> +#include <QtNetwork/QTcpServer> +#include <QtNetwork/QTcpSocket> +#include <quazip_qt_compat.h> -#include <QtTest> +#include <QtTest/QtTest> #include <quazip.h> #include <JlCompress.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazip.h new/quazip-1.2/qztest/testquazip.h --- old/quazip-1.1/qztest/testquazip.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazip.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> #if (QT_VERSION >= 0x050100) #define QUAZIP_TEST_QSAVEFILE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipdir.cpp new/quazip-1.2/qztest/testquazipdir.cpp --- old/quazip-1.1/qztest/testquazipdir.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipdir.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -24,7 +24,7 @@ #include "testquazipdir.h" #include "qztest.h" -#include <QtTest> +#include <QtTest/QtTest> #include <quazip.h> #include <quazipdir.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipdir.h new/quazip-1.2/qztest/testquazipdir.h --- old/quazip-1.1/qztest/testquazipdir.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipdir.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,7 +25,7 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> +#include <QtCore/QObject> class TestQuaZipDir: public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipfile.cpp new/quazip-1.2/qztest/testquazipfile.cpp --- old/quazip-1.1/qztest/testquazipfile.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipfile.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -31,11 +31,11 @@ #include <quazip.h> #include <quazip_qt_compat.h> -#include <QFile> -#include <QString> -#include <QStringList> +#include <QtCore/QFile> +#include <QtCore/QString> +#include <QtCore/QStringList> -#include <QtTest> +#include <QtTest/QtTest> void TestQuaZipFile::zipUnzip_data() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipfile.h new/quazip-1.2/qztest/testquazipfile.h --- old/quazip-1.1/qztest/testquazipfile.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipfile.h 2021-11-13 13:52:26.000000000 +0100 @@ -25,8 +25,8 @@ see quazip/(un)zip.h files for details. Basically it's the zlib license. */ -#include <QObject> -#include <QStringList> +#include <QtCore/QObject> +#include <QtCore/QStringList> class TestQuaZipFile: public QObject { Q_OBJECT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipfileinfo.cpp new/quazip-1.2/qztest/testquazipfileinfo.cpp --- old/quazip-1.1/qztest/testquazipfileinfo.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipfileinfo.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -2,12 +2,12 @@ #include "qztest.h" -#include <QByteArray> -#include <QDir> -#include <QFileInfo> -#include <QPair> +#include <QtCore/QByteArray> +#include <QtCore/QDir> +#include <QtCore/QFileInfo> +#include <QtCore/QPair> -#include <QtTest> +#include <QtTest/QtTest> #include <quazip.h> #include <quazipfile.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipfileinfo.h new/quazip-1.2/qztest/testquazipfileinfo.h --- old/quazip-1.1/qztest/testquazipfileinfo.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipfileinfo.h 2021-11-13 13:52:26.000000000 +0100 @@ -1,7 +1,7 @@ #ifndef TESTQUAZIPFILEINFO_H #define TESTQUAZIPFILEINFO_H -#include <QObject> +#include <QtCore/QObject> class TestQuaZipFileInfo : public QObject { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipnewinfo.cpp new/quazip-1.2/qztest/testquazipnewinfo.cpp --- old/quazip-1.1/qztest/testquazipnewinfo.cpp 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipnewinfo.cpp 2021-11-13 13:52:26.000000000 +0100 @@ -2,9 +2,9 @@ #include "qztest.h" -#include <QDir> -#include <QFileInfo> -#include <QtTest> +#include <QtCore/QDir> +#include <QtCore/QFileInfo> +#include <QtTest/QtTest> #include <quazip.h> #include <quazipfile.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quazip-1.1/qztest/testquazipnewinfo.h new/quazip-1.2/qztest/testquazipnewinfo.h --- old/quazip-1.1/qztest/testquazipnewinfo.h 2020-10-11 09:46:37.000000000 +0200 +++ new/quazip-1.2/qztest/testquazipnewinfo.h 2021-11-13 13:52:26.000000000 +0100 @@ -1,7 +1,7 @@ #ifndef TESTQUAZIPNEWINFO_H #define TESTQUAZIPNEWINFO_H -#include <QObject> +#include <QtCore/QObject> class TestQuaZipNewInfo : public QObject {