** Summary changed: - [SRU] Oracular: Missing dependency on qml-module-qtquick-shapes + [SRU] filelight: scan page never loads, missing Depends on qml-module-qtquick-shapes and qml-module-org-kde-kcoreaddons
** Description changed: + [ Impact ] + + filelight 4:23.08.5-0ubuntu3 in Ubuntu 24.04 LTS (noble) starts and + shows its window, but the scan page never loads. Clicking Scan Home + Folder, Scan Root Folder or Scan Folder does nothing, and the terminal + shows: + + qrc:/ui/MapPage.qml:9 module "QtQuick.Shapes" is not installed + qrc:/ui/MapPage.qml:8 module "org.kde.kcoreaddons" is not installed + QQmlComponent: Component is not ready + + The application cannot perform its only function. Both QML modules are + imported by filelight's compiled-in QML but are not declared in + debian/control, so they are present only where something else installs + them (KDE Plasma does; Ubuntu Desktop with GNOME does not). + + The fix adds the two missing dependencies, qml-module-org-kde- + kcoreaddons and qml-module-qtquick-shapes, to the filelight binary + package's Depends. No application source changes are included. + + [ Test Plan ] + + Primary recipe (any tester, no knowledge of the package needed). Use a + disposable noble system without KDE Plasma, for example an Ubuntu + Desktop 24.04 VM. The two QML modules must be absent at the start; check + with: + + dpkg -l qml-module-qtquick-shapes qml-module-org-kde-kcoreaddons + 2>/dev/null | grep '^ii' || echo "modules absent (good)" + + 1. Install the current package and record the version: + + sudo apt install filelight + dpkg-query -W filelight # expect 4:23.08.5-0ubuntu3 + + 2. Reproduce the failure: launch `filelight` from a terminal, click Scan + Home Folder. Nothing happens. Greppable check (the errors are printed at + startup; `timeout` ends filelight so grep can report): + + timeout 20 filelight /usr 2>&1 | grep -c 'is not installed' + # expect a non-zero count; 4 in our runs, each module is reported twice + + 3. Close filelight. Enable noble-proposed with pinning so only filelight + is taken from it, following + https://wiki.ubuntu.com/Testing/EnableProposed, then: + + sudo apt update + sudo apt install filelight/noble-proposed + + apt must report that qml-module-org-kde-kcoreaddons, qml-module- + qtquick-shapes and libqt5quickshapes5 will be installed and that nothing + will be removed. + + 4. Record the installed version and origin: + + dpkg-query -W filelight # expect 4:23.08.5-0ubuntu3.1 + apt-cache policy filelight # Installed from noble-proposed + dpkg -l qml-module-qtquick-shapes qml-module-org-kde-kcoreaddons | grep '^ii' # both present + + 5. Launch `filelight`, click Scan Home Folder, wait for the scan to + finish. The radial map renders; clicking a segment navigates into it; + Back returns. This is the acceptance criterion. Greppable check: + + timeout 20 filelight /usr 2>&1 | grep -c 'is not installed' # + expect 0 + + 6. Regression check for systems that already have the modules: on a + Plasma system still at 4:23.08.5-0ubuntu3, or on a second copy of the VM + taken after step 1 with the two modules installed by hand (`sudo apt + install qml-module-qtquick-shapes qml-module-org-kde-kcoreaddons`), run + `sudo apt install filelight/noble-proposed`. Expect 1 upgraded, 0 newly + installed, 0 to remove, and the scan still works. + + Alternative, fully scripted: the investigation repository + https://github.com/ivoitovych/filelight-broken-dependencies contains + Dockerfiles for a pristine noble image and a verify image, and a trace + script that runs filelight under Xvfb with QML import tracing and + strace. With the fixed package the trace shows zero "is not installed" + and zero "Component is not ready" lines and both QML plugins loading + from /usr/lib/x86_64-linux-gnu/qt5/qml/. The steps above are sufficient + on their own; the repository is supporting evidence. + + [ Where problems could occur ] + + The change is two added Depends on packages that have been in + noble/universe since release: qml-module-org-kde-kcoreaddons (74 KB + installed) and qml-module-qtquick-shapes (86 KB installed, pulling + libqt5quickshapes5, 349 KB). All three are QML/library-only packages + without maintainer scripts. The places where this update could still go + wrong: + + 1. The package is rebuilt, not metadata-edited. The build daemons compile filelight against the current noble libraries, so ${shlibs:Depends} could come out tighter than in the April 2024 build and an upgrade could pull in newer library versions that are already in noble-updates. The locally rebuilt package was compared field by field with the archive package: the only Depends difference is the two added modules (see sru/verify-result.md in the repository). Test Plan step 3 shows any extra packages apt wants to install. + 2. A typo in either package name would make filelight uninstallable from noble-proposed. The exact built .deb was installed with apt in a pristine noble container and both names resolved (Test Plan steps 3 and 4 repeat this on the archive build). + 3. The dependency resolver could propose removals or unexpected changes on upgrade. Test Plan step 3 requires "0 to remove". + 4. The scan could still fail after the modules arrive if a third module were missing. A static review of every QML import and a traced run of every user-facing action in the fixed environment found none; Test Plan step 5 checks the user-visible result. + 5. Systems that already have the modules (Plasma) see only the version bump. Test Plan step 6 covers this. + 6. A dependency missing on one architecture would make filelight uninstallable there. Both modules (and libqt5quickshapes5) are published in noble for every architecture filelight is built on: amd64, arm64, armhf, ppc64el, riscv64 and s390x. + + If the update were wrong in one of these ways, filelight would remain as + unusable as it is today. The only reverse dependency in noble is the + kdeutils metapackage (Depends: filelight (>= 4:23.08.5)), which the + version bump keeps satisfied; unburden-home-dir lists filelight among + alternative Suggests. + + [ Other Info ] + + * Fixed in the development release and all later releases: Ubuntu switched filelight to dh-sequence-qmldeps (automatic QML dependencies) with 4:25.08.1-0ubuntu1 in questing. resolute (4:25.12.3-0ubuntu1), stonking (4:26.08.1-0ubuntu1) and the development series carry the generated dependencies; stonking's binary package depends on qml6-module-qtquick-shapes and qml6-module-org-kde-coreaddons. jammy ships the pre-QML 4:21.12.3 and is not affected. noble is therefore the only supported release with the defect. + * Debian declared qml-module-org-kde-kcoreaddons in 4:22.12.2-1 (Debian #1030549) and fixed the Shapes dependency through dh-sequence-qmldeps in 4:25.03.90-1 (Debian #1082018). + * History on this bug: oracular's 4:23.08.5-0ubuntu4 had already added qml-module-org-kde-kcoreaddons, so the earlier debdiff here (23.08.5-0ubuntu4.1, by Maia Everett) added only qml-module-qtquick-shapes. It expired as Won't Fix at oracular's end of life, not on technical grounds. noble's package has neither module, so the noble debdiff adds both. + * Related reports: LP: #2097146 (Shapes, Ubuntu task New, Debian task Fix Released) and LP: #2089868 (Confirmed) describe the same noble failure; LP: #2083152 was originally the kcoreaddons half on Kubuntu 24.10 (fixed by oracular's 0ubuntu4); its later comments (October and December 2024, one from Linux Mint 22 on the noble base) show the Shapes failure persisting on 0ubuntu4. Upstream KDE bug 496765 was closed as a downstream packaging issue. + * Proposed upload: filelight 4:23.08.5-0ubuntu3.1 (debdiff attached: filelight_23.08.5-0ubuntu3.1.debdiff). Changes limited to debian/control and debian/changelog. Built and lintian-clean in a noble build container; installed and traced in a pristine noble container. + * The submitter of this SRU (Iaroslav Voitovych) will verify the package from noble-proposed following the Test Plan and will watch for regressions after release. + + ====================================================================== + Original report (oracular, 2024-10-10, by Maia Everett) + ====================================================================== + [ Impact ] On a fresh Oracular install, Filelight is broken because of a missing dependency. The buttons on the starting screen do not do anything. Clicking any of the buttons does nothing, and the following message appears in the console: file:///usr/lib/x86_64-linux- gnu/qt5/qml/org/kde/kirigami.2/PageRow.qml:914: Error: Error while loading page: qrc:/ui/MapPage.qml:9 module "QtQuick.Shapes" is not installed Installing qml-module-qtquick-shapes fixes the issue. This bug has already been fixed in Plucky and Questing, where the package includes all required dependencies. The fix needs to be backported to Oracular as a SRU. [ Test Plan ] To reproduce: * Install Filelight on a fresh Oracular system. * Launch Filelight. * Try clicking "Scan home folder" or "Scan root folder". Expected behavior: Filelight scans the specified folder for disk usage. Actual behavior: See Impact. [ Where problems could occur ] Since the fix consists of adding a single dependency, which is a library package without executable or configuration files, the risk for regressions in other packages is minimal. [ Other Info ] The newer version of filelight in Plucky and Questing is ported to Qt 6 and thus does not depend on qml-module-qtquick-shapes. Instead, it depends on the package's Qt 6 counterpart, qml6-module-qtquick-shapes. The version in Oracular still uses Qt 5 and thus needs the Qt 5 dependency qml-module-qtquick-shapes. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2084169 Title: [SRU] filelight: scan page never loads, missing Depends on qml-module- qtquick-shapes and qml-module-org-kde-kcoreaddons To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/filelight/+bug/2084169/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
