Skip to content

Upgrade nemomobile dependencies#209

Merged
FlorentRevest merged 72 commits intoAsteroidOS:masterfrom
casept:rebase-nemomobile
Apr 24, 2026
Merged

Upgrade nemomobile dependencies#209
FlorentRevest merged 72 commits intoAsteroidOS:masterfrom
casept:rebase-nemomobile

Conversation

@casept
Copy link
Copy Markdown
Contributor

@casept casept commented Oct 2, 2025

Needs to be done in preparation for upgrading to Qt6, as upstream has recently started adding support for it.

The plan is to go through recipes one-by-one and sync with upstream as I have time for. Help is welcome.

@casept casept force-pushed the rebase-nemomobile branch from 080f5b9 to f3a6c20 Compare October 2, 2025 17:00
@casept
Copy link
Copy Markdown
Contributor Author

casept commented Oct 2, 2025

Checklist (build):

  • buteo-syncfw
  • buteo-mtp
  • droidmedia
  • dsme
  • geoclue - Cannot be upgraded due to major API breakage
  • geoclue-provider-hybris-binder
  • geoclue-provider-hybris-hal
  • kf5bluezqt
  • libaccounts
  • libaccounts-qt5
  • libaccounts-glib
  • libconnman-qt5
  • libdbusaccess
  • libiodata
  • libiphb
  • libmlocale
  • libnci
  • libngf
  • libqtsparql
  • libresource
  • libsailfishkeyprovider
  • libshadowutils - No longer needed, drop
  • libsignon-qt5
  • lipstick
  • mapplauncherd
  • mce
  • mlite
  • nemo-keepalive
  • nemo-qml-plugins
    • alarms
    • calendar
    • configuration
    • connectivity
    • dbus
    • devicelock
    • notifications
    • policy
    • social
    • systemsettings
    • thumbnailer
    • time
  • nfcd
  • ngfd
  • profiled
  • qofonoext
  • qtdbusextended
  • qtmpris
  • sailfish-access-control
  • sensorfw
  • timed
  • usb-moded
  • voicecall - Will drop
  • mkcal
  • kcalendarcore
  • pulseaudio-modules-nemo
  • nemo-qtmultimedia-plugins
  • pulseaudio-module-droid - Needs to be replaced with https://github.com/mer-hybris/pulseaudio-modules-droid-jb2q because of dropped support for Android <= 10
  • pulseaudio-module-keepalive
  • gst-droid
  • nemo-gst-interfaces

Checklist (smoke test):
TODO

@casept casept force-pushed the rebase-nemomobile branch 2 times, most recently from bebbd2a to 15c51d7 Compare October 4, 2025 23:51
@casept casept force-pushed the rebase-nemomobile branch 4 times, most recently from a4cb740 to ac030d4 Compare October 14, 2025 23:29
@casept casept force-pushed the rebase-nemomobile branch 2 times, most recently from 2de2813 to d85503a Compare January 25, 2026 22:42
@MagneFire MagneFire force-pushed the master branch 2 times, most recently from d83c298 to dd515ab Compare February 1, 2026 00:47
@casept casept force-pushed the rebase-nemomobile branch 5 times, most recently from b61143b to ddf88b6 Compare March 5, 2026 16:35
@casept
Copy link
Copy Markdown
Contributor Author

casept commented Mar 5, 2026

Builds now and boots. Problems on beluga:

  • Pulseaudio fails
  • underclock fails (but seems like it may be unrelated to upgrade)
  • usb-moded fails (more general beluga issues?)
  • Settings app fails to launch due to removed support for DiskUsage in nemo-qml-plugin-systemsettings
  • Random alarms going off

@FlorentRevest
Copy link
Copy Markdown
Member

Thanks a lot for all this work :) as I'm scanning old ignored pull requests I stumbled upon AsteroidOS/lipstick#22 is this something you ran into ?

@casept
Copy link
Copy Markdown
Contributor Author

casept commented Mar 12, 2026

Thanks a lot for all this work :) as I'm scanning old ignored pull requests I stumbled upon AsteroidOS/lipstick#22 is this something you ran into ?

Seems so, see build log at https://gist.githubusercontent.com/casept/fbf6c3df58259c6807b2e31d2b01804d/raw/dc3bf8241aade080d530ced441081d0a6b4eaa10/gistfile1.txt

Among others:


../../git/src/lipsticksettings.cpp: In member function 'void LipstickSettings::exportScreenSize()':
../../git/src/lipsticksettings.cpp:84:58: warning: 'MGConfItem::MGConfItem(const QString&, QObject*)' is deprecated: Use MDConfItem [-Wdeprecated-declarations]
   84 |     MGConfItem widthConf("/lipstick/screen/primary/width");
      |                                                          ^

In file included from ../../recipe-sysroot/usr/include/mlite5/MGConfItem:1,
                 from ../../git/src/lipsticksettings.cpp:20:
../../recipe-sysroot/usr/include/mlite5/mgconfitem.h:76:52: note: declared here
   76 |     Q_DECL_DEPRECATED_X("Use MDConfItem") explicit MGConfItem(const QString &key, QObject *parent = 0);
      |                                                    ^~~~~~~~~~

