Review: nemo-qml-plugin-dbus 2.1.39-2
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) |
| Tracker | https://tracker.debian.org/pkg/nemo-qml-plugin-dbus |
| Uploaded | 5 days ago |
| Supersedes | 2.1.39-1 |
New Package Report
.changes
| Distribution | experimental |
|---|---|
| Date | Mon, 02 Nov 2026 06:19:17 +0000 |
| Source | nemo-qml-plugin-dbus |
| Version | 2.1.39-2 |
| Changed-By | Yifei Zhan <debian@zhan.science> |
| Architecture | source amd64 |
Changelog
nemo-qml-plugin-dbus (2.1.39-2) experimental; urgency=medium . * Polish and re-upload
.dsc
| Section | libdevel |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | libnemodbus-dev deb libdevel optional arch=any libnemodbus1 deb libs optional arch=any qml6-module-nemo-qml-plugin-dbus deb libs 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: doc/*
Copyright: 2021 Jolla OY
License: GFDL-1.3
Files:
src/plugin/*
tests/tests.pro
tests/dbustestd/Makefile
tests/dbustestd/dbustestd.c
tests/dbustestd/dbus/org.nemomobile.dbustestd.service
tests/auto/tst_dbus_interface.qml
tests/test-definition/tests.xml
Copyright:
2013-2018 Jolla Ltd
Andrew den Exter <andrew.den.exter@jolla.com>
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.
License: GFDL-1.3
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
.
On Debian systems, the complete text of the GNU Free Documentation
License version 1.3 can be found in "/usr/share/common-licenses/GFDL-1.3".
DFSG Assistant LLM REVIEW 0 blocker, 0 important, 2 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 5 days ago.
Report
DFSG NEW review for nemo-qml-plugin-dbus version 2.1.39-2
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: Yes - Packaging is of good quality: Yes
- Issues: 0 blocker, 0 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 1 found
Licensing
debian/copyright is DEP-5 (copyright-format 1.0), its stanzas cover every file in the tree, and every licence it declares is free. The C++ library sources are BSD-3-clause with the full text reproduced, src/plugin/* and the two non-BSD test files are LGPL-2.1 with a pointer to /usr/share/common-licenses/LGPL-2.1, and the short names match the headers (LGPL-2.1 only, no "or later"; BSD-3-clause, not BSD-2). The doc/ files are declared GFDL-1.3, which the prescan flags, but the only GFDL statement in the tree (the HTML footer template in doc/nemo-qml-plugin-dbus.qdocconf) names no invariant sections or cover texts, so it is DFSG-free, and doc/ is not built or shipped in any binary. Every holder in the file headers (Jolla Ltd / Jolla OY, Andrew den Exter, Simo Piiroinen, Open Mobile Platform LLC) is named.
Packaging
Current debhelper 14 qmake6 packaging: Standards-Version 4.7.4 (Policy 4.7.4.1), 3.0 (quilt), one DEP-3 patch with a clear purpose, correct source/binary split (runtime lib, -dev, QML module), working hardening flags, and install files that match what the qmake projects install. Two minor points are worth fixing before upload: an unused dh-sequence-pkgkde-symbolshelper build dependency, and a changelog that closes ITP #1022917 a second time. One thing a build would settle is not checkable here: nothing passes VERSION to qmake, so the library's soname and hence the correctness of the libnemodbus1 name and install pattern need confirming.
Issues
minor packaging 1. Build-Depends on dh-sequence-pkgkde-symbolshelper does nothing: the package ships no symbols file ◂
- Files:
debian/control:8 - Basis: inferred from what was read, not seen directly
- Evidence:
dh-sequence-pkgkde-symbolshelper,is in Build-Depends, and the tree has nodebian/*.symbols(debian/ holds only changelog, control, copyright, three .install files, rules, gbp.conf, watch, patches/ and source/). - Problem: That sequence exists to run pkg-kde-tools' symbols helper over debian/.symbols; with no symbols file it is a no-op, so it only adds a build dependency for nothing (pkg-kde-tools is already pulled in by dh-sequence-qmldeps). Policy 8.6.3.3 lets dh_makeshlibs generate shlibs instead, so either choice is allowed.
- Fix: Drop the dh-sequence-pkgkde-symbolshelper line, or add debian/libnemodbus1.symbols (which Policy 8.6.3.3 recommends) and keep it.
minor packaging 2. changelog claims ITP #1022917 closed twice, in 2.1.30-1 and again in 2.1.39-1 ◂
- Files:
debian/changelog:13,debian/changelog:25 - Basis: checked, in the package or with a reference tool
- Evidence: 2.1.30-1:
* Initial release. (Closes: #1022917: ITP: nemo-qml-plugin-dbus --and 2.1.39-1:* Initial release (Closes: #1022917)(next line* Initial release (Closes: #1135244)). - Problem: The bug was already closed by the earlier entry in the same changelog, so the BTS will record a second closure for a bug that is not open, and 2.1.39-1 is described as an "Initial release" although 2.1.30-1 precedes it. Changelog bug closures are part of what a sponsor checks.
- Fix: Remove the duplicate
Closes: #1022917from 2.1.39-1 (keeping #1135244 if that is the ITP this upload really closes) and word the entry after what the upload does, e.g. "New upstream release", "Split into packages", "Update d/copyright".
Verified ◂
- Read every file under debian/ in full (changelog, control, copyright, rules, gbp.conf, source/format, the three .install files, patches/series and the one patch); debian/watch is out of scope here.
- Upstream tree inventoried completely: 45 files (dbus.pro, .gitignore, .gitmodules, license.bsd, license.lgpl, doc/ (4), rpm/ (1), src/ (29), tests/ (7)) — no programs, libraries, bytecode, archives, PDFs, images or fonts.
- Every file is matched by a stanza: Files: * (BSD-3-clause) is the catch-all, doc/* is GFDL-1.3, and the LGPL stanza names src/plugin/* plus the six non-BSD test files.
- src/nemo-dbus/*.cpp/.h (12 files, incl. private/) carry
You may use this file under the terms of the BSD license as follows:with the three-clause text; dbus.cpp:2-3 addsCopyright (C) 2021 Open Mobile Platform LLC., which Files: * names. - src/plugin/* (10 files) and tests/auto/tst_dbus_interface.qml, tests/dbustestd/dbustestd.c carry
GNU Lesser General Public License version 2.1headers referring to license.lgpl; the short name LGPL-2.1 is right (no "or later") and /usr/share/common-licenses/LGPL-2.1 exists. - tests/auto/tst_dbus.qml is BSD-3-clause ("Neither the name of the Jolla Ltd") although it sits in tests/; it is covered by Files: * and not by the LGPL stanza, which is correct.
- Files with no notice of their own are still assigned a licence by the matching stanza: dbus.pro, src/src.pro, src/nemo-dbus/nemo-dbus.pro, src/nemo-dbus/private/private.pri, src/plugin/qmldir, src/plugin/plugins.qmltypes, src/nemo-dbus/README, tests/tests.pro, tests/dbustestd/Makefile, tests/dbustestd/dbus/org.nemomobile.dbustestd.service, tests/test-definition/tests.xml, rpm/nemo-qml-plugin-dbus-qt5.spec, .gitignore, .gitmodules.
- Prescan
debian/copyright:15(License: GFDL-1.3) is not a DFSG problem: the only GFDL statement in the tree is the footer template at doc/nemo-qml-plugin-dbus.qdocconf:29-33 (© 2021 Jolla OY,GNU Free Documentation License version 1.3) with no invariant sections or cover texts, so the licence is free; doc/ holds only the qdoc sources and their config, and the patch removes doc from dbus.pro's SUBDIRS, so no GFDL document is built or installed. - Prescan holders are accounted for: "Jolla Ltd Contact: Andrew den Exter" and "Jolla Ltd. Contact: Simo Piiroinen" appear in debian/copyright as Jolla Ltd / Jolla OY together with both individuals; no other holder (Nokia, Sailfish, SPDX tag) exists in the tree.
- license.bsd and license.lgpl at the top level are the bare licence texts (BSD-3-clause and LGPL-2.1), covered by Files: *; there is nothing copyrightable of a third party in them.
.gitmodulesnames a dbus-gmain submodule taken from dbus-glib, but tests/dbustestd/dbus-gmain is an empty directory in the tarball, so no third-party code is shipped and nothing needs a licence stanza; dbustestd.c:50 includes "dbus-gmain/dbus-gmain.h", so that test daemon cannot be compiled from the tarball, but no target builds it.- src/plugin/plugins.qmltypes is generated by qmlplugindump from the plugin sources (plugin.pro's qmltypes target), which are in the package; it is upstream-shipped build output, not a file whose generator input is missing.
- Standards-Version 4.7.4 against the reviewing system's Policy 4.7.4.1: current.
- At compat 14 dh_gencontrol adds relationship substvars itself, so the qml6 package not naming ${shlibs:Depends}/${qml6:Depends} is not an issue; dh_qmldeps will add the QtQuick import that plugins.qmltypes declares (
dependencies: ["QtQuick 2.0"]). - hardening=+all is effective: debhelper's qmake buildsystem passes dpkg-buildflags' CFLAGS/CXXFLAGS/LDFLAGS into QMAKE_*FLAGS (read /usr/share/perl5/Debian/Debhelper/Buildsystem/qmake.pm:68-80), and the qmake6 buildsystem used by debian/rules exists (qmake6.pm).
- Both build dependencies resolve: pkg-kde-tools 0.22.1 Provides dh-sequence-qmldeps and dh-sequence-pkgkde-symbolshelper (apt-cache); no Build-Depends names something missing.
- The single patch (0001-Do-Not-Build-Tests-And-Docs) has a DEP-3 header (Author, Origin: vendor, Forwarded: no), is the one in patches/series, and only changes dbus.pro's SUBDIRS from
src tests doctosrc; the doc build needs sailfish-qdoc-template (not in Debian) and the tests install under /opt and need the absent dbus-gmain submodule, so keeping it Debian-side and not forwarded is reasonable. - Install files agree with the .pro files: 6 public headers + private/ + libnemodbus.so + pkgconfig/nemodbus.pc in libnemodbus-dev, the qml dir with libnemodbus.so/qmldir/plugins.qmltypes in the QML package, libnemodbus.so.* in libnemodbus1; the -dev package depends on qt6-base-dev, which its headers and nemodbus.pc need.
- No maintainer scripts, no debian/tests. No test is built or run: the patch drops upstream's tests, which are Sailfish-specific (they install to /opt, need dbus-gmain, and tst_dbus_interface.qml imports org.nemomobile.dbus, a URI this package installs no qmldir for).
- 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 (GFDL-1.3,LGPL-2.1).
Not confirmed ◂
- VERSION/soname: debian/rules passes no VERSION to qmake and src/nemo-dbus/nemo-dbus.pro sets none (only QMAKE_PKGCONFIG_VERSION = $$VERSION), while the Qt5-era rpm spec passes VERSION=%{version}; debian/libnemodbus1.install expects usr/lib/${DEB_HOST_MULTIARCH}/libnemodbus.so.* and the runtime package is named libnemodbus1. If qmake6's default gives libnemodbus.so.1.0.0/libnemodbus.so.1, all is consistent; if it gives a bare libnemodbus.so, dh_install would abort on the unmatched pattern and libnemodbus1 would end up empty, and the .pc file would carry an empty Version. qmake is not installed on the reviewing system, so this needs a build: the file names in debian/tmp, and whether VERSION has to be passed on the qmake command line (as the rpm spec does).
- The QML binary package is named after the source, qml6-module-nemo-qml-plugin-dbus, while the import URI it provides is Nemo.DBus; Debian's qml6-module-* packages are normally named after the URI (qml6-module-nemo-dbus). This is a team convention, not a Policy requirement, and no reference tool here states it.
Proposed changes ◂
None.
Uploader's response to the LLM review
This is OK.
- dh-sequence-pkgkde-symbolshelper could be useful in future, it does not harm at the moment.
- BTS doesn't reliably close bugs from earlier entries.
— Yifei Zhan (yifei), 5 days ago
Review Information
rejected — allocated to awm 4 days ago, started 4 days ago, completed 4 days ago.
Final Comment
Hi,
The GFDL is not compatible with the DFSG, unless it is the "with No Invariant Sections" version, which this does not appear to be. If it is without invariant sections then please update the debian/copyright file to reflect that.
Thanks!