chore(build): added deb package
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: Nightly Build - AppImage, Arch, Fedora
|
||||
name: Nightly Build - AppImage, Debian, Arch, Fedora
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@@ -8,6 +8,29 @@ env:
|
||||
PACKAGE: "portprotonqt"
|
||||
|
||||
jobs:
|
||||
build-debian:
|
||||
name: Build Debian Package
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: https://gitea.com/actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||
|
||||
- name: Install required dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y python3-all python3-setuptools python3-build python3-installer dh-python debhelper devscripts build-essential python3-dev pybuild-plugin-pyproject
|
||||
|
||||
- name: Build Debian package
|
||||
run: |
|
||||
dpkg-buildpackage -us -uc -b
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Upload Debian package
|
||||
uses: https://gitea.com/actions/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: PortProtonQt-Debian
|
||||
path: |
|
||||
../*.deb
|
||||
|
||||
build-appimage:
|
||||
name: Build AppImage
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: Build AppImage, Arch and Fedora Packages
|
||||
name: Build AppImage, Debian, Arch and Fedora Packages
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@@ -14,6 +14,29 @@ env:
|
||||
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||
|
||||
jobs:
|
||||
build-debian:
|
||||
name: Build Debian Package
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: https://gitea.com/actions/checkout@v4
|
||||
|
||||
- name: Install required dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y python3-all python3-setuptools python3-build python3-installer dh-python debhelper devscripts build-essential python3-dev pybuild-plugin-pyproject
|
||||
|
||||
- name: Build Debian package
|
||||
run: |
|
||||
dpkg-buildpackage -us -uc -b
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Upload Debian package
|
||||
uses: https://gitea.com/actions/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: PortProtonQt-Debian
|
||||
path: |
|
||||
../*.deb
|
||||
|
||||
build-appimage:
|
||||
name: Build AppImage
|
||||
runs-on: ubuntu-22.04
|
||||
@@ -149,7 +172,7 @@ jobs:
|
||||
|
||||
release:
|
||||
name: Create and Publish Release
|
||||
needs: [build-appimage, build-arch, build-fedora]
|
||||
needs: [build-debian, build-appimage, build-arch, build-fedora]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: https://gitea.com/actions/checkout@v4
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
name: Build Check - AppImage, Arch, Fedora
|
||||
name: Build Check - AppImage, Debian, Arch, Fedora
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'build-aux/**'
|
||||
- 'debian/**'
|
||||
|
||||
env:
|
||||
PKGDEST: "/tmp/portprotonqt"
|
||||
@@ -15,6 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
appimage: ${{ steps.check.outputs.appimage }}
|
||||
debian: ${{ steps.check.outputs.debian }}
|
||||
fedora: ${{ steps.check.outputs.fedora }}
|
||||
arch: ${{ steps.check.outputs.arch }}
|
||||
steps:
|
||||
@@ -43,6 +45,13 @@ jobs:
|
||||
echo "appimage=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
# Check Debian directory
|
||||
if grep -q "debian/" changed_files.txt || ls debian/ 1> /dev/null 2>&1; then
|
||||
echo "debian=true" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "debian=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
# Check Fedora spec files (only fedora-git.spec)
|
||||
if grep -q "build-aux/fedora-git.spec" changed_files.txt; then
|
||||
echo "fedora=true" >> $GITHUB_OUTPUT
|
||||
@@ -57,6 +66,31 @@ jobs:
|
||||
echo "arch=false" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
|
||||
build-debian:
|
||||
name: Build Debian Package
|
||||
runs-on: ubuntu-22.04
|
||||
needs: changes
|
||||
if: needs.changes.outputs.debian == 'true' || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- uses: https://gitea.com/actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||
|
||||
- name: Install required dependencies
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y python3-all python3-setuptools python3-build python3-installer dh-python debhelper devscripts build-essential python3-dev pybuild-plugin-pyproject
|
||||
|
||||
- name: Build Debian package
|
||||
run: |
|
||||
dpkg-buildpackage -us -uc -b
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Upload Debian package
|
||||
uses: https://gitea.com/actions/gitea-upload-artifact@v4
|
||||
with:
|
||||
name: PortProtonQt-Debian
|
||||
path: |
|
||||
../*.deb
|
||||
|
||||
build-appimage:
|
||||
name: Build AppImage
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
@@ -5,8 +5,7 @@ script:
|
||||
- uv venv
|
||||
- uv pip install --no-cache-dir ../
|
||||
- cp -r .venv/lib/python3.10/site-packages/* AppDir/usr/local/lib/python3.10/dist-packages
|
||||
- cp -r share AppDir/usr
|
||||
- cp -r lib AppDir/usr
|
||||
- cp -r build-aux/usr AppDir/
|
||||
- rm -rf AppDir/usr/local/lib/python3.10/dist-packages/PySide6/Qt/qml/
|
||||
- rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{assistant,designer,linguist,lrelease,lupdate}
|
||||
- rm -f AppDir/usr/local/lib/python3.10/dist-packages/PySide6/{Qt3DAnimation*,Qt3DCore*,Qt3DExtras*,Qt3DInput*,Qt3DLogic*,Qt3DRender*,QtBluetooth*,QtCharts*,QtConcurrent*,QtDataVisualization*,QtDesigner*,QtExampleIcons*,QtGraphs*,QtGraphsWidgets*,QtHelp*,QtHttpServer*,QtLocation*,QtMultimedia*,QtMultimediaWidgets*,QtNetworkAuth*,QtNfc*,QtOpenGL*,QtOpenGLWidgets*,QtPdf*,QtPdfWidgets*,QtPositioning*,QtPrintSupport*,QtQml*,QtQuick*,QtQuick3D*,QtQuickControls2*,QtQuickTest*,QtQuickWidgets*,QtRemoteObjects*,QtScxml*,QtSensors*,QtSerialBus*,QtSerialPort*,QtSpatialAudio*,QtSql*,QtStateMachine*,QtSvgWidgets*,QtTest*,QtTextToSpeech*,QtUiTools*,QtWebChannel*,QtWebEngineCore*,QtWebEngineQuick*,QtWebEngineWidgets*,QtWebSockets*,QtWebView*,QtXml*}
|
||||
|
||||
@@ -19,6 +19,4 @@ build() {
|
||||
package() {
|
||||
cd "$srcdir/PortProtonQt"
|
||||
python -m installer --destdir="$pkgdir" dist/*.whl
|
||||
cp -r build-aux/share "$pkgdir/usr/"
|
||||
cp -r build-aux/lib "$pkgdir/usr/"
|
||||
}
|
||||
|
||||
@@ -24,6 +24,4 @@ build() {
|
||||
package() {
|
||||
cd "$srcdir/PortProtonQt"
|
||||
python -m installer --destdir="$pkgdir" dist/*.whl
|
||||
cp -r build-aux/share "$pkgdir/usr/"
|
||||
cp -r build-aux/lib "$pkgdir/usr/"
|
||||
}
|
||||
|
||||
@@ -70,8 +70,6 @@ cd %{oname}
|
||||
cd %{oname}
|
||||
%pyproject_install
|
||||
%pyproject_save_files %{pypi_name}
|
||||
cp -r build-aux/share %{buildroot}/usr/
|
||||
cp -r build-aux/lib %{buildroot}/usr/
|
||||
|
||||
%files -n python3-%{pypi_name}-git -f %{pyproject_files}
|
||||
%{_bindir}/%{pypi_name}
|
||||
|
||||
@@ -69,8 +69,6 @@ cd %{oname}
|
||||
cd %{oname}
|
||||
%pyproject_install
|
||||
%pyproject_save_files %{pypi_name}
|
||||
cp -r build-aux/share %{buildroot}/usr/
|
||||
cp -r build-aux/lib %{buildroot}/usr/
|
||||
|
||||
%files -n python3-%{pypi_name} -f %{pyproject_files}
|
||||
%{_bindir}/%{pypi_name}
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
8
debian/README.Debian
vendored
Normal file
8
debian/README.Debian
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
PortProtonQt for Debian
|
||||
-----------------------
|
||||
|
||||
This package provides a modern GUI for managing and launching games from
|
||||
PortProton, Steam, and Epic Games Store.
|
||||
|
||||
For more information about PortProtonQt, please see the project homepage:
|
||||
https://git.linux-gaming.ru/Boria138/PortProtonQt
|
||||
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
portprotonqt (0.1.9-1) unstable; urgency=medium
|
||||
|
||||
* Initial release of PortProtonQt for Debian
|
||||
|
||||
-- Boris Yumankulov <boria138@altlinux.org> Thu, 11 Dec 2025 00:00:00 +0000
|
||||
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@@ -0,0 +1 @@
|
||||
13
|
||||
47
debian/control
vendored
Normal file
47
debian/control
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
Source: portprotonqt
|
||||
Priority: optional
|
||||
Maintainer: Boris Yumankulov <boria138@altlinux.org>
|
||||
Build-Depends: debhelper (>= 13),
|
||||
dh-python,
|
||||
python3-all,
|
||||
python3-setuptools,
|
||||
python3-build,
|
||||
python3-installer,
|
||||
pybuild-plugin-pyproject
|
||||
Standards-Version: 4.6.0
|
||||
Homepage: https://git.linux-gaming.ru/Boria138/PortProtonQt
|
||||
|
||||
Package: python3-portprotonqt
|
||||
Architecture: all
|
||||
Depends: ${python3:Depends},
|
||||
${misc:Depends},
|
||||
python3-babel,
|
||||
python3-beautifulsoup4,
|
||||
python3-evdev,
|
||||
python3-icoextract,
|
||||
python3-numpy,
|
||||
python3-orjson,
|
||||
python3-pillow,
|
||||
python3-psutil,
|
||||
python3-pyside6,
|
||||
python3-pyudev,
|
||||
python3-rapidfuzz,
|
||||
python3-requests,
|
||||
python3-tqdm,
|
||||
python3-vdf,
|
||||
python3-websocket-client,
|
||||
perl-image-exiftool,
|
||||
xdg-utils,
|
||||
cabextract,
|
||||
gzip,
|
||||
unzip,
|
||||
curl,
|
||||
unrar
|
||||
Description: Modern GUI for managing and launching games from PortProton, Steam, and Epic Games Store
|
||||
This application provides a sleek, intuitive graphical interface for managing
|
||||
and launching games from PortProton, Steam, and Epic Games Store. It
|
||||
consolidates your game libraries into a single, user-friendly hub for seamless
|
||||
navigation and organization. Its lightweight structure and cross-platform
|
||||
support deliver a cohesive gaming experience, eliminating the need for
|
||||
multiple launchers. Unique PortProton integration enhances Linux gaming,
|
||||
enabling effortless play of Windows-based titles with minimal setup.
|
||||
25
debian/copyright
vendored
Normal file
25
debian/copyright
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: PortProtonQt
|
||||
Source: https://git.linux-gaming.ru/Boria138/PortProtonQt
|
||||
|
||||
Files: *
|
||||
Copyright: 2024-2025 Boris Yumankulov <boria138@altlinux.org>
|
||||
License: GPL-3.0+
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2025 Boris Yumankulov <boria138@altlinux.org>
|
||||
License: GPL-3.0+
|
||||
|
||||
License: GPL-3.0+
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
5
debian/install
vendored
Normal file
5
debian/install
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
usr/share/applications/ru.linux_gaming.PortProtonQt.desktop usr/share/applications/
|
||||
usr/share/icons/hicolor/scalable/apps/ru.linux_gaming.PortProtonQt.svg usr/share/icons/hicolor/scalable/apps/
|
||||
usr/share/metainfo/ru.linux_gaming.PortProtonQt.metainfo.xml usr/share/metainfo/
|
||||
usr/share/bash-completion/completions/portprotonqt usr/share/bash-completion/completions/
|
||||
usr/lib/udev/rules.d/60-portprotonqt.rules usr/lib/udev/rules.d/
|
||||
22
debian/rules
vendored
Executable file
22
debian/rules
vendored
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/make -f
|
||||
export PYBUILD_NAME=portprotonqt
|
||||
export DEB_BUILD_OPTIONS=nocheck
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
export DH_VERBOSE=1
|
||||
|
||||
%:
|
||||
dh $@ --with python3 --buildsystem=pybuild
|
||||
|
||||
override_dh_auto_install:
|
||||
dh_auto_install
|
||||
# Install data files
|
||||
install -d debian/python3-portprotonqt/usr/share/applications
|
||||
install -m 644 build-aux/usr/share/applications/ru.linux_gaming.PortProtonQt.desktop debian/python3-portprotonqt/usr/share/applications/
|
||||
install -d debian/python3-portprotonqt/usr/share/icons/hicolor/scalable/apps
|
||||
install -m 644 build-aux/usr/share/icons/hicolor/scalable/apps/ru.linux_gaming.PortProtonQt.svg debian/python3-portprotonqt/usr/share/icons/hicolor/scalable/apps/
|
||||
install -d debian/python3-portprotonqt/usr/share/metainfo
|
||||
install -m 644 build-aux/usr/share/metainfo/ru.linux_gaming.PortProtonQt.metainfo.xml debian/python3-portprotonqt/usr/share/metainfo/
|
||||
install -d debian/python3-portprotonqt/usr/share/bash-completion/completions
|
||||
install -m 644 build-aux/usr/share/bash-completion/completions/portprotonqt debian/python3-portprotonqt/usr/share/bash-completion/completions/
|
||||
install -d debian/python3-portprotonqt/usr/lib/udev/rules.d
|
||||
install -m 644 build-aux/usr/lib/udev/rules.d/60-portprotonqt.rules debian/python3-portprotonqt/usr/lib/udev/rules.d/
|
||||
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@@ -0,0 +1 @@
|
||||
3.0 (native)
|
||||
18
debian/source/options
vendored
Normal file
18
debian/source/options
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# Configuration for Debian source package
|
||||
compression = "gzip"
|
||||
|
||||
# Files and directories to exclude from source package
|
||||
tar-ignore = "dev-scripts"
|
||||
tar-ignore = ".*"
|
||||
tar-ignore = "__pycache__"
|
||||
tar-ignore = ".git"
|
||||
tar-ignore = ".venv"
|
||||
tar-ignore = ".ruff_cache"
|
||||
tar-ignore = ".ropeproject"
|
||||
tar-ignore = "build"
|
||||
tar-ignore = "dist"
|
||||
tar-ignore = "*.egg-info"
|
||||
tar-ignore = ".pytest_cache"
|
||||
tar-ignore = ".vscode"
|
||||
tar-ignore = "portprotonqt/themes/.git"
|
||||
tar-ignore = "portprotonqt/locales/.git"
|
||||
@@ -1,5 +1,5 @@
|
||||
[build-system]
|
||||
requires = ["setuptools >= 77.0.3"]
|
||||
requires = ["setuptools >= 75.0.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
@@ -52,6 +52,13 @@ portprotonqt = "portprotonqt.app:main"
|
||||
[tool.setuptools.packages.find]
|
||||
exclude = ["build-aux", "dev-scripts", "documentation", "data"]
|
||||
|
||||
[tool.setuptools.data-files]
|
||||
"share/applications" = ["build-aux/usr/share/applications/ru.linux_gaming.PortProtonQt.desktop"]
|
||||
"share/icons/hicolor/scalable/apps" = ["build-aux/usr/share/icons/hicolor/scalable/apps/ru.linux_gaming.PortProtonQt.svg"]
|
||||
"share/metainfo" = ["build-aux/usr/share/metainfo/ru.linux_gaming.PortProtonQt.metainfo.xml"]
|
||||
"share/bash-completion/completions" = ["build-aux/usr/share/bash-completion/completions/portprotonqt"]
|
||||
"lib/udev/rules.d" = ["build-aux/usr/lib/udev/rules.d/60-portprotonqt.rules"]
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
"E", # pycodestyle errors
|
||||
|
||||
Reference in New Issue
Block a user