../../git/src/lipsticksettings.cpp:89:60: warning: 'MGConfItem::MGConfItem(const QString&, QObject*)' is deprecated: Use MDConfItem [-Wdeprecated-declarations]
   89 |     MGConfItem heightConf("/lipstick/screen/primary/height");
      |                                                            ^

../../recipe-sysroot/usr/include/mlite5/mgconfitem.h:76:52: note: declared here
   76 |     Q_DECL_DEPRECATED_X("Use MDConfItem") explicit MGConfItem(const QString &key, QObject *parent = 0);
      |                                                    ^~~~~~~~~~

For now, I just patched out Werror in the hopes that lipstick cleanup can be postponed.

@casept casept force-pushed the rebase-nemomobile branch 2 times, most recently from 1e88f8b to 6cf0f6c Compare March 12, 2026 15:16
@FlorentRevest
Copy link
Copy Markdown
Member

For now, I just patched out Werror in the hopes that lipstick cleanup can be postponed

Yeah, just pick the path of least resistance to deal with lipstick for now. Just for context, lipstick has been on a jumping seat for a while already. There seems to be a lot of its code that we don't use at all and we have forked it quite heavily already so we're not getting much benefit from upstream anyway so I'd envision that in a not so distant future we'd merge all the parts of its code which we really use into asteroid-launcher and have the two projects be merged into one codebase that is more minimal for what we actually do with it. As part of this, I'm sure there's a lot of concepts that could get cleaned up and asteroid-launcher would hopefully look like a more regular user of QtWayland (or QtApplicationLauncher ?) and that dependency would eventually disappear. This is not a small refactoring but maybe that bit of context can help you take certain shortcuts.

Comment thread recipes-connectivity/libconnman-qt/libconnman-qt5_%.bbappend
@FlorentRevest
Copy link
Copy Markdown
Member

This is looking pretty great :) with the last 3 comments addressed, it's good to merge. Thanks a lot again! I realize how time consuming this is but is very valuable, I really appreciate the time you poured into this! :)

@FlorentRevest
Copy link
Copy Markdown
Member

FlorentRevest commented Apr 12, 2026

Ah also most of your recent commits are committed by "Your Name" - it's not a big deal but maybe you want to fix that

@FlorentRevest
Copy link
Copy Markdown
Member

Mh this also appears to be broken:

| /home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/bin/moc -DSYSTEMSETTINGS_BUILD_LIBRARY -DQT_DBUS_LIB -DQT_CORE_LIB -DQT_NO_DEBUG -DQT_DBUS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB --include /home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/build/src/moc_predefs.h -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/lib/mkspecs/linux-oe-g++ -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/git/src -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/profiled -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/dbus-1.0 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/lib/dbus-1.0/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/glib-2.0 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/lib/glib-2.0/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/mlite5 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/QtDBus -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/QtCore -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/blkid -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/libsailfishkeyprovider -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/connman-qt5 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/sailfishaccesscontrol -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/qofono-qt5 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/QtNetwork -I. -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.3.0/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/14.3.0/include-fixed -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/arm-oe-linux-gnueabi/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/c++/14.3.0 -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/c++/14.3.0/arm-oe-linux-gnueabi -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include/c++/14.3.0/backward -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/lib/arm-oe-linux-gnueabi/14.3.0/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/local/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/arm-oe-linux-gnueabi/include -I/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot/usr/include ../../git/src/datetimesettings.cpp -o datetimesettings.moc
| make[1]: *** No rule to make target 'mceiface.cpp', needed by 'mceiface.o'.  Stop.
| make[1]: *** Waiting for unfinished jobs....
| make[1]: Leaving directory '/home/user/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/build/src'
| make: *** [Makefile:50: sub-src-make_first] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/user/asteroid/src/meta-asteroid/recipes-nemomobile/nemo-qml-plugins/nemo-qml-plugin-systemsettings_git.bb:do_compile) failed with exit code '1'

@FlorentRevest
Copy link
Copy Markdown
Member

That seems to be caused by system(/build/asteroid/build/tmp/work/armv7vehf-neon-oe-linux-gnueabi/nemo-qml-plugin-systemsettings/+git/recipe-sysroot-native/usr/bin/qdbusxml2cpp -p mceiface.h:mceiface.cpp mce.xml) in recipes-nemomobile/nemo-qml-plugins/nemo-qml-plugin-systemsettings/0002-Remove-developermodesettings.patch

You probably want to use just qdbusxml2cpp like you did in recipes-nemomobile/nemo-qml-plugins/nemo-qml-plugin-notifications/0001-Fix-qdusxml2cpp-search-path.patch

casept added 19 commits April 24, 2026 09:07
Needed by newer version of libngf-qt
Drop one of our patches that has been accepted upstream.
Requires removing Werror.
We should probably eventually just properly rebase it so that all
the deprecation warnings go away, but that's a bigger effort.
We don't use it for anything, and it pulls in a large number
of dependencies not used by anything else.

Therefore, remove it as part of the general upgrade effort.
Upstream has removed support for Android <= 10.
All our ports target older Android, so replace with the legacy version of this module.
@FlorentRevest FlorentRevest merged commit 0ab0e51 into AsteroidOS:master Apr 24, 2026
@casept
Copy link
Copy Markdown
Contributor Author

casept commented Apr 24, 2026

@FlorentRevest thanks for pushing this over the finish line.

@FlorentRevest
Copy link
Copy Markdown
Member

Thank you for doing 99% of the work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants