added fedora packeging

This commit is contained in:
nvrl committed 2026-07-19 20:49:02 +02:00
1 parent cd437dff9c
commit c8f57ed5c9
3 files changed
+76 -1

No files matched your search

+24 -1
View File
@@ -28,7 +28,8 @@ jobs:
libadwaita-1-dev \
libsecret-1-dev \
libdbus-1-dev \
desktop-file-utils
desktop-file-utils \
rpm
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
@@ -109,6 +110,26 @@ jobs:
# Build Debian package
dpkg-deb --build deb proton-drive-linux_${{ env.VERSION }}_amd64.deb
- name: Package Fedora package (.rpm)
run: |
# Sanitize version (replace hyphens with dots for RPM compatibility)
RPM_VERSION=$(echo "${{ env.VERSION }}" | tr '-' '.')
# Create RPM build directories
mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,BUILDROOT,db}
# Build RPM package
rpmbuild -bb \
--define "_topdir $PWD/rpmbuild" \
--define "_sourcedir $PWD" \
--define "version ${RPM_VERSION}" \
--define "_dbpath $PWD/rpmbuild/db" \
packaging/proton-drive-linux.spec
# Copy built RPM to root directory
cp rpmbuild/RPMS/x86_64/*.rpm .
- name: Upload Workflow Artifacts
uses: actions/upload-artifact@v4
with:
@@ -116,6 +137,7 @@ jobs:
path: |
*.deb
*.tar.gz
*.rpm
if-no-files-found: error
- name: Create GitHub Release
@@ -125,6 +147,7 @@ jobs:
files: |
*.deb
*.tar.gz
*.rpm
draft: false
prerelease: false
env:
+1
View File
@@ -2,3 +2,4 @@
**/*.rs.bk
*.pdb
.env
/rpmbuild
+51
View File
@@ -0,0 +1,51 @@
Name: proton-drive-linux
Version: %{version}
Release: 1%{?dist}
Summary: Proton Drive client for Linux (unofficial)
License: MIT
URL: https://github.com/narl/proton-drive-linux
# Disable debuginfo package generation since we package pre-built release binaries
%global debug_package %{nil}
# Disable binary strip/post-processing checks to avoid issues with pre-compiled binaries
%global __os_install_post %{nil}
Requires: fuse3
Requires: gtk4 >= 4.12.0
Requires: libadwaita >= 1.5.0
Requires: libsecret
Requires: dbus
%description
A fast, unofficial Proton Drive client for Linux. This client features an advanced files-on-demand FUSE virtual mount with block-level caching, a command-line interface (CLI), and a fully non-blocking GTK4 desktop application with system tray integration.
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
mkdir -p %{buildroot}%{_usr}/lib/systemd/user
mkdir -p %{buildroot}%{_datadir}/licenses/proton-drive-linux
cp %{_sourcedir}/target/release/pdfs %{buildroot}%{_bindir}/
cp %{_sourcedir}/target/release/pdfs-tray %{buildroot}%{_bindir}/
cp %{_sourcedir}/target/release/pdfs-app %{buildroot}%{_bindir}/
cp %{_sourcedir}/target/release/pdfs-prompt %{buildroot}%{_bindir}/
cp %{_sourcedir}/packaging/io.narl.proton-drive-linux.desktop %{buildroot}%{_datadir}/applications/
cp %{_sourcedir}/packaging/io.narl.proton-drive-linux-tray.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/
cp %{_sourcedir}/packaging/io.narl.proton-drive-linux.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
cp %{_sourcedir}/packaging/proton-drive.service %{buildroot}%{_usr}/lib/systemd/user/
cp %{_sourcedir}/LICENSE %{buildroot}%{_datadir}/licenses/proton-drive-linux/
%files
%{_bindir}/pdfs
%{_bindir}/pdfs-tray
%{_bindir}/pdfs-app
%{_bindir}/pdfs-prompt
%{_datadir}/applications/io.narl.proton-drive-linux.desktop
%{_sysconfdir}/xdg/autostart/io.narl.proton-drive-linux-tray.desktop
%{_datadir}/icons/hicolor/scalable/apps/io.narl.proton-drive-linux.svg
%{_usr}/lib/systemd/user/proton-drive.service
%{_datadir}/licenses/proton-drive-linux/LICENSE