QML: a packagers nightmare. Assistance please.

Nicolas Fella nicolas.fella at gmx.de
Wed Nov 8 16:41:32 GMT 2023

On 11/8/23 17:11, Scarlett Moore wrote:
> While I have everyone's attention. The part that is getting me ( and
> our linters ) is qml installation paths seem all over the place
> For example plasma-framework we have
> org.kde.plasma.plasmoids
> which I read in the docs is "identified" qml which states it must be
> installed into the QML import path which is normally ( and our linter
> is set to ) /usr/lib/{arch_triplet}/qt{version}/qml
> https://doc.qt.io/qt-6/qtqml-modules-identifiedmodules.html
> However, these are getting installed to /usr/share/plasma/plasmoids
> This doesn't follow the folder path ( eg. org/kde/plasma/plasmoids )
> nor the normal qml import path. Or am I missing something?
> If it is our mistake to not have this in our import path and our
> linter is confused somehow, how would I add it? /usr/share or
> /usr/share/plasma but then wouldn't it still be looking for the
> org/kde/plasma/plasmoids?
> Thanks for any help, I am really trying to figure this stuff out, but
> I am lost in a sea of docs.
> Scarlett

You are talking about two very different things here.

QML modules (i.e. QML "libraries") are installed to
/usr/lib/{arch_triplet}/qt{version}/qml. They contain a qmldir file,
(optionally) a .so file, (optionally) some .qml files, (optionally) a
.qmltypes file etc.

The content of /usr/share/plasma/plasmoids are not QML modules. They are
plasmoid packages (in the KPackage format). They contain a metadata.json
file and a number of qml/js/xml files in contents/. For all intents and
purposes those are data files like any other in /usr/share and should be
treated as such.

As such what you are seeing is entirely expected.



More information about the kde-devel mailing list