[rolisteam/rolisteam/stable] resources/packaging/Linux: [packaging]: rework ubuntu package.
Renaud Guezennec <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 3150900d4e7b3e25044d93f9b68f8af7579cb28d by Renaud Guezennec. Committed on 04/07/2026 at 15:42. Pushed by renaudg into tag 'stable'. [packaging]: rework ubuntu package. M +10 -0 resources/packaging/Linux/changelog A +46 -0 resources/packaging/Linux/deb/rolisteam/control D +0 -51 resources/packaging/Linux/deb/rolisteam/debian/control D +0 -59 resources/packaging/Linux/deb/rolisteam/debian/rules A +31 -0 resources/packaging/Linux/deb/rolisteam/rules A +1 -0 resources/packaging/Linux/deb/rolisteam/source/format D +0 -50 resources/packaging/Linux/deb/rolisteam/ubuntu/control D +0 -26 resources/packaging/Linux/deb/rolisteam/ubuntu/rules M +2 -0 resources/packaging/Linux/flatpak/org.rolisteam.rolisteam.desktop M +2 -0 resources/packaging/Linux/rcse.desktop M +2 -0 resources/packaging/Linux/rolisteam.desktop M +21 -9 resources/packaging/Linux/scripts/rolisteam_helper.py https://invent.kde.org/rolisteam/rolisteam/-/commit/3150900d4e7b3e25044d93f9b68f8af7579cb28d diff --git a/resources/packaging/Linux/changelog b/resources/packaging/Linux/changelog index 1dfe69e72..88aa74eab 100644 --- a/resources/packaging/Linux/changelog +++ b/resources/packaging/Linux/changelog @@ -1,3 +1,13 @@ +rolisteam (1.10.0ubuntu1) noble; urgency=medium + + [Renaud Guezennec] + * Port packaging to CMake and Qt6 (dh + cmake buildsystem) for recent + Ubuntu releases + * Refresh Build-Depends/Depends to Qt6 dev packages and QML6 modules + * Declare native source format and modern debhelper compat level + + -- Renaud Guezennec <[email protected]> Fri, 03 Jul 2026 12:00:00 +0200 + rolisteam (1.9.3ubuntu2) focal; urgency=medium [Renaud Guezennec] diff --git a/resources/packaging/Linux/deb/rolisteam/control b/resources/packaging/Linux/deb/rolisteam/control new file mode 100644 index 000000000..fdbe9e541 --- /dev/null +++ b/resources/packaging/Linux/deb/rolisteam/control @@ -0,0 +1,46 @@ +Source: rolisteam +Section: games +Priority: optional +Maintainer: Renaud Guezennec <[email protected]> +Uploaders: Alban Crommer <[email protected]> +Build-Depends: debhelper-compat (= 13), + cmake (>= 3.16), + qt6-base-dev, + qt6-base-dev-tools, + qt6-declarative-dev, + qt6-declarative-dev-tools, + qt6-tools-dev, + qt6-tools-dev-tools, + qt6-svg-dev, + qt6-multimedia-dev, + qt6-quick3d-dev, + qt6-pdf-dev, + qt6-scxml-dev, + qt6-websockets-dev, + qt6-webengine-dev, + qt6-remoteobjects-dev, + zlib1g-dev +Standards-Version: 4.6.2 +Rules-Requires-Root: no +Homepage: https://www.rolisteam.org + +Package: rolisteam +Section: games +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + qml6-module-qtqml-workerscript, + qml6-module-qtquick-controls, + qml6-module-qtquick-templates, + qml6-module-qtquick-layouts, + qml6-module-qtquick-window, + qml6-module-qtquick3d, + qml6-module-qtmultimedia, + qml6-module-qtwebengine +Description: Manage easily your role playing games + Rolisteam can help you to manage a role playing game. It allows you to share + maps with your players, private or global chat and control music player. + . + This package also ships the companion tools built from the same source + tree: the character sheet editor (rcse), the mindmap editor and the + standalone multi-room server (roliserver). diff --git a/resources/packaging/Linux/deb/rolisteam/debian/control b/resources/packaging/Linux/deb/rolisteam/debian/control deleted file mode 100644 index d6c5048bd..000000000 --- a/resources/packaging/Linux/deb/rolisteam/debian/control +++ /dev/null @@ -1,51 +0,0 @@ -Source: rolisteam -Section: games -Priority: optional -Maintainer: Renaud Guezennec <[email protected]> -Uploaders: Alban Crommer <[email protected]> -Build-Depends: debhelper (>= 10), - cdbs, - libqt5opengl5-dev, - libqt5svg5-dev, - libqt5xmlpatterns5-dev, - qt5-default, - qt5-qmake, - qtdeclarative5-dev, - qtmultimedia5-dev, - qttools5-dev-tools, - zlib1g-dev, - qtwebengine5-dev, - qtwebengine5-dev-tools -Standards-Version: 3.8.0 -Homepage: http://www.rolisteam.org - -Package: rolisteam -Section: games -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Depends: libqt5core5a, - libqt5gui5, - libqt5multimedia5, - libqt5network5, - libqt5opengl5, - libqt5printsupport5, - libqt5qml5, - libqt5quick5, - libqt5quickwidgets5, - libqt5xml5, - qml-module-qtwebengine, - libqt5webengine5, - libqt5webenginecore5, - libqt5webenginewidgets5, - ${misc:Depends}, - ${shlibs:Depends} -Description: Manage easily your role playing games - Rolisteam can help you to manage a role playing game. It allows you to share - maps with your players, private or global chat and control music player. - -Package: rolisteam-doc -Section: games -Architecture: all -Depends: rolisteam (>= 1.0.0) -Description: Documentation for rolisteam - Technical Documentation of rolisteam diff --git a/resources/packaging/Linux/deb/rolisteam/debian/rules b/resources/packaging/Linux/deb/rolisteam/debian/rules deleted file mode 100755 index 89cdb47c0..000000000 --- a/resources/packaging/Linux/deb/rolisteam/debian/rules +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -export DH_VERBOSE=1 -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/qmake.mk -QMAKE=qmake rolisteam.pro CONFIG+=release - - -#PKG_CONFIG_PATH=/usr/local/Trolltech/Qt-4.5.1/lib/pkgconfig - -#install/rolisteam:: -# mkdir -p $(DEB_DESTDIR)usr/ -# mkdir -p $(DEB_DESTDIR)usr/bin/ -# mkdir -p $(DEB_DESTDIR)usr/share/ -# mkdir -p $(DEB_DESTDIR)usr/share/applications/ -# cp $(CURDIR)/bin/rolisteam $(DEB_DESTDIR)usr/bin/ -# cp rolisteam.desktop $(DEB_DESTDIR)usr/share/applications/ - -#install/rolisteam-doc:: -# mkdir -p $(CURDIR)/debian/rolisteam-doc/usr/ -# mkdir -p $(CURDIR)/debian/rolisteam-doc/usr/share/ -# mkdir -p $(CURDIR)/debian/rolisteam-doc/usr/share/doc/ -# mkdir -p $(CURDIR)/debian/rolisteam-doc/usr/share/doc/rolisteam-doc/ -# [ -f $(CURDIR)/resources/doc/rolisteam.qhc ] && echo "rolisteam.qhc is a file" -# [ -f $(CURDIR)/resources/doc/rolisteam-manual.qch ] && echo "rolisteam-manual.qch is a file" -# cp $(CURDIR)/resources/doc/rolisteam.qhc $(CURDIR)/debian/rolisteam-doc/usr/share/doc/rolisteam-doc/ -# cp $(CURDIR)/resources/doc/rolisteam-manual.qch $(CURDIR)/debian/rolisteam-doc/usr/share/doc/rolisteam-doc/ - - -install/rolisteam:: - mkdir -p $(CURDIR)/debian/rolisteam/usr/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/bin/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/applications/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/scalable/apps/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/48x48/apps/ - cp $(CURDIR)/client/rolisteam $(CURDIR)/debian/rolisteam/usr/bin/ - cp $(CURDIR)/resources/logo/symbol.svg $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/scalable/apps/rolisteam.svg - cp $(CURDIR)/resources/logo/square48x48.png $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/48x48/apps/rolisteam.png - cp rolisteam.desktop $(CURDIR)/debian/rolisteam/usr/share/applications/ - - -#install/roliserver:: - #mkdir -p $(CURDIR)/debian/rolisteam/usr/ - #mkdir -p $(CURDIR)/debian/rolisteam/usr/bin/ - #mkdir -p $(CURDIR)/debian/rolisteam/usr/share/ - #mkdir -p $(CURDIR)/debian/rolisteam/usr/share/applications/ - #mkdir -p $(CURDIR)/debian/rolisteam/usr/share/app-install/ - #mkdir -p $(CURDIR)/debian/rolisteam/usr/share/app-install/icons/ -# cp $(CURDIR)/server/roliserver $(CURDIR)/debian/rolisteam/usr/bin/ -# cp $(CURDIR)/resources/logo/symbol.svg $(CURDIR)/debian/rolisteam/usr/share/app-install/icons/rolisteam.svg -# cp rolisteam.desktop $(CURDIR)/debian/rolisteam/usr/share/applications/ diff --git a/resources/packaging/Linux/deb/rolisteam/rules b/resources/packaging/Linux/deb/rolisteam/rules new file mode 100755 index 000000000..25ced709c --- /dev/null +++ b/resources/packaging/Linux/deb/rolisteam/rules @@ -0,0 +1,31 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# debian/rules for rolisteam, built with CMake/Qt6 (dh + cmake buildsystem). + +export DH_VERBOSE=1 +export QT_SELECT=6 + +CMAKE_OPTIONS = \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF \ + -DBUILD_DICE3D=OFF \ + -DWARNING_AS_ERROR=OFF + +%: + dh $@ --buildsystem=cmake --parallel + +override_dh_auto_configure: + dh_auto_configure --buildsystem=cmake -- $(CMAKE_OPTIONS) + +override_dh_auto_build: + # translations/CMakeLists.txt embeds *.qm files as Qt resources by + # globbing the translations/ directory at *configure* time, but the + # .qm files themselves are only generated by the "BuildTranslations" + # target during the build. Build translations first, then reconfigure + # so the glob picks them up, then do the real build. + dh_auto_build --buildsystem=cmake -- BuildTranslations + dh_auto_configure --buildsystem=cmake -- $(CMAKE_OPTIONS) + dh_auto_build --buildsystem=cmake + +override_dh_auto_test: + # Unit tests are not run while packaging. diff --git a/resources/packaging/Linux/deb/rolisteam/source/format b/resources/packaging/Linux/deb/rolisteam/source/format new file mode 100644 index 000000000..89ae9db8f --- /dev/null +++ b/resources/packaging/Linux/deb/rolisteam/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/resources/packaging/Linux/deb/rolisteam/ubuntu/control b/resources/packaging/Linux/deb/rolisteam/ubuntu/control deleted file mode 100644 index f5086400c..000000000 --- a/resources/packaging/Linux/deb/rolisteam/ubuntu/control +++ /dev/null @@ -1,50 +0,0 @@ -Source: rolisteam -Section: games -Priority: optional -Maintainer: Renaud Guezennec <[email protected]> -Uploaders: Alban Crommer <[email protected]> -Build-Depends: debhelper (>= 10), - cdbs, - libqt5opengl5-dev, - libqt5svg5-dev, - libqt5xmlpatterns5-dev, - qt5-default, - qt5-qmake, - qtdeclarative5-dev, - qtmultimedia5-dev, - qttools5-dev-tools, - zlib1g-dev, - qtwebengine5-dev, - qtwebengine5-dev-tools -Standards-Version: 3.8.0 -Homepage: http://www.rolisteam.org - -Package: rolisteam -Section: games -Architecture: any -Depends: libqt5core5a, - libqt5gui5, - libqt5multimedia5, - libqt5network5, - libqt5opengl5, - libqt5printsupport5, - libqt5qml5, - libqt5quick5, - libqt5quickwidgets5, - libqt5xml5, - qml-module-qtwebengine, - libqt5webengine5, - libqt5webenginecore5, - libqt5webenginewidgets5, - ${misc:Depends}, - ${shlibs:Depends} -Description: Manage easily your role playing games - Rolisteam can help you to manage a role playing game. It allows you to share - maps with your players, private or global chat and control music player. - -Package: rolisteam-doc -Section: games -Architecture: all -Depends: rolisteam (>= 1.0.0) -Description: Documentation for rolisteam - Technical Documentation of rolisteam diff --git a/resources/packaging/Linux/deb/rolisteam/ubuntu/rules b/resources/packaging/Linux/deb/rolisteam/ubuntu/rules deleted file mode 100755 index 33ca60063..000000000 --- a/resources/packaging/Linux/deb/rolisteam/ubuntu/rules +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -export DH_VERBOSE=1 -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/qmake.mk -QMAKE=qmake rolisteam.pro CONFIG+=release - - -install/rolisteam:: - mkdir -p $(CURDIR)/debian/rolisteam/usr/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/bin/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/applications/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/scalable/apps/ - mkdir -p $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/48x48/apps/ - cp $(CURDIR)/client/rolisteam $(CURDIR)/debian/rolisteam/usr/bin/ - cp $(CURDIR)/resources/logo/symbol.svg $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/scalable/apps/rolisteam.svg - cp $(CURDIR)/resources/logo/square48x48.png $(CURDIR)/debian/rolisteam/usr/share/icons/hicolor/48x48/apps/rolisteam.png - cp rolisteam.desktop $(CURDIR)/debian/rolisteam/usr/share/applications/ diff --git a/resources/packaging/Linux/flatpak/org.rolisteam.rolisteam.desktop b/resources/packaging/Linux/flatpak/org.rolisteam.rolisteam.desktop index a77e82442..7f8c45eb5 100644 --- a/resources/packaging/Linux/flatpak/org.rolisteam.rolisteam.desktop +++ b/resources/packaging/Linux/flatpak/org.rolisteam.rolisteam.desktop @@ -7,6 +7,7 @@ Name=Rolisteam Name[ar]=روليستيم Name[ast]=Rolisteam Name[az]=Rolisteam +Name[bg]=Rolisteam Name[ca]=Rolisteam Name[ca@valencia]=Rolisteam Name[cs]=Rolisteam @@ -44,6 +45,7 @@ Version=1.1 Comment=Manage your role playing game Comment[ar]=تحكم في لعبة تقمص الأدوار الخاصة بك Comment[az]=Rol oyununuzu idarə edin +Comment[bg]=Управлявайте вашите ролеви игри Comment[ca]=Gestiona la partida del joc de rol Comment[ca@valencia]=Gestiona la partida del joc de rol Comment[cs]=Spravujte svoji hru na hrdiny diff --git a/resources/packaging/Linux/rcse.desktop b/resources/packaging/Linux/rcse.desktop index 6536303c4..5c1872e3f 100644 --- a/resources/packaging/Linux/rcse.desktop +++ b/resources/packaging/Linux/rcse.desktop @@ -7,6 +7,7 @@ Name=RCSE Name[ar]=RCSE Name[ast]=RCSE Name[az]=RCSE +Name[bg]=RCSE Name[ca]=RCSE Name[ca@valencia]=RCSE Name[cs]=RCSE @@ -43,6 +44,7 @@ Version=1.9.3 Comment=Create charactersheet for rolisteam. Comment[ar]=أنشئ ورقة شخصيات روليستيم Comment[az]=Rolistem üçün xarakter cədvəli yaratmaq +Comment[bg]=Създаване на папка на герой за rolisteam. Comment[ca]=Crea un full de personatge per al Rolisteam. Comment[ca@valencia]=Crea un full de personatge per a Rolisteam. Comment[cs]=Vytvoř sešit postavy pro rolisteam. diff --git a/resources/packaging/Linux/rolisteam.desktop b/resources/packaging/Linux/rolisteam.desktop index a10b585b5..657552c2d 100644 --- a/resources/packaging/Linux/rolisteam.desktop +++ b/resources/packaging/Linux/rolisteam.desktop @@ -7,6 +7,7 @@ Name=Rolisteam Name[ar]=روليستيم Name[ast]=Rolisteam Name[az]=Rolisteam +Name[bg]=Rolisteam Name[ca]=Rolisteam Name[ca@valencia]=Rolisteam Name[cs]=Rolisteam @@ -43,6 +44,7 @@ Icon=rolisteam Comment=Manage your role playing game Comment[ar]=تحكم في لعبة تقمص الأدوار الخاصة بك Comment[az]=Rol oyununuzu idarə edin +Comment[bg]=Управлявайте вашите ролеви игри Comment[ca]=Gestiona la partida del joc de rol Comment[ca@valencia]=Gestiona la partida del joc de rol Comment[cs]=Spravujte svoji hru na hrdiny diff --git a/resources/packaging/Linux/scripts/rolisteam_helper.py b/resources/packaging/Linux/scripts/rolisteam_helper.py index 23dd97c0f..31b3279d3 100755 --- a/resources/packaging/Linux/scripts/rolisteam_helper.py +++ b/resources/packaging/Linux/scripts/rolisteam_helper.py @@ -411,21 +411,33 @@ def build_tarball(path, version, app_name): def build_deb(path, version, app_name): - dir_path = os.path.dirname(os.path.realpath(__file__)) - print("Build_deb:",dir_path, " path:",path) - - #currentDir="{}-{}/".format(path, app_name) - if app_name == "rolisteam": - shutil.copy("{}/../rolisteam.desktop".format(dir_path), path) - shutil.copytree("{}/ubuntu/debian".format(dir_path), "{}/debian".format(path)) - shutil.copy("{}/changelog".format(dir_path), path) + # Packaging metadata lives inside the cloned source tree itself + # (resources/packaging/Linux/...), not next to this helper script, + # so it always matches the sources being packaged. + packaging_dir = os.path.join(path, "resources", "packaging", "Linux") + ubuntu_dir = os.path.join(packaging_dir, "deb", app_name, "ubuntu") + print("Build_deb: packaging_dir:", packaging_dir, " path:", path) + + debian_dir = os.path.join(path, "debian") + shutil.copytree(ubuntu_dir, debian_dir) + # debuild/dpkg-buildpackage require the changelog at debian/changelog. + shutil.copy(os.path.join(packaging_dir, "changelog"), os.path.join(debian_dir, "changelog")) + + # debian/source/format is "3.0 (native)": dpkg-source requires the + # source directory to be named "<name>-<full-version>", where the full + # version (e.g. "1.10.0ubuntu1") is the one from the top debian/changelog + # entry, which may differ from the plain --Version value. + changelog_result = run_process( + ["dpkg-parsechangelog", "-l", os.path.join(debian_dir, "changelog"), "-S", "Version"], debian_dir) + changelog_version = changelog_result.stdout.strip() + print("Build_deb: version from debian/changelog:", changelog_version) # moving to the temp dir os.chdir(path) os.chdir("..") - dest_dir="{}-{}/".format(app_name, version) + dest_dir="{}-{}/".format(app_name, changelog_version) print("Build_deb: rename file:",dest_dir) os.rename(app_name, dest_dir) os.chdir(dest_dir)