diff --git a/Makefile b/Makefile index cfbf157..688d5ae 100644 --- a/Makefile +++ b/Makefile @@ -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,27 @@ 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 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 -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 diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..b1bda96 --- /dev/null +++ b/changelog.md @@ -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 diff --git a/packaging/deb/control b/packaging/deb/control new file mode 100644 index 0000000..e96a6be --- /dev/null +++ b/packaging/deb/control @@ -0,0 +1,14 @@ +Source: globalprotect-openconnect +Section: net +Priority: optional +Maintainer: Kevin Yue +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. diff --git a/packaging/deb/rules b/packaging/deb/rules new file mode 100755 index 0000000..6c7b7f8 --- /dev/null +++ b/packaging/deb/rules @@ -0,0 +1,6 @@ +#!/usr/bin/make -f + +export OFFLINE = 1 + +%: + dh $@