[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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.