mirror of
				https://github.com/yuezk/GlobalProtect-openconnect.git
				synced 2025-05-20 07:26:58 -04:00 
			
		
		
		
	Add rpm target
This commit is contained in:
		
							
								
								
									
										29
									
								
								.github/workflows/build.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								.github/workflows/build.yaml
									
									
									
									
										vendored
									
									
								
							| @@ -68,6 +68,35 @@ jobs: | ||||
|         path: | | ||||
|           globalprotect-openconnect_*.deb | ||||
|  | ||||
|   rpm: | ||||
|     runs-on: ubuntu-latest | ||||
|     needs: [tarball] | ||||
|     container: | ||||
|       image: yuezk/gpdev:rpm-builder | ||||
|       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 RPM package | ||||
|       run: | | ||||
|         tar -xzf globalprotect-openconnect-*.tar.gz | ||||
|         cd globalprotect-openconnect-* | ||||
|         make rpm | ||||
|     - name: Install RPM package | ||||
|       run: | | ||||
|         cd globalprotect-openconnect-* | ||||
|         ls -l .rpm | ||||
|     - name: Upload RPM package | ||||
|       uses: actions/upload-artifact@v3 | ||||
|       with: | ||||
|         name: artifact-rpm | ||||
|         path: | | ||||
|           globalprotect-openconnect-*/.rpm/*.rpm | ||||
|  | ||||
|   # Include arm64 if ref is a tag | ||||
|   # setup-matrix: | ||||
|   #   runs-on: ubuntu-latest | ||||
|   | ||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,3 +6,4 @@ | ||||
| *.tar.xz | ||||
|  | ||||
| .cargo | ||||
| .rpm | ||||
|   | ||||
							
								
								
									
										37
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								Makefile
									
									
									
									
									
								
							| @@ -120,4 +120,39 @@ ppa: init-debian | ||||
| publish-ppa: ppa | ||||
| 	dput ppa:yuezk/globalprotect-openconnect ../*.changes | ||||
|  | ||||
| rpm: | ||||
| # Generate RPM sepc file | ||||
| rpm-spec: | ||||
| 	rm -rf .rpm | ||||
| 	mkdir -p .rpm | ||||
|  | ||||
| 	cp packaging/rpm/globalprotect-openconnect.spec.in .rpm/globalprotect-openconnect.spec | ||||
| 	cp packaging/rpm/globalprotect-openconnect.changes.in .rpm/globalprotect-openconnect.changes | ||||
|  | ||||
| 	sed -i "s/@VERSION@/$(VERSION)/g" .rpm/globalprotect-openconnect.spec | ||||
| 	sed -i "s/@REVISION@/$(REVISION)/g" .rpm/globalprotect-openconnect.spec | ||||
| 	sed -i "s/@DATE@/$(shell date "+%a %b %d %Y")/g" .rpm/globalprotect-openconnect.spec | ||||
|  | ||||
| 	sed -i "s/@VERSION@/$(VERSION)/g" .rpm/globalprotect-openconnect.changes | ||||
| 	sed -i "s/@DATE@/$(shell LC_ALL=en.US date -u "+%a %b %e %T %Z %Y")/g" .rpm/globalprotect-openconnect.changes | ||||
|  | ||||
| # Ensure ../globalprotect-openconnect-*.tar.gz exists. | ||||
| rpm: rpm-spec | ||||
| 	if [ ! -f ../$(PKG).tar.gz ]; then \ | ||||
| 		echo "Missing ../$(PKG).tar.gz"; \ | ||||
| 		exit 1; \ | ||||
| 	fi | ||||
|  | ||||
| 	rm -rf $(HOME)/rpmbuild | ||||
| 	rpmdev-setuptree | ||||
|  | ||||
| 	cp ../$(PKG).tar.gz $(HOME)/rpmbuild/SOURCES/$(PKG_NAME).tar.gz | ||||
|  | ||||
| 	rpmbuild -ba .rpm/globalprotect-openconnect.spec | ||||
|  | ||||
| 	# Copy RPM package | ||||
| 	cp $(HOME)/rpmbuild/RPMS/$(shell uname -m)/$(PKG_NAME)*.rpm .rpm | ||||
|  | ||||
| 	# Copy the SRPM only for x86_64. | ||||
| 	if [ "$(shell uname -m)" = "x86_64" ]; then \ | ||||
| 		cp $(HOME)/rpmbuild/SRPMS/$(PKG_NAME)*.rpm .rpm \ | ||||
| 	fi | ||||
|   | ||||
							
								
								
									
										5
									
								
								packaging/rpm/globalprotect-openconnect.changes.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								packaging/rpm/globalprotect-openconnect.changes.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| ------------------------------------------------------------------- | ||||
| @DATE@ - k3vinyue@gmail.com - @VERSION@ | ||||
|  | ||||
| - Update to @VERSION@ | ||||
|   * Bugfix and improvements. | ||||
							
								
								
									
										66
									
								
								packaging/rpm/globalprotect-openconnect.spec.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								packaging/rpm/globalprotect-openconnect.spec.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| Name:           globalprotect-openconnect | ||||
| Version:        @VERSION@ | ||||
| Release:        @REVISION@%{?dist} | ||||
| Summary:        A GlobalProtect VPN client powered by OpenConnect | ||||
| Group:          Productivity/Networking/PPP | ||||
|  | ||||
| License:        GPL-3.0 | ||||
| URL:            https://github.com/yuezk/GlobalProtect-openconnect | ||||
| Source:         %{name}.tar.gz | ||||
|  | ||||
| BuildRequires:  make | ||||
| BuildRequires:  openconnect-devel | ||||
| BuildRequires:  openssl-devel | ||||
| BuildRequires:  curl | ||||
| BuildRequires:  wget | ||||
| BuildRequires:  file | ||||
|  | ||||
| BuildRequires:  (webkit2gtk4.0-devel or webkit2gtk3-soup2-devel) | ||||
| BuildRequires:  (libappindicator-gtk3-devel or libappindicator3-1) | ||||
| BuildRequires:  (librsvg2-devel or librsvg-devel) | ||||
|  | ||||
| Requires:       openconnect >= 8.20, (libayatana-appindicator or libappindicator-gtk3) | ||||
| Conflicts:      globalprotect-openconnect-snapshot | ||||
|  | ||||
| %global debug_package %{nil} | ||||
|  | ||||
| %description | ||||
| A GUI for GlobalProtect VPN, based on OpenConnect, supports the SSO authentication method. | ||||
|  | ||||
| %prep | ||||
| %setup | ||||
|  | ||||
| %build | ||||
| make build OFFLINE=1 | ||||
|  | ||||
| %install | ||||
| %make_install | ||||
|  | ||||
| %files | ||||
| %defattr(-,root,root) | ||||
| %{_bindir}/gpclient | ||||
| %{_bindir}/gpservice | ||||
| %{_bindir}/gpauth | ||||
| %{_bindir}/gpgui-helper | ||||
| %{_datadir}/applications/gpgui.desktop | ||||
| %{_datadir}/icons/hicolor/32x32/apps/gpgui.png | ||||
| %{_datadir}/icons/hicolor/128x128/apps/gpgui.png | ||||
| %{_datadir}/icons/hicolor/256x256@2/apps/gpgui.png | ||||
| %{_datadir}/icons/hicolor/scalable/apps/gpgui.svg | ||||
| %{_datadir}/polkit-1/actions/com.yuezk.gpgui.policy | ||||
|  | ||||
| %dir %{_datadir}/icons/hicolor | ||||
| %dir %{_datadir}/icons/hicolor/32x32 | ||||
| %dir %{_datadir}/icons/hicolor/32x32/apps | ||||
| %dir %{_datadir}/icons/hicolor/128x128 | ||||
| %dir %{_datadir}/icons/hicolor/128x128/apps | ||||
| %dir %{_datadir}/icons/hicolor/256x256@2 | ||||
| %dir %{_datadir}/icons/hicolor/256x256@2/apps | ||||
| %dir %{_datadir}/icons/hicolor/scalable | ||||
| %dir %{_datadir}/icons/hicolor/scalable/apps | ||||
| %dir %{_datadir}/polkit-1 | ||||
| %dir %{_datadir}/polkit-1/actions | ||||
|  | ||||
| %changelog | ||||
| * @DATE@ Kevin Yue <k3vinyue@gmail.com> - @VERSION@ | ||||
| - Bugfix and improvements | ||||
		Reference in New Issue
	
	Block a user