Hi, as author of dh_qmldeps. I can give some background and possible solutions. dh_qmldeps has different modes: * single binary package with no qml modules -> all qml files in source are scanned * multiply binary packages it searches for qml files in the binary package + for qml moules -> debian/PKG/usr/lib/x86_64-linux-gnu/qt6/qml/* plasma-workspace creates multiple binary packages and doesn't ship any qml files, so only the shipped qml modules are scanned for dependencies. As the systems thinks this a simple qml module package. But this too less for plasma- workspace. The missing dependencies are inside executable resource files ( qrc:/qt/ qml/...) unfortunately I haven't found a way to extract those resource files from a executable to analyze them. Otherwise we wouldn't need to fallback to scan the source files. Any code donation to fix that is highly welcome - but please not in this bug report ;) So the only solution for now is to tell dh_qmldeps to scan the source directories. The result in a longer qmlfiles. dh_qmldeps doesn't need a lookup files like cmake_deps.py. you need to have all needed qml deps installed within the build env and it will ask dpkg for the package name for those module files. There is a override system for the difficult cases. Best regards, hefee -- On Montag, 8. Dezember 2025 18:58 Marco Mattiolo wrote: > Hi Aurélien, > > On Mon, 01 Dec 2025 23:08:31 +0100 =?ISO-8859-1?Q?Aur=E9lien_COUDERC? =<libre@coucouf.fr> wrote: > > We need to take care how we fix or we risk having a too specific qmldeps > > conf that will again miss deps added in the future. > > > > I don't have a definitive idea on how to fix this, if you know better your > > feedback is welcome. > not that I know better, just an approach I've tought of. Probably overkill, > but should guarantee to catch all qml-* dependencies. Looking recursively > into all *.qml source files and grepping for the "import org.kde.*" lines. > In a few minutes I've put together the following and checked inside > plasma-workspace source > > $ grep -r "import org.kde." . | grep -oP '(?<=import).*(?= )' | sort -d | > uniq org.kde.activities as > org.kde.config // > org.kde.config as > org.kde.config // for > org.kde.coreaddons as > org.kde.draganddrop as > org.kde.kcmutils // > org.kde.kcmutils as > org.kde.kcmutils // For > org.kde.kholidays as > org.kde.kirigamiaddons.components as > org.kde.kirigami as > org.kde.kirigami.delegates as > org.kde.kirigami.dialogs as > org.kde.kitemmodels as > org.kde.kquickcontrolsaddons as > org.kde.kquickcontrolsaddons // For > org.kde.kquickcontrols as > org.kde.ksvg as > org.kde.ksysguard.faces as > org.kde.ksysguard.sensors as > org.kde.kwindowsystem // for > org.kde.milou as > org.kde.newstuff as > org.kde.notificationmanager as > org.kde.pipewire.monitor as > org.kde.plasma.activityswitcher as > org.kde.plasma.clock as > org.kde.plasma.components as > org.kde.plasma.components as PlasmaComponents // FIXME: PC3 Tabbar only > has top and bottom tab positions, not left and org.kde.plasma.core as > org.kde.plasma.extras as > org.kde.plasma.kcm.users as > org.kde.plasma.private.clipboard as > org.kde.plasma.private.clipboard as Private // image > org.kde.plasma.private.containmentlayoutmanager as > org.kde.plasma.private.holidayevents as > org.kde.plasma.private.keyboardindicator as > org.kde.plasma.private.kicker as > org.kde.plasma.private.mpris as > org.kde.plasma.wallpapers.image as > org.kde.plasma.workspace.calendar as > org.kde.plasma.workspace.components as > org.kde.plasma.workspace.dbus as > org.kde.plasma.workspace.dialogs as > org.kde.plasma.workspace.keyboardlayout as > org.kde.plasma.workspace.timezoneselector as > org.kde.prison as > org.kde.private.kcms.colors as > org.kde.private.kcms.desktoptheme as > org.kde.private.kcms.lookandfeel as > org.kde.private.kcms.nightlight as > org.kde.private.kcms.nighttime as > org.kde.private.kcms.notifications as > org.kde.private.kcms.style as > org.kde.quickcharts as > org.kde.quickcharts.controls as > org.kde.taskmanager as > org.kde.userfeedback as > QtQuick; import QtQuick.Layouts; import org.kde.kirigami as Kirigami; > > For sure someone with more experience can come up with a better version that > analyzes only *.qml files and greps only the name of the QML module. > Comparing the list here above with the list of qml6-module-org-kde-* > packages that were dropped in [1], I see - plasma-workspace depended > onqml6-module-org-kde-breeze and qml6-module-org-kde-plasma-plasma5support > that do not seem to be strictly required - org.kde.milou seems to be a > special case in the name of its binary package not following the > qml6-module-org-kde-milou style, not a big issue - most of > org.kde.plasma.* modules are likely available in plasma-workspace itself > or other plasma-* packages - all the other qml6-module-org-kde-* > packages that were dropped from debian/control can be spotted in this > way I know this will require some kind of look-up encyclopedia like we > have in pkg-kde-dev-scripts/function_collection/cmake_deps.yml , I > understand you've been looking for a better approach that doesn't > require the effort to prepare and maintain such a file :) Kind regards > Marco > > [1]https://salsa.debian.org/qt-kde-team/kde/plasma-workspace/-/commit/7e5869 > 6900f255b1b638f53707ce84f7d6b8b792
Attachment:
signature.asc
Description: This is a digitally signed message part.