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: | |         path: | | ||||||
|           globalprotect-openconnect_*.deb |           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 |   # Include arm64 if ref is a tag | ||||||
|   # setup-matrix: |   # setup-matrix: | ||||||
|   #   runs-on: ubuntu-latest |   #   runs-on: ubuntu-latest | ||||||
|   | |||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,3 +6,4 @@ | |||||||
| *.tar.xz | *.tar.xz | ||||||
|  |  | ||||||
| .cargo | .cargo | ||||||
|  | .rpm | ||||||
|   | |||||||
							
								
								
									
										37
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								Makefile
									
									
									
									
									
								
							| @@ -120,4 +120,39 @@ ppa: init-debian | |||||||
| publish-ppa: ppa | publish-ppa: ppa | ||||||
| 	dput ppa:yuezk/globalprotect-openconnect ../*.changes | 	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