update packaging (#100)

This commit is contained in:
Kevin Yue
2021-10-24 12:11:54 +08:00
committed by GitHub
parent 36d9753008
commit 9e7fb17bd3
46 changed files with 823 additions and 1192 deletions

33
packaging/aur/PKGBUILD Normal file
View File

@@ -0,0 +1,33 @@
# Maintainer: Keinv Yue <yuezk001@gmail.com>
pkgname=globalprotect-openconnect
pkgver=0
pkgrel=1
pkgdesc="A GlobalProtect VPN client (GUI) for Linux based on Openconnect and built with Qt5, supports SAML auth mode."
arch=(x86_64 aarch64)
url="https://github.com/yuezk/GlobalProtect-openconnect"
license=('GPL3')
depends=('openconnect>=8.0.0' qt5-base qt5-webengine qt5-websockets)
makedepends=(cmake)
provides=('gpclient' 'gpservice')
source=("${pkgname}.tar.gz")
sha256sums=('SKIP')
pkgver() {
cd $srcdir/$pkgname-*/
cat VERSION VERSION_SUFFIX
}
build() {
cd $srcdir/$pkgname-*/
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE=-s
make -j$(nproc) -C build
}
package() {
cd $srcdir/$pkgdir-*/
make DESTDIR="$pkgdir/" install -C build
}

View File

@@ -0,0 +1,35 @@
# Maintainer: Keinv Yue <yuezk001@gmail.com>
pkgname=globalprotect-openconnect-git
_pkgname=globalprotect-openconnect
pkgver=0
pkgrel=1
pkgdesc="A GlobalProtect VPN client (GUI) for Linux based on Openconnect and built with Qt5, supports SAML auth mode. (development version)"
arch=(x86_64 aarch64)
url="https://github.com/yuezk/GlobalProtect-openconnect"
license=('GPL3')
depends=('openconnect>=8.0.0' qt5-base qt5-webengine qt5-websockets)
makedepends=(cmake)
conflicts=('globalprotect-openconnect')
provides=('gpclient' 'gpservice')
source=("${_pkgname}.tar.gz")
sha256sums=('SKIP')
pkgver() {
cd $srcdir/$_pkgname-*/
cat VERSION VERSION_SUFFIX
}
build() {
cd $srcdir/${_pkgname}-*/
cmake -B build \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE=-s
make -j$(nproc) -C build
}
package() {
cd $srcdir/${_pkgname}-*/
make DESTDIR="$pkgdir/" install -C build
}

View File

@@ -0,0 +1,26 @@
app-id: com.yuezk.qt.gpclient
base: io.qt.qtwebengine.BaseApp
base-version: '5.15'
runtime: org.kde.Platform
runtime-version: '5.15'
sdk: org.kde.Sdk
command: gpclient
finish-args:
- --share=network
- --share=ipc
- --socket=x11
- --socket=wayland
- --filesystem=host
- --device=dri
- --talk-name=org.kde.StatusNotifierWatcher
- --own-name=org.kde.*
- --system-own-name=com.yuezk.qt.GPService
modules:
- name: gpclient
buildsystem: cmake
config-opts:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_CXX_FLAGS_RELEASE=-s
sources:
- type: archive
path: globalprotect-openconnect.tar.gz

View File

@@ -0,0 +1 @@
setBadness('suse-dbus-unauthorized-service', 0)

View File

@@ -0,0 +1,5 @@
-------------------------------------------------------------------
Thu Jul 9 02:13:46 UTC 2020 - k3vinyue@gmail.com - 1.3.0
- Update to 1.3.0
* Bump version to 1.3.0

View File

@@ -0,0 +1,96 @@
Name: globalprotect-openconnect
Version: 1.3.3
Release: 1
Summary: A GlobalProtect VPN client powered by OpenConnect
Group: Productivity/Networking/PPP
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: systemd-rpm-macros
Requires: openconnect >= 8.0
Conflicts: globalprotect-openconnect-snapshot
%global debug_package %{nil}
%description
A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.
%prep
%autosetup -n "globalprotect-openconnect-%{version}"
%pre
%if 0%{?suse_version}
%service_add_pre gpservice.service
%endif
%post
%if 0%{?suse_version}
%service_add_post gpservice.service
%else
%systemd_post gpservice.service
%endif
%preun
%if 0%{?suse_version}
%service_del_preun gpservice.service
%else
%systemd_preun gpservice.service
%endif
%postun
%if 0%{?suse_version}
%service_del_postun gpservice.service
%else
%systemd_postun gpservice.service
%endif
%build
%cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_CXX_FLAGS_RELEASE=-s
%if 0%{?fedora_version} && 0%{?fedora_version} <= 32
%make_build
%else
%cmake_build
%endif
%install
%if 0%{?fedora_version} && 0%{?fedora_version} <= 32
%make_install
%else
%cmake_install
%endif
%files
%defattr(-,root,root)
%{_unitdir}/gpservice.service
%{_bindir}/gpclient
%{_bindir}/gpservice
%{_datadir}/applications/com.yuezk.qt.gpclient.desktop
%{_datadir}/dbus-1/system-services/com.yuezk.qt.GPService.service
%{_datadir}/dbus-1/system.d/com.yuezk.qt.GPService.conf
%{_datadir}/icons/hicolor/scalable/apps/com.yuezk.qt.gpclient.svg
%{_datadir}/metainfo/com.yuezk.qt.gpclient.metainfo.xml
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/scalable
%dir %{_datadir}/icons/hicolor/scalable/apps
%changelog

View File

@@ -1,5 +0,0 @@
## Command
```sh
docker run --rm -it -v ${PWD}:/rpm --workdir=/rpm --entrypoint ./entrypoint.sh centos:8
```

View File

@@ -1,21 +0,0 @@
#!/bin/bash -e
# Install the build tools
dnf install -y epel-release
rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8
dnf install -y make rpm-build rpm-devel rpmlint rpmdevtools
# Install the build dependencies
dnf install -y qt5-qtbase-devel qt5-qtwebengine-devel qt5-qtwebsockets-devel
# Prepare the RPM build environment
rpmdev-setuptree
cp *.spec $HOME/rpmbuild/SPECS/
cp *.tar.gz $HOME/rpmbuild/SOURCES/
# Build
rpmbuild -ba $HOME/rpmbuild/SPECS/globalprotect-openconnect.spec
# Copy the package to the current directory
cp $HOME/rpmbuild/RPMS/x86_64/globalprotect-openconnect-*.rpm .
cp $HOME/rpmbuild/SRPMS/globalprotect-openconnect-*.src.rpm .

View File

@@ -1,39 +0,0 @@
Name: globalprotect-openconnect
Version: 1.3.0+SNAPSHOT20210829120923
Release: 1
Summary: A GlobalProtect VPN client powered by OpenConnect
License: GPLv3
URL: https://github.com/yuezk/GlobalProtect-openconnect
Source0: %{url}/releases/download/latest/globalprotect-openconnect_%{version}.full.tar.gz
BuildRequires: qt5-qtbase-devel qt5-qtwebengine-devel qt5-qtwebsockets-devel
Requires: qt5-qtbase >= 5.12 qt5-qtwebengine >= 5.12 qt5-qtwebsockets >= 5.12 openconnect >= 8.0
%global debug_package %{nil}
%description
A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.
%prep
%autosetup
%build
qmake-qt5 CONFIG+=release
%make_build
%install
INSTALL_ROOT=${RPM_BUILD_ROOT} %make_install
%files
/etc/systemd/system/gpservice.service
/usr/bin/gpclient
/usr/bin/gpservice
/usr/share/applications/com.yuezk.qt.gpclient.desktop
/usr/share/dbus-1/system-services/com.yuezk.qt.GPService.service
/usr/share/dbus-1/system.d/com.yuezk.qt.GPService.conf
/usr/share/pixmaps/com.yuezk.qt.GPClient.svg