fix: use qtkeychain package

This commit is contained in:
Kevin Yue 2023-01-08 19:14:16 +08:00
parent feb2956cc1
commit 092123b075
7 changed files with 10 additions and 27 deletions

View File

@ -30,6 +30,8 @@ find_package(Qt5 REQUIRED COMPONENTS
DBus DBus
) )
find_package(Qt5Keychain REQUIRED)
add_subdirectory(3rdparty/qt-unix-signals) add_subdirectory(3rdparty/qt-unix-signals)
add_subdirectory(3rdparty/inih) add_subdirectory(3rdparty/inih)
add_subdirectory(GPService) add_subdirectory(GPService)

View File

@ -64,17 +64,6 @@ add_3rdparty(
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -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) ExternalProject_Get_Property(SingleApplication-${PROJECT_NAME} SOURCE_DIR BINARY_DIR)
set(SingleApplication_INCLUDE_DIR ${SOURCE_DIR}) set(SingleApplication_INCLUDE_DIR ${SOURCE_DIR})
set(SingleApplication_LIBRARY ${BINARY_DIR}/libSingleApplication.a) 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) ExternalProject_Get_Property(plog-${PROJECT_NAME} SOURCE_DIR)
set(plog_INCLUDE_DIR "${SOURCE_DIR}/include") 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 add_dependencies(gpclient
SingleApplication-${PROJECT_NAME} SingleApplication-${PROJECT_NAME}
plog-${PROJECT_NAME} plog-${PROJECT_NAME}
qtkeychain-${PROJECT_NAME}
) )
target_include_directories(gpclient PRIVATE target_include_directories(gpclient PRIVATE
@ -99,13 +82,11 @@ target_include_directories(gpclient PRIVATE
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}
${SingleApplication_INCLUDE_DIR} ${SingleApplication_INCLUDE_DIR}
${plog_INCLUDE_DIR} ${plog_INCLUDE_DIR}
${qtkeychain_INCLUDE_DIR} ${QTKEYCHAIN_INCLUDE_DIRS}/qt5keychain
${qtkeychain_BINARY_DIR}
) )
target_link_libraries(gpclient target_link_libraries(gpclient
${SingleApplication_LIBRARY} ${SingleApplication_LIBRARY}
${qtkeychain_LIBRARY}
Qt5::Widgets Qt5::Widgets
Qt5::Network Qt5::Network
Qt5::WebSockets Qt5::WebSockets
@ -113,6 +94,7 @@ target_link_libraries(gpclient
Qt5::WebEngineWidgets Qt5::WebEngineWidgets
Qt5::DBus Qt5::DBus
QtSignals QtSignals
${QTKEYCHAIN_LIBRARIES}
) )
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0 AND CMAKE_BUILD_TYPE STREQUAL Release) if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0 AND CMAKE_BUILD_TYPE STREQUAL Release)

4
debian/control vendored
View File

@ -2,12 +2,12 @@ Source: globalprotect-openconnect
Section: net Section: net
Priority: optional Priority: optional
Maintainer: Kevin Yue <k3vinyue@gmail.com> Maintainer: Kevin Yue <k3vinyue@gmail.com>
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 Standards-Version: 4.1.4
Homepage: https://github.com/yuezk/GlobalProtect-openconnect Homepage: https://github.com/yuezk/GlobalProtect-openconnect
Package: globalprotect-openconnect Package: globalprotect-openconnect
Architecture: any Architecture: any
Multi-Arch: foreign 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. Description: A GlobalProtect VPN client (GUI) based on OpenConnect.

View File

@ -13,7 +13,7 @@ backup=(
etc/gpservice/gp.conf etc/gpservice/gp.conf
) )
install=gp.install 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) makedepends=(git cmake)
conflicts=('globalprotect-openconnect') conflicts=('globalprotect-openconnect')
provides=('globalprotect-openconnect' 'gpclient' 'gpservice') provides=('globalprotect-openconnect' 'gpclient' 'gpservice')

View File

@ -8,7 +8,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
License: GPL-3.0 License: GPL-3.0
URL: https://github.com/yuezk/GlobalProtect-openconnect URL: https://github.com/yuezk/GlobalProtect-openconnect
Source0: %{name}.tar.gz 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 BuildRequires: systemd-rpm-macros
Requires: openconnect >= 8.0 Requires: openconnect >= 8.0
Conflicts: globalprotect-openconnect-snapshot Conflicts: globalprotect-openconnect-snapshot

View File

@ -7,8 +7,7 @@ sudo apt-get install -y \
libqt5websockets5-dev \ libqt5websockets5-dev \
qtwebengine5-dev \ qtwebengine5-dev \
qttools5-dev \ qttools5-dev \
libsecret-1-dev \
openconnect \ openconnect \
libqt5keychain1 qt5keychain-dev
./scripts/install.sh ./scripts/install.sh

View File

@ -8,6 +8,6 @@ sudo apt-get install -y \
qtwebengine5-dev \ qtwebengine5-dev \
qttools5-dev \ qttools5-dev \
openconnect \ openconnect \
libqt5keychain1 qt5keychain-dev
./scripts/install.sh ./scripts/install.sh