Compare commits

...

4 Commits

Author SHA1 Message Date
Kevin Yue
c699fb97f2 Fix CI 2024-02-23 21:48:08 +08:00
Kevin Yue
df4bbe0059 Preserve env for debuild 2024-02-23 21:12:12 +08:00
Kevin Yue
aa0f6bf5bb CI build deb 2024-02-23 06:07:16 -05:00
Kevin Yue
48e22f4f78 Add make ppa 2024-02-23 06:06:59 -05:00
5 changed files with 119 additions and 24 deletions

View File

@ -16,25 +16,57 @@ jobs:
tarball:
runs-on: ubuntu-latest
steps:
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Checkout GlobalProtect-openconnect
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_PAT }}
repository: yuezk/GlobalProtect-openconnect
path: gp
- name: Create tarball
run: |
cd gp
make tarball
- name: Upload tarball
uses: actions/upload-artifact@v3
with:
name: artifact-tarball
path: |
globalprotect-openconnect-*.tar.gz
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Checkout GlobalProtect-openconnect
uses: actions/checkout@v3
with:
token: ${{ secrets.GH_PAT }}
repository: yuezk/GlobalProtect-openconnect
path: gp
- name: Create tarball
run: |
cd gp
make tarball
- name: Upload tarball
uses: actions/upload-artifact@v3
with:
name: artifact-tarball
path: |
globalprotect-openconnect-*.tar.gz
deb:
runs-on: ubuntu-latest
needs: [tarball]
container:
image: yuezk/gpdev:main
credentials:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
steps:
- name: Download tarball
uses: actions/download-artifact@v3
with:
name: artifact-tarball
- name: Build DEB package
run: |
tar -xzf globalprotect-openconnect-*.tar.gz
cd globalprotect-openconnect-*
make deb
- name: Install DEB package
run: |
sudo dpkg -i ../globalprotect-openconnect_*.deb
gpclient --version
gpservice --version
gpauth --version
gpgui-helper --version
- name: Upload DEB package
uses: actions/upload-artifact@v3
with:
name: artifact-deb
path: |
gp/globalprotect-openconnect-*.deb
# Include arm64 if ref is a tag
# setup-matrix:

View File

@ -1,7 +1,15 @@
OFFLINE ?= 0
CARGO ?= cargo
VERSION = $(shell $(CARGO) metadata --no-deps --format-version 1 | jq -r '.packages[0].version')
PKG_NAME = globalprotect-openconnect-$(VERSION)
REVISION ?= 1
PPA_REVISION ?= 1
PKG_NAME = globalprotect-openconnect
PKG = $(PKG_NAME)-$(VERSION)
SERIES ?= $(shell lsb_release -cs)
export DEBEMAIL = k3vinyue@gmail.com
export DEBFULLNAME = Kevin Yue
CARGO_BUILD_ARGS = --release
@ -24,7 +32,7 @@ cargo-vendor:
tarball: clean clean-tarball build-fe cargo-vendor
rm -rf apps/gpgui-helper/node_modules
tar --transform 's,^,${PKG_NAME}/,' -czf ../${PKG_NAME}.tar.gz * .cargo
tar --transform 's,^,${PKG}/,' -czf ../${PKG}.tar.gz * .cargo
# Extract the vendor tarball to the .vendor directory if it exists
extract-vendor:
@ -57,7 +65,7 @@ clean:
clean-tarball:
rm -rf vendor.tar.xz
rm -rf ../$(PKG_NAME).tar.gz
rm -rf ../$(PKG).tar.gz
install:
install -Dm755 target/release/gpclient $(DESTDIR)/usr/bin/gpclient
@ -85,5 +93,31 @@ uninstall:
rm -f $(DESTDIR)/usr/share/icons/hicolor/256x256@2/apps/gpgui.png
rm -f $(DESTDIR)/usr/share/polkit-1/actions/com.yuezk.gpgui.policy
deb:
debmake -e "k3vinyue@gmail.com" -f "Kevin Yue"
init-debian:
rm -rf .vendor
rm -rf debian
debmake
cp -f packaging/deb/control debian/control
cp -f packaging/deb/rules debian/rules
rm -f debian/changelog
deb: init-debian
dch --create --distribution unstable --package $(PKG_NAME) --newversion $(VERSION)-$(REVISION) "Bugfix and improvements."
debuild --preserve-env -e PATH -us -uc -b
# Usage: make ppa SERIES=focal
ppa: init-debian
$(eval SERIES_VER = $(shell distro-info --series $(SERIES) -r | cut -d' ' -f1))
@echo "Building for $(SERIES) $(SERIES_VER)"
dch --create --distribution $(SERIES) --package $(PKG_NAME) --newversion $(VERSION)-$(REVISION)ppa$(PPA_REVISION)~ubuntu$(SERIES_VER) "Bugfix and improvements."
echo "y" | debuild -e PATH -S -sa -k"$(GPG_KEY_ID)" -p"gpg --batch --passphrase $(GPG_KEY_PASS) --pinentry-mode loopback"
publish-ppa: ppa
dput ppa:yuezk/globalprotect-openconnect ../*.changes
rpm:

9
changelog.md Normal file
View File

@ -0,0 +1,9 @@
# Changelog
## 2.0.0 - 2024-02-05
- Refactor using Tauri
- Support HIP report
- Support pass vpn-slice command
- Do not error when the region field is empty
- Update the auth window icon

14
packaging/deb/control Normal file
View File

@ -0,0 +1,14 @@
Source: globalprotect-openconnect
Section: net
Priority: optional
Maintainer: Kevin Yue <k3vinyue@gmail.com>
Standards-Version: 4.1.4
Build-Depends: debhelper (>= 9), make (>= 4), openconnect (>= 8.20), libxml2, libsecret-1-0, libayatana-appindicator3-1, libwebkit2gtk-4.0-37, libgtk-3-0, gnome-keyring
Homepage: https://github.com/yuezk/GlobalProtect-openconnect
Package: globalprotect-openconnect
Architecture: any
Multi-Arch: foreign
Depends: ${misc:Depends}, ${shlibs:Depends}, openconnect (>=8.20), libxml2, libsecret-1-0, libayatana-appindicator3-1, gnome-keyring
Description: A GUI for GlobalProtect VPN
A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method.

6
packaging/deb/rules Executable file
View File

@ -0,0 +1,6 @@
#!/usr/bin/make -f
export OFFLINE = 1
%:
dh $@