From 5b859615225db6a8a30ccf58774749f8023e4b4b Mon Sep 17 00:00:00 2001 From: lichaofan Date: Tue, 23 Dec 2025 17:14:28 +0800 Subject: [PATCH] feat: issues of buildpackage on Qt5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adapted to the v20 system, issues of buildpackage on Qt5. 适配v20系统,完成Qt5环境的打包流程。 v20 BUG 分支合一到v25主线 Task: https://pms.uniontech.com/task-view-383475.html --- debian/control | 60 ++++++----------------------- debian/control.in | 59 ++++++++++++++++++++++++++++ debian/rules | 14 +++++++ libimageviewer/CMakeLists.txt | 4 +- libimagevisualresult/CMakeLists.txt | 6 +-- 5 files changed, 88 insertions(+), 55 deletions(-) create mode 100644 debian/control.in diff --git a/debian/control b/debian/control index dbe17f63..dea3e2db 100644 --- a/debian/control +++ b/debian/control @@ -6,22 +6,14 @@ Build-Depends: debhelper (>= 11), cmake, pkg-config, -# Qt5 - qtbase5-dev, - qtbase5-private-dev, - qttools5-dev, - qttools5-dev-tools, - qtmultimedia5-dev, - libqt5svg5-dev, - libqt5x11extras5-dev, # Qt6 - qt6-base-dev, - qt6-base-private-dev, - qt6-tools-dev, - qt6-tools-dev-tools, - qt6-multimedia-dev, - libqt6svg6-dev, - libqt6opengl6-dev, + qt6-base-dev | qtbase5-dev, + qt6-base-private-dev | qtbase5-private-dev, + qt6-tools-dev | qttools5-dev, + qt6-tools-dev-tools | qttools5-dev-tools, + qt6-multimedia-dev | qtmultimedia5-dev, + libqt6svg6-dev | libqt5svg5-dev, + libqt6opengl6-dev | libqt5x11extras5-dev, libexif-dev, libsqlite3-dev, libxcb-util0-dev, @@ -35,19 +27,12 @@ Build-Depends: libfreetype6-dev, libxrender-dev, # DTK - libdtkwidget-dev, - libdtkcore5-bin, - libdtk6widget-dev, - libdtk6core-bin, + libdtk6widget-dev | libdtkwidget-dev, + libdtk6core-bin | libdtkcore5-bin, + libdfm6-io-dev | libdfm-io-dev, libmediainfo-dev, libffmpegthumbnailer-dev, - libtiff-dev, -# Enable use dfm io to copy MTP mount file, Use `|`(or) relationship to -# compatible different environments, hello will not be used. -# WARNING: control file changes may cause hello to be installed -# instead of libdfm-io-dev. - libdfm6-io-dev | hello, - libdfm-io-dev | hello + libtiff-dev Standards-Version: 3.9.8 Homepage: http://www.deepin.org @@ -73,26 +58,3 @@ Replaces: Recommends: libqt6libgtk2, kimageformat6-plugins, deepin-ocr Description: Image Viewer library development headers. Deepin Image Viewer library development headers. - -# Support Qt5 -Package: libimageeditor -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Conflicts: - libimage-viewer -Replaces: - libimage-viewer -Recommends: libqt5libqgtk2, kimageformat-plugins, deepin-ocr, ffmpegthumbnailer, ffmpeg -Description: Image Viewer library. - Deepin Image Viewer library. - -Package: libimageeditor-dev -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libimageeditor(=${binary:Version}) -Conflicts: - libimage-viewer-dev -Replaces: - libimage-viewer-dev -Recommends: libqt5libqgtk2, kimageformat-plugins, deepin-ocr -Description: Image Viewer library development headers. - Deepin Image Viewer library development headers. diff --git a/debian/control.in b/debian/control.in new file mode 100644 index 00000000..7c07500c --- /dev/null +++ b/debian/control.in @@ -0,0 +1,59 @@ +Source: image-editor +Section: utils +Priority: optional +Maintainer: Deepin Packages Builder +Build-Depends: + debhelper (>= 11), + cmake, + pkg-config, +# Qt5 + qtbase5-dev, + qtbase5-private-dev, + qttools5-dev, + qttools5-dev-tools, + qtmultimedia5-dev, + libqt5svg5-dev, + libqt5x11extras5-dev, + libexif-dev, + libsqlite3-dev, + libxcb-util0-dev, + libstartup-notification0-dev, + libraw-dev, + x11proto-xext-dev, + libmtdev-dev, + libegl1-mesa-dev, + libudev-dev, + libfontconfig1-dev, + libfreetype6-dev, + libxrender-dev, +# DTK + libdtkwidget-dev, + libdtkcore5-bin, + libmediainfo-dev, + libffmpegthumbnailer-dev, + libtiff-dev, + libdfm-io-dev +Standards-Version: 3.9.8 +Homepage: http://www.deepin.org + +Package: libimageeditor +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: + libimage-viewer +Replaces: + libimage-viewer +Recommends: libqt5libqgtk2, kimageformat-plugins, deepin-ocr, ffmpegthumbnailer, ffmpeg +Description: Image Viewer library. + Deepin Image Viewer library. + +Package: libimageeditor-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, libimageeditor(=${binary:Version}) +Conflicts: + libimage-viewer-dev +Replaces: + libimage-viewer-dev +Recommends: libqt5libqgtk2, kimageformat-plugins, deepin-ocr +Description: Image Viewer library development headers. + Deepin Image Viewer library development headers. diff --git a/debian/rules b/debian/rules index ecc4370c..da0c5b24 100755 --- a/debian/rules +++ b/debian/rules @@ -3,6 +3,20 @@ include /usr/share/dpkg/default.mk export QT_SELECT=6 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +# 定义检测Qt版本的函数 +define check_qt_version + $(shell echo "Checking OS version..." >&2; \ + if ! which qmake6 >/dev/null 2>&1; then \ + cp debian/control.in debian/control; \ + echo "Using Qt5..." >&2; \ + else \ + echo "Using Qt6..." >&2; \ + fi) +endef + +# 调用检测Qt版本的命令 +$(eval $(call check_qt_version)) + %: dh $@ diff --git a/libimageviewer/CMakeLists.txt b/libimageviewer/CMakeLists.txt index d2db4533..9c42aa1f 100644 --- a/libimageviewer/CMakeLists.txt +++ b/libimageviewer/CMakeLists.txt @@ -1,5 +1,5 @@ if(SUPPORT_QT6) include(libimageviewer-qt6.cmake) +else() + include(libimageviewer-qt5.cmake) endif() - -include(libimageviewer-qt5.cmake) diff --git a/libimagevisualresult/CMakeLists.txt b/libimagevisualresult/CMakeLists.txt index 9a8ec641..3ce31b1e 100644 --- a/libimagevisualresult/CMakeLists.txt +++ b/libimagevisualresult/CMakeLists.txt @@ -1,7 +1,5 @@ if(SUPPORT_QT6) include(libimagevisualresult-qt6.cmake) +else() + include(libimagevisualresult-qt5.cmake) endif() - - -include(libimagevisualresult-qt5.cmake) -