ci: build Debian package #181

Merged
Boria138 merged 1 commits from VanoMJ/PortProtonQt:main into main 2026-05-26 18:45:54 +00:00
11 changed files with 238 additions and 3 deletions

No files matched your search

+33 -1
View File
@@ -1,4 +1,4 @@
name: Nightly Build - AppImage, Arch, Fedora
name: Nightly Build - AppImage, Arch, Fedora, Debian
on:
workflow_dispatch:
@@ -140,3 +140,35 @@ jobs:
with:
name: PortProtonQt-Arch
path: ${{ env.PKGDEST }}/*
build-debian:
name: Build Debian Package
runs-on: ubuntu-latest
container:
image: debian:13
options: --privileged
steps:
- name: Install build dependencies
run: |
apt-get update
apt-get install -y build-essential debhelper dpkg-dev gettext git \
libvulkan-dev meson ninja-build nodejs npm \
pkgconf python3
- name: Checkout
uses: https://gitea.com/actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
ref: ${{ env.BUILD_BRANCH }}
- name: Build Debian package
run: |
dpkg-buildpackage -us -uc -b
mkdir -p dist/deb
mv ../*.deb ../*.buildinfo ../*.changes dist/deb/
- name: Upload Debian package
uses: https://gitea.com/actions/gitea-upload-artifact@v4
with:
name: PortProtonQt-DEB-Debian-13
path: dist/deb/*
+31 -1
View File
@@ -1,4 +1,4 @@
name: Build AppImage, Arch and Fedora Packages
name: Build AppImage, Arch, Fedora and Debian Packages
on:
workflow_dispatch:
@@ -138,6 +138,36 @@ jobs:
name: PortProtonQt-RPM-Fedora-${{ matrix.fedora_version }}
path: /home/rpmbuild/RPMS/**/*.rpm
build-debian:
name: Build Debian Package
runs-on: ubuntu-latest
container:
image: debian:13
options: --privileged
steps:
- name: Install build dependencies
run: |
apt-get update
apt-get install -y build-essential debhelper dpkg-dev gettext git \
libvulkan-dev meson ninja-build nodejs npm \
pkgconf python3
- name: Checkout
uses: https://gitea.com/actions/checkout@v4
- name: Build Debian package
run: |
dpkg-buildpackage -us -uc -b
mkdir -p dist/deb
mv ../*.deb ../*.buildinfo ../*.changes dist/deb/
- name: Upload Debian package
uses: https://gitea.com/actions/gitea-upload-artifact@v4
with:
name: PortProtonQt-DEB-Debian-13
path: dist/deb/*
release:
name: Create and Publish Release
runs-on: ubuntu-latest
+42 -1
View File
@@ -1,4 +1,4 @@
name: Build Check - AppImage, Arch, Fedora
name: Build Check - AppImage, Arch, Fedora, Debian
on:
workflow_dispatch:
@@ -7,6 +7,7 @@ on:
- 'build-aux/AppImage/**'
- 'build-aux/fedora-git.spec'
- 'build-aux/PKGBUILD-git'
- 'debian/**'
- '.gitea/workflows/code-build.yml'
env:
@@ -22,6 +23,7 @@ jobs:
appimage: ${{ steps.check.outputs.appimage }}
fedora: ${{ steps.check.outputs.fedora }}
arch: ${{ steps.check.outputs.arch }}
debian: ${{ steps.check.outputs.debian }}
steps:
- uses: https://gitea.com/actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
with:
@@ -62,6 +64,13 @@ jobs:
echo "arch=false" >> $GITHUB_OUTPUT
fi
# Check Debian packaging files
if grep -q "debian/" changed_files.txt; then
echo "debian=true" >> $GITHUB_OUTPUT
else
echo "debian=false" >> $GITHUB_OUTPUT
fi
build-appimage:
name: Build AppImage
runs-on: ubuntu-22.04
@@ -193,3 +202,35 @@ jobs:
with:
name: PortProtonQt-Arch
path: ${{ env.PKGDEST }}/*
build-debian:
name: Build Debian Package
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.debian == 'true' || github.event_name == 'workflow_dispatch'
container:
image: debian:13
options: --privileged
steps:
- name: Install build dependencies
run: |
apt-get update
apt-get install -y build-essential debhelper dpkg-dev gettext git \
libvulkan-dev meson ninja-build nodejs npm \
pkgconf python3
- name: Checkout
uses: https://gitea.com/actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Build Debian package
run: |
dpkg-buildpackage -us -uc -b
mkdir -p dist/deb
mv ../*.deb ../*.buildinfo ../*.changes dist/deb/
- name: Upload Debian package
uses: https://gitea.com/actions/gitea-upload-artifact@v4
with:
name: PortProtonQt-DEB-Debian-13
path: dist/deb/*
+1
View File
@@ -8,6 +8,7 @@ wheels/
# Meson
builddir/
build-deb/
# Virtual environments
.venv
+5
View File
@@ -0,0 +1,5 @@
portprotonqt (1.0) unstable; urgency=medium
* Add Debian packaging.
-- Ivan Mazhukin <vanyamajukin@outlook.com> Sat, 23 May 2026 13:32:57 +0300
+1
View File
@@ -0,0 +1 @@
completions/
+69
View File
@@ -0,0 +1,69 @@
Source: portprotonqt
Section: utils
Priority: optional
Maintainer: Ivan Mazhukin <vanyamajukin@outlook.com>
Build-Depends:
debhelper-compat (= 13),
gettext,
libvulkan-dev,
meson,
ninja-build,
pkgconf,
python3,
Standards-Version: 4.7.0
Homepage: https://git.linux-gaming.ru/Linux-Gaming/PortProtonQt
Rules-Requires-Root: no
Package: portprotonqt
Architecture: linux-any
Depends:
7zip,
cabextract,
curl,
file,
gawk,
jq,
libimage-exiftool-perl,
mesa-utils,
pciutils,
procps,
psmisc,
python3,
python3-babel,
python3-dbus-fast,
python3-evdev,
python3-libarchive-c,
python3-orjson,
python3-pefile,
python3-pil,
python3-psutil,
python3-pygame,
python3-pyside6.qtcore,
python3-pyside6.qtgui,
python3-pyside6.qtnetwork,
python3-pyside6.qtsvg,
python3-pyside6.qtwidgets,
python3-qrcode,
python3-rapidfuzz,
python3-requests,
python3-tqdm,
python3-vdf,
python3-websocket,
qt6-image-formats-plugins,
qt6-svg-plugins,
unrar-free,
unzip,
xz-utils,
zstd,
${misc:Depends},
${shlibs:Depends},
Recommends:
bluez,
network-manager,
pulseaudio-utils,
squashfs-tools,
udisks2,
upower,
Description: GUI for managing PortProton and Steam games
PortProtonQt provides a graphical interface for managing and launching
games from PortProton and Steam.
+20
View File
@@ -0,0 +1,20 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: PortProtonQt
Source: https://git.linux-gaming.ru/Linux-Gaming/PortProtonQt
Files: *
Copyright:
2026 PortProtonQt contributors
License: GPL-3.0
Files: debian/*
Copyright:
2026 PortProtonQt contributors
License: GPL-3.0
License: GPL-3.0
This package is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 3.
.
On Debian systems, the complete text of the GNU General Public License
version 3 can be found in /usr/share/common-licenses/GPL-3.
+14
View File
@@ -0,0 +1,14 @@
usr/bin/portprotonqt
usr/bin/vk_gpu_info
usr/lib/python3/dist-packages/portprotonqt/
usr/lib/udev/rules.d/60-portprotonqt.rules
usr/share/applications/ru.linux_gaming.PortProtonQt.desktop
usr/share/bash-completion/completions/portprotonqt
usr/share/fish/vendor_completions.d/portprotonqt.fish
usr/share/icons/hicolor/scalable/apps/ru.linux_gaming.PortProtonQt.svg
usr/share/locale/
usr/share/metainfo/ru.linux_gaming.PortProtonQt.metainfo.xml
usr/share/mime/packages/ru.linux_gaming.PortProtonQt.xml
usr/share/polkit-1/rules.d/ru.linux_gaming.PortProtonQt.rules
usr/share/portproton/
usr/share/zsh/site-functions/_portprotonqt
Vendored Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/make -f
%:
dh $@ --buildsystem=meson
override_dh_auto_configure:
dh_auto_configure -- \
-Dpython_purelibdir=/usr/lib/python3/dist-packages \
-Dudev_rulesdir=/usr/lib/udev/rules.d
override_dh_auto_install:
dh_auto_install --destdir=debian/tmp
execute_after_dh_auto_install:
bash ./dev-scripts/generate-completions.sh
install -Dpm 0644 completions/portprotonqt \
debian/tmp/usr/share/bash-completion/completions/portprotonqt
install -Dpm 0644 completions/_portprotonqt \
debian/tmp/usr/share/zsh/site-functions/_portprotonqt
install -Dpm 0644 completions/portprotonqt.fish \
debian/tmp/usr/share/fish/vendor_completions.d/portprotonqt.fish
+1
View File
@@ -0,0 +1 @@
3.0 (native)