nemo-qml-plugin-dbus 2.1.39-1
Package Information
| Description | Nemo Qt6 QML Plugin D-Bus The nemo-dbus library provides C++11 extensions to QtDBus to make it easier to call and handle the replies from asynchronous DBus methods. |
|---|---|
| Maintainer | DebianOnMobile Team <debian-on-mobile-maintainers@alioth-lists.debian.net> |
| Changed By | Yifei Zhan <debian@zhan.science> |
| Distribution | experimental |
| Architecture | any |
| VCS | git: https://salsa.debian.org/DebianOnMobile-team/puremaps/nemo-qml-plugin-dbus.git (browse) |
| Closes | #1022917, #1135244 |
| Tracker | https://tracker.debian.org/pkg/nemo-qml-plugin-dbus |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Version | 2.1.39-1 |
|---|---|
| Changed-By | Yifei Zhan <debian@zhan.science> |
| Architecture | source amd64 |
| Distribution | experimental |
| Date | Sun, 01 Nov 2026 10:35:26 +0000 |
| Source | nemo-qml-plugin-dbus |
Changelog
nemo-qml-plugin-dbus (2.1.39-1) experimental; urgency=medium . [ Yifei Zhan ] * Split into packages * Polish and update d/copyright * New upstream release * Initial release (Closes: #1022917) * Initial release (Closes: #1135244) * Migrate to Qt6 . [ Teemu Ikonen ] * New upstream release
.dsc
| Section | libs |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | libnemodbus1 deb libs optional arch=any nemo-qml-plugin-dbus-dev deb libdevel optional arch=any qml6-module-nemo-qml-plugin-dbus deb libdevel optional arch=any |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nemo-qml-plugin-dbus
Source: https://github.com/sailfishos/nemo-qml-plugin-dbus
Files: *
Copyright:
2013-2022 Jolla OY
2016-2021 Jolla Ltd
Andrew den Exter <andrew.den.exter@jolla.com>
2021 Open Mobile Platform LLC
License: BSD-3-clause
Files: src/plugin/*
Copyright: 2013-2018 Jolla Ltd
License: LGPL-2.1
Files: tests/*
Copyright:
2016 - 2021 Jolla Ltd
Simo Piiroinen <simo.piiroinen@jollamobile.com>
License: LGPL-2.1
Files: debian/*
Copyright:
2021-2022 Sebastian Spaeth, Teemu Ikonen
2026 Yifei Zhan <yifei@debian.org>
License: BSD-3-clause
License: LGPL-2.1
On Debian systems, the full text of the GNU Library Public License 2.1
can be found in the file '/usr/share/common-licenses/LGPL-2.1'.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
DFSG Assistant LLM REVIEW 0 blocker, 4 important, 5 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Report
DFSG NEW review for nemo-qml-plugin-dbus version 2.1.39-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: No
- Issues: 0 blocker, 4 important, 5 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
The code itself is DFSG-free and the licences combine cleanly: src/nemo-dbus/* is BSD-3-clause and src/plugin/* is LGPL-2.1-only, so the LGPL plugin may link the BSD library. debian/copyright is DEP-5 and names every holder found in the headers, but it does not describe two subtrees correctly: doc/ is offered under GFDL-1.3 by the documentation configuration while the file puts it under the BSD-3-clause catch-all, and tests/auto/tst_dbus.qml grants BSD-3-clause while the tests/* stanza says LGPL-2.1.
Packaging
The skeleton is sound (compat 14, dh with --buildsystem=qmake6, hardening, 3.0 quilt source, DEP-3 patch, Standards-Version 4.7.4), but there are concrete defects a sponsor would send back: the development package is not named libnemodbus-dev as Policy 8.4 requires, it does not depend on qt6-base-dev although every installed header includes QtDBus, and debian/ still carries leftovers of the abandoned libnemodbus-dev/Qt5 packaging. No autopkgtest exists and the upstream tests the package ships cannot be built or run.
Issues
1. [important] [licensing] doc/ is offered under GFDL-1.3 but debian/copyright covers it with the BSD-3-clause Files: * stanza
- Files:
debian/copyright:5-11,doc/nemo-qml-plugin-dbus.qdocconf:28-35,doc/src/index.qdoc,doc/src/examples.qdoc - Basis: inferred from what was read, not seen directly
- Evidence: doc/nemo-qml-plugin-dbus.qdocconf:28-35 sets the manual's footer to
" <p><acronym title=\"Copyright\">©</acronym> 2021 Jolla OY</p>\n"and" This document may be used under the terms of the " " <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU Free Documentation License version 1.3</a>". debian/copyright has no GFDL stanza; the only stanza matching doc/ isFiles: *...License: BSD-3-clause(lines 5-11). - Problem: The documentation sources in doc/ (index.qdoc, examples.qdoc, built into the manual) are granted under GFDL-1.3, but debian/copyright declares them BSD-3-clause and never mentions GFDL, so the file misstates the licence of a whole directory (copyright-format 6.7: the License field must state the actual licence).
- Fix: Add a stanza after
Files: *:Files: doc/*/Copyright: 2021 Jolla OY/License: GFDL-1.3, plus a stand-aloneLicense: GFDL-1.3paragraph pointing at/usr/share/common-licenses/GFDL-1.3(the file exists) and noting that no invariant sections or cover texts are declared.
2. [important] [licensing] Files: tests/* says LGPL-2.1 but tests/auto/tst_dbus.qml grants BSD-3-clause
- Files:
debian/copyright:17-21,tests/auto/tst_dbus.qml:1-27 - Basis: checked, in the package or with a reference tool
- Evidence: tests/auto/tst_dbus.qml:3,9:
** Copyright (C) 2013 Jolla Ltd....** This file is part of Sailfish Silica UI component package./** You may use this file under the terms of BSD license as follows:; debian/copyright:17-21 matchesFiles: tests/*withLicense: LGPL-2.1. - Problem: The stanza that applies to tst_dbus.qml names a licence the file does not grant (the file is BSD-3-clause, not LGPL-2.1); the two other test files (tst_dbus_interface.qml, dbustestd.c) are indeed LGPL-2.1, so the pattern is simply too broad. A downstream user reading debian/copyright would apply the wrong terms.
- Fix: Add a later, more specific stanza:
Files: tests/auto/tst_dbus.qml/Copyright: 2013 Jolla Ltd/License: BSD-3-clause(the BSD-3-clause paragraph already exists), leaving the rest of tests/ under LGPL-2.1.
3. [important] [packaging] Development package is nemo-qml-plugin-dbus-dev, not libnemodbus-dev as Policy 8.4 requires
- Files:
debian/control:29-31,debian/nemo-qml-plugin-dbus-dev.install,debian/libnemodbus-dev/usr/share/doc/libnemodbus-dev/ - Basis: checked, in the package or with a reference tool
- Evidence:
Package: nemo-qml-plugin-dbus-devnext toPackage: libnemodbus1; debian/libnemodbus-dev/usr/share/doc/libnemodbus-dev/ already exists. Policy 8.4: 'the source package needs to generate a binary development package named libraryname-dev'. - Problem: The development files of libnemodbus are shipped in a package named after the source package instead of after the library, contrary to Policy 8.4, so the naming no longer tells users which library the package belongs to and differs from the name the maintainers evidently intended (the leftover debian/libnemodbus-dev tree).
- Fix: Rename the binary package to libnemodbus-dev, rename debian/nemo-qml-plugin-dbus-dev.install accordingly, and delete the stale debian/libnemodbus-dev/ directory.
4. [important] [packaging] nemo-qml-plugin-dbus-dev does not depend on qt6-base-dev although its installed headers include QtDBus headers
- Files:
debian/control:29-38,src/nemo-dbus/dbus.h:38-42,src/nemo-dbus/response.h:38-39,debian/nemo-qml-plugin-dbus-dev.install:1-6 - Basis: checked, in the package or with a reference tool
- Evidence: deb.h installs
usr/include/nemo-dbus/dbus.h, which does#include <QDBusArgument>,<QDBusConnection>,<QDBusMessage>,<QDBusVariant>; response.h includes<QDBusPendingCallWatcher>and<QDBusPendingReply>. The package'sDepends:is onlylibnemodbus1 (= ${binary:Version}), ${misc:Depends}. - Problem: Compiling against the installed headers — or running
pkg-config --cflags nemodbus, whose generated nemodbus.pc requires Qt6DBus — needs the QtDBus development headers, which only qt6-base-dev provides;libnemodbus1and its shlibs dependency give the runtime library, not the headers. Policy 8.4: installing the development package must install all development files needed to compile against the library. - Fix: Add
qt6-base-devto the development package's Depends.
5. [minor] [packaging] qml6-module-nemo-qml-plugin-dbus is Section: libdevel; QML runtime modules belong in libs
- Files:
debian/control:40-42 - Basis: checked, in the package or with a reference tool
- Evidence:
Package: qml6-module-nemo-qml-plugin-dbus...Section: libdevel; Debian's own qml6-module-qtquick (apt-cache) isSection: libs. - Problem: The package contains a runtime QML module (plugin .so, qmldir, plugins.qmltypes), not development files, so it is filed under the wrong section of the archive (Policy 2.4, sections).
- Fix: Set
Section: libsfor qml6-module-nemo-qml-plugin-dbus.
6. [minor] [packaging] Stale Qt5-era and abandoned dev-package files left under debian/old/ and debian/libnemodbus-dev/
- Files:
debian/old/libnemodbus-dev.install,debian/old/libnemodbus1.install,debian/libnemodbus-dev/usr/share/doc/libnemodbus-dev/changelog.Debian,debian/libnemodbus-dev/usr/share/doc/libnemodbus-dev/copyright - Basis: checked, in the package or with a reference tool
- Evidence: debian/old/libnemodbus1.install contains
usr/lib/*/qt5/qml/Nemo/DBus; debian/libnemodbus-dev/usr/share/doc/libnemodbus-dev/changelog.Debian is an older 2.1.39-1 entry datedMon, 16 Mar 2026 04:39:11 +0000without theSplit into packagesandPolish and update d/copyrightlines, while debian/changelog hasSun, 01 Nov 2026 10:35:26 +0000. - Problem: None of these paths corresponds to a binary package in debian/control: they are dead copies from the Qt5 packaging and from the earlier name of the development package, and the copy of debian/copyright and the changelog in them is already out of date, which invites confusion about which files are authoritative.
- Fix: Delete debian/old/ and debian/libnemodbus-dev/ (see also the package-rename issue).
7. [minor] [packaging] changelog says 'Initial release' twice in 2.1.39-1 and re-closes #1022917, already closed in 2.1.30-1
- Files:
debian/changelog:1-10,debian/changelog:12-19 - Basis: checked, in the package or with a reference tool
- Evidence: 2.1.39-1 lists
* Initial release (Closes: #1022917),* Initial release (Closes: #1135244)and* Migrate to Qt6, while the 2.1.30-1 entry already reads* Initial release. (Closes: #1022917: ITP: nemo-qml-plugin-dbus -- Nemo QML Plugin D-Bus);New upstream releasealso appears in both entries. - Problem: 2.1.39-1 is not an initial release, and a bug that a previous upload already closed cannot be closed again; dpkg-genchanges will put both bug numbers in the upload's Closes list, attributing to this upload changes it does not contain, and the log no longer records reliably what was done.
- Fix: Keep one concise list for 2.1.39-1 (new upstream release, Qt6 migration, package split, copyright work) and close only the bug that belongs to this package and is still open, if any.
8. [minor] [packaging] No autopkgtest, and the upstream tests the package ships cannot be built or run
- Files:
debian/patches/0001-Do-Not-Build-Tests-And-Docs,tests/auto/tst_dbus_interface.qml:24-27,tests/tests.pro,tests/dbustestd/Makefile:10-11 - Basis: checked, in the package or with a reference tool
- Evidence: The only patch changes
SUBDIRS += src tests doctoSUBDIRS += src, so nothing under tests/ is built;tst_dbus_interface.qmlimportsorg.nemomobile.dbus 2.0(the Qt5 module name, while src/plugin/qmldir declaresmodule Nemo.DBus) and QtTest 1.0/QtQuick 2.0; tests/dbustestd/Makefile builds againstDBUS_GMAIN_DIR := dbus-gmain, whose directory in the tarball is empty (a git submodule). - Problem: The source carries a test suite that is neither built nor runnable as shipped (Qt5 imports, missing dbus-gmain sources), and debian/ has no debian/tests/, so the package's only automated check anywhere is the build itself. Nothing in Debian exercises the QML module.
- Fix: Add debian/tests/control with a test that installs the package and imports the Nemo.DBus module (e.g. qml6 runtime via qmlscene/qml6 + dbus-run-session), and say in the patch header (or forward the patch upstream) that the Qt5-era tests and the sailfish-qdoc-template documentation cannot be built against Qt6.
9. [minor] [packaging] dh-sequence-pkgkde-symbolshelper is a build-dependency with no symbols file to act on
- Files:
debian/control:6-13 - Basis: inferred from what was read, not seen directly
- Evidence:
Build-Depends: ... dh-sequence-pkgkde-symbolshelper, ...; there is no debian/*.symbols file in the package. - Problem: The sequence exists to merge pkg-kde-tools' symbols-file handling into dh_makeshlibs; with no symbols file it has nothing to do, so it pulls pkg-kde-tools into the build chroot for no benefit.
- Fix: Drop dh-sequence-pkgkde-symbolshelper, or add a debian/libnemodbus1.symbols file if ABI tracking is wanted (a C++ library benefits from one, which would also make the build-dependency meaningful).
Verified
- debian/copyright read in full: DEP-5 with the exact 1.0 Format URL, four Files stanzas (
*,src/plugin/*,tests/*,debian/*), stand-alone License paragraphs for BSD-3-clause (full text) and LGPL-2.1 (pointer to /usr/share/common-licenses/LGPL-2.1, which exists); no Files-Excluded. - Licence headers read on all 18 files under src/nemo-dbus/ including private/:
You may use this file under the terms of the BSD license, holders Jolla Ltd (2016-2021) and Open Mobile Platform LLC (2021) — both named in theFiles: *stanza; all 7 files under src/plugin/ carry the LGPL-2.1-only grey header naming Jolla Ltd (2013-2018), matching thesrc/plugin/*stanza. - Prescan hits accounted for:
Jolla Ltd Contact: Andrew den Exter <andrew.den.exter@jolla.com>in src/nemo-dbus/connection.cpp:2, connection.h:2, dbus.h:2 and the other 19 src/nemo-dbus files (headers:Copyright (C) 2016 Jolla Ltdplus a Contact line), andJolla Ltd. Contact: Simo Piiroinen <simo.piiroinen@jollamobile.com>in tests/auto/tst_dbus_interface.qml:3 and tests/dbustestd/dbustestd.c:3; both names appear in debian/copyright (Files: *listsAndrew den Exter <andrew.den.exter@jolla.com>;Files: tests/*listsSimo Piiroinen <simo.piiroinen@jollamobile.com>), so no holder is missing. - tests/auto/tst_dbus_interface.qml and tests/dbustestd/dbustestd.c are LGPL-2.1-only and match the tests stanza; only tests/auto/tst_dbus.qml differs, and that is reported as an issue.
- license.lgpl is the LGPL-2.1 text and license.bsd is the BSD-3-clause text reproduced verbatim in debian/copyright; there is no other COPYING/NOTICE/AUTHORS file anywhere in the tree; grep for non-commercial, no-modification, field-of-use, CC-*-NC/ND and similar wording found none, and
All rights reservedappears only next to a real licence grant. - Libre compatibility: the LGPL-2.1-only QML plugin links the BSD-3-clause libnemodbus, and the installed headers are the BSD ones, so the combination is fine and nothing LGPL is installed for reuse.
- tests/dbustestd/dbus-gmain is an empty directory (a git submodule, .gitmodules -> sailfishos-mirror/dbus-glib), so no vendored dbus-glib code is shipped; the only third-party code in the tree is upstream's own.
- src/plugin/plugins.qmltypes is generated (
qmlplugindump -nonrelocatable Nemo.DBus 2.0); its inputs, the C++ sources in src/plugin/, are present, so it is not a built file without source. No other generated, minified or binary file was found in the tree. - debian/rules: compat 14,
dh $@ --buildsystem=qmake6,DEB_BUILD_MAINT_OPTIONS = hardening=+all; debhelper's qmake6 buildsystem (qmake6.pm -> qmake.pm) passes the dpkg-buildflags CFLAGS/CXXFLAGS/LDFLAGS as QMAKE_CFLAGS/CXXFLAGS/LDFLAGS_RELEASE and _DEBUG with PREFIX=/usr, so hardening flags reach the compiler. ${source:Synopsis}/${source:Extended-Description}in debian/control are real dpkg substvars (set_desc_substvars in /usr/share/perl5/Dpkg/Substvars.pm), not unknown ones, and at compat 14 dh_gencontrol adds the relationship substvars itself.- Standards-Version 4.7.4 against Policy 4.7.4.1 — the first two components match, so no issue.
- Build-dependencies are satisfiable: qmake6 comes with qt6-base-dev; dh-sequence-qmldeps and dh-sequence-pkgkde-symbolshelper are virtual packages provided by pkg-kde-tools 0.22.1 (apt-cache); libnemodbus1 is a binary of this source package, not an archive package.
- The single patch has a DEP-3 header (Description, Author, Origin: vendor, Forwarded: no) and its effect is visible in the applied dbus.pro (
SUBDIRS += src); removing doc from the build is necessary because doc.pro needssailfish-qdoc-template, and tests.pro installs to /opt, which Policy 10.1 disallows. - debian/source/format is 3.0 (quilt); Vcs-Git/Vcs-Browser and Homepage are present; there are no maintainer scripts or *.maintscript files; gbp.conf matches the debian/latest + upstream/latest + pristine-tar workflow.
- uscan found the packaged version as the newest upstream release (upstream
2.1.39, packaged2.1.39). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (LGPL-2.1).
Not confirmed
- Whether libnemodbus is built versioned at all: src/nemo-dbus/nemo-dbus.pro sets only
QMAKE_PKGCONFIG_VERSION = $$VERSIONand never VERSION itself, upstream's rpm spec supplies it (%qmake5 "VERSION=%{version}"), and debhelper's qmake6 buildsystem (qmake.pm read: -makefile, flags, PREFIX=/usr) passes no VERSION. If qmake6 then emits an unversioned libnemodbus.so, libnemodbus1.install'susr/lib/${DEB_HOST_MULTIARCH}/libnemodbus.so.*matches nothing (dh_install aborts with 'missing files, aborting', /usr/bin/dh_install:315), the only library ends up in the -dev package, libnemodbus1 is empty, and nemodbus.pc has an empty Version. A build's debian/tmp would settle it; qmake is not installed here, so the default was not checked. - The Vcs-Browser/Vcs-Git URLs point into .../DebianOnMobile-team/puremaps/nemo-qml-plugin-dbus, a repository named after an unrelated package; with no network access I could not check that it exists or holds this package.
- Without a build I could not confirm that the qmake install paths (target.path = $$[QT_INSTALL_LIBS], qmldir.path = $$[QT_INSTALL_QML]/Nemo/DBus under PREFIX=/usr) resolve to exactly the multiarch paths used in the three .install files.
Proposed changes
None.
Uploader's response to the LLM review
Waiting for the uploader's response until , because the review found serious issues.