From 092123b075ce7a46dda2154919956b5d81229eb2 Mon Sep 17 00:00:00 2001 From: Kevin Yue Date: Sun, 8 Jan 2023 19:14:16 +0800 Subject: [PATCH] fix: use qtkeychain package --- CMakeLists.txt | 2 ++ GPClient/CMakeLists.txt | 22 ++------------------ debian/control | 4 ++-- packaging/aur/PKGBUILD.in | 2 +- packaging/obs/globalprotect-openconnect.spec | 2 +- scripts/install-debian.sh | 3 +-- scripts/install-ubuntu.sh | 2 +- 7 files changed, 10 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e7c950e..5e0c087 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,8 @@ find_package(Qt5 REQUIRED COMPONENTS DBus ) +find_package(Qt5Keychain REQUIRED) + add_subdirectory(3rdparty/qt-unix-signals) add_subdirectory(3rdparty/inih) add_subdirectory(GPService) diff --git a/GPClient/CMakeLists.txt b/GPClient/CMakeLists.txt index e31b75d..94ffaac 100644 --- a/GPClient/CMakeLists.txt +++ b/GPClient/CMakeLists.txt @@ -64,17 +64,6 @@ add_3rdparty( -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} ) -add_3rdparty( - qtkeychain - GIT_REPOSITORY https://github.com/frankosterfeld/qtkeychain.git - GIT_TAG master - CMAKE_ARGS - -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} - -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH} - -DCMAKE_PREFIX_PATH=$ENV{CMAKE_PREFIX_PATH} -) - ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} SOURCE_DIR BINARY_DIR) set(SingleApplication_INCLUDE_DIR ${SOURCE_DIR}) set(SingleApplication_LIBRARY ${BINARY_DIR}/libSingleApplication.a) @@ -82,15 +71,9 @@ set(SingleApplication_LIBRARY ${BINARY_DIR}/libSingleApplication.a) ExternalProject_Get_Property(plog-${PROJECT_NAME} SOURCE_DIR) set(plog_INCLUDE_DIR "${SOURCE_DIR}/include") -ExternalProject_Get_Property(qtkeychain-${PROJECT_NAME} SOURCE_DIR BINARY_DIR) -set(qtkeychain_INCLUDE_DIR "${SOURCE_DIR}") -set(qtkeychain_BINARY_DIR "${BINARY_DIR}") -set(qtkeychain_LIBRARY ${BINARY_DIR}/libqt5keychain.so) - add_dependencies(gpclient SingleApplication-${PROJECT_NAME} plog-${PROJECT_NAME} - qtkeychain-${PROJECT_NAME} ) target_include_directories(gpclient PRIVATE @@ -99,13 +82,11 @@ target_include_directories(gpclient PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${SingleApplication_INCLUDE_DIR} ${plog_INCLUDE_DIR} - ${qtkeychain_INCLUDE_DIR} - ${qtkeychain_BINARY_DIR} + ${QTKEYCHAIN_INCLUDE_DIRS}/qt5keychain ) target_link_libraries(gpclient ${SingleApplication_LIBRARY} - ${qtkeychain_LIBRARY} Qt5::Widgets Qt5::Network Qt5::WebSockets @@ -113,6 +94,7 @@ target_link_libraries(gpclient Qt5::WebEngineWidgets Qt5::DBus QtSignals + ${QTKEYCHAIN_LIBRARIES} ) if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0 AND CMAKE_BUILD_TYPE STREQUAL Release) diff --git a/debian/control b/debian/control index 9a4c054..c77ba2b 100644 --- a/debian/control +++ b/debian/control @@ -2,12 +2,12 @@ Source: globalprotect-openconnect Section: net Priority: optional Maintainer: Kevin Yue -Build-Depends: cmake (>=3.16), pkg-config, debhelper (>=11~), qtbase5-dev, qttools5-dev, libqt5websockets5-dev (>=5.9), qtwebengine5-dev (>=5.9), libsecret-1-dev +Build-Depends: cmake (>=3.16), pkg-config, debhelper (>=11~), qtbase5-dev, qttools5-dev, libqt5websockets5-dev (>=5.9), qtwebengine5-dev (>=5.9), qt5keychain-dev Standards-Version: 4.1.4 Homepage: https://github.com/yuezk/GlobalProtect-openconnect Package: globalprotect-openconnect Architecture: any Multi-Arch: foreign -Depends: ${misc:Depends}, ${shlibs:Depends}, openconnect (>=8.0), libqt5websockets5 (>=5.9), libqt5webengine5 (>=5.9) +Depends: ${misc:Depends}, ${shlibs:Depends}, openconnect (>=8.0), libqt5websockets5 (>=5.9), libqt5webengine5 (>=5.9), libqt5keychain1 Description: A GlobalProtect VPN client (GUI) based on OpenConnect. diff --git a/packaging/aur/PKGBUILD.in b/packaging/aur/PKGBUILD.in index 654f0c3..eb8b59b 100644 --- a/packaging/aur/PKGBUILD.in +++ b/packaging/aur/PKGBUILD.in @@ -13,7 +13,7 @@ backup=( etc/gpservice/gp.conf ) install=gp.install -depends=('openconnect>=8.0.0' qt5-base qt5-webengine qt5-websockets qt5-tools) +depends=('openconnect>=8.0.0' qt5-base qt5-webengine qt5-websockets qt5-tools qtkeychain-qt5) makedepends=(git cmake) conflicts=('globalprotect-openconnect') provides=('globalprotect-openconnect' 'gpclient' 'gpservice') diff --git a/packaging/obs/globalprotect-openconnect.spec b/packaging/obs/globalprotect-openconnect.spec index 3ea6abe..b4c01fe 100644 --- a/packaging/obs/globalprotect-openconnect.spec +++ b/packaging/obs/globalprotect-openconnect.spec @@ -8,7 +8,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build License: GPL-3.0 URL: https://github.com/yuezk/GlobalProtect-openconnect Source0: %{name}.tar.gz -BuildRequires: cmake cmake(Qt5) cmake(Qt5Gui) cmake(Qt5WebEngine) cmake(Qt5WebSockets) cmake(Qt5DBus) +BuildRequires: cmake cmake(Qt5) cmake(Qt5Gui) cmake(Qt5WebEngine) cmake(Qt5WebSockets) cmake(Qt5DBus) cmake(Qt5Keychain) BuildRequires: systemd-rpm-macros Requires: openconnect >= 8.0 Conflicts: globalprotect-openconnect-snapshot diff --git a/scripts/install-debian.sh b/scripts/install-debian.sh index 74ebe20..dd4cafd 100755 --- a/scripts/install-debian.sh +++ b/scripts/install-debian.sh @@ -7,8 +7,7 @@ sudo apt-get install -y \ libqt5websockets5-dev \ qtwebengine5-dev \ qttools5-dev \ - libsecret-1-dev \ openconnect \ - libqt5keychain1 + qt5keychain-dev ./scripts/install.sh diff --git a/scripts/install-ubuntu.sh b/scripts/install-ubuntu.sh index 7f12c36..2ee1a37 100755 --- a/scripts/install-ubuntu.sh +++ b/scripts/install-ubuntu.sh @@ -8,6 +8,6 @@ sudo apt-get install -y \ qtwebengine5-dev \ qttools5-dev \ openconnect \ - libqt5keychain1 + qt5keychain-dev ./scripts/install.sh