Search This Blog

Monday, October 24, 2011

Plasma NM: libnm-qt working

I thought it would take me more time to make Plasma NM work with libnm-qt :-) I have just commited the last bugs fixes for the bugs I have found so far and Plasma NM/libnm-qt works. There are no visual changes, so there is no point in showing a screenshot :-P

Updating my post about the work to port Plasma NM to NM-0.9 we have:

  1. Create the new Solid's NM-0.9 backend outside kde-workspace repository so that we could change it freely without KDE's freature freeze/ABI restrictions. (DONE)
  2. Make it compile against NM-0.8.999. (DONE)
  3. Remove #ifdef COMPILE_MODEM_MANAGER_SUPPORT and #ifdef NM_0_8 from the source code. (DONE)
  4. Make everything compile/work when the old NM-0.7 backend from KDE SC 4.{6,7} is installed. (DONE)
  5. Create code to import existing NM-0.8 connections to NM-0.9. (DONE)
  6. Make it really work with NM0-0.9.0. (DONE)
  7. First Plasma NM release. (DONE)
  8. Convert code to use libnm-qt instead of Solid::Control::*Nm09. (DONE)
  9. Finish to implement libnm-qt and libmm-qt. (DONE)
  10. Apply usability changes. (IN PROGRESS)
  11. Implement the new interface types: LTE, Wimax and OlpcMesh. (IN PROGRESS)
  12. Fix "paper cuts" bugs (IN PROGRESS)
  13. Improve VPN support. (TO BE DONE)
  14. Improve support for Pppoe (DONE), Cdma and IPv6. (TO BE DONE)
  15. Improve notifications support. Hmm after some thoughts and testing I honestly do not know how to improve it. (TO BE DONE)
  16. Implement automatic proxy re-configuration. I think this should be done in NM itself to make it work with system connections and with non-KDE programs, such as Firefox, Chromium, Opera, etc. (UPSTREAM)
  17. Implement option to run scripts before and after connection's (de)activation like in WICD. I think this should be done in NM itself so that it works with system connection. (UPSTREAM)
Libnm-qt works very well in my notebook, it can be considered stable now. I may release Plasma NM 0.9.0 final (no libnm-qt) probably next week if no other important bug appears. Talking about bugs, yesterday I fixed the last crash bug assigned to Plasma NM in bugs.kde.org. Now we only have one major bug (related to importing old settings from Plasma NM for NM-0.8), several normal bugs and wishes.

None of the remaining 27 bugs are related to crashes and they are mostly wishes, so please, distributions, use Plasma NM 0.8.95 instead of shipping outdated Plasma NM versions full of bugs that were fixed months ago. I also need more people testing the three releases I already made. Of course 0.8.95 is the most important one, so report bugs in 0.8.95 so that I can release a really rock solid Plasma NM 0.9.0.

9 comments:

Anonymous said...

Will 0.9.0 be based on libnm-qt/libmm-qt (ie master) or what is currently in the nm09 branch?

Lamarque said...

Plasma NM 0.9.0 == branch nm09 (no libnm-qt)
Plasma NM 0.9.1 == branch master (with libnm-qt)

Maxim Levitsky said...

Thank you so much! Your NM applet really rocks.

Anonymous said...

Thanks a lot! Just installed a fresh KDE yesterday and was so happily surprised by the NM applet, hasn't happened for me in a long time to have a working and useful network applet... Rock on!

alexxy said...

Hi!

Seems libnm-qt should be linked with libmm-qt othewise it builds but it has unresolved symbols


$ ldd -r /usr/lib64/libnm-qt.so
linux-vdso.so.1 => (0x00007fff45585000)
libQtDBus.so.4 => /usr/lib64/qt4/libQtDBus.so.4 (0x00007f7fa33c7000)
libQtNetwork.so.4 => /usr/lib64/qt4/libQtNetwork.so.4 (0x00007f7fa308d000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/libstdc++.so.6 (0x00007f7fa2d83000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7fa2b6d000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7fa27e8000)
libQtXml.so.4 => /usr/lib64/qt4/libQtXml.so.4 (0x00007f7fa25a4000)
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4 (0x00007f7fa2119000)
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007f7fa1edd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7fa1cc0000)
libz.so.1 => /lib64/libz.so.1 (0x00007f7fa1aaa000)
libm.so.6 => /lib64/libm.so.6 (0x00007f7fa1828000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7fa390c000)
libgthread-2.0.so.0 => /usr/lib64/libgthread-2.0.so.0 (0x00007f7fa1622000)
librt.so.1 => /lib64/librt.so.1 (0x00007f7fa141a000)
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f7fa10fa000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7fa0ef5000)
undefined symbol: _ZN12ModemManager24ModemGsmNetworkInterface16staticMetaObjectE (/usr/lib64/libnm-qt.so)
undefined symbol: _ZN12ModemManager21ModemGsmCardInterface16staticMetaObjectE (/usr/lib64/libnm-qt.so)
undefined symbol: _ZN12ModemManager8notifierEv (/usr/lib64/libnm-qt.so)
undefined symbol: _ZN12ModemManager15modemInterfacesEv (/usr/lib64/libnm-qt.so)
undefined symbol: _ZNK12ModemManager14ModemInterface6driverEv (/usr/lib64/libnm-qt.so)
undefined symbol: _ZNK12ModemManager14ModemInterface3udiEv (/usr/lib64/libnm-qt.so)
undefined symbol: _ZN12ModemManager18findModemInterfaceERK7QStringNS_14ModemInterface16GsmInterfaceTypeE (/usr/lib64/libnm-qt.so)

Lamarque said...

@Maxim Levitsky, thanks.

@alexxy, problem fixed. You will have to delete the old libmm-qt and libnm-qt and install them again. Thanks for reporting the bug.

alexxy said...

Yep. Thanks

Gentoo packages for master branch of networkmanagment and libmm-qt/libnm-qt available via kde overlay =D

Anonymous said...

Nice work!

Your posts appear so often at PK that at one point in time I completely stopped paying attention to them. :) But now I realized that you're constantly doing bugfixes, and effectively maintaining NM-KDE alone. Given the amount of work you do, you could well request communtity (or crowd-) funding, the same way Sebastian Trueg has done. I mean, NM is no less important than desktop search.

Lamarque said...

Well, I already have a donation button in my blog. The button works, I have already received some donations. I just have not advertised the donation button anywhere :-)