Bug 201617 - qt3support is required to build kde4; please could that dep be dropped
Summary: qt3support is required to build kde4; please could that dep be dropped
Status: REOPENED
Alias: None
Product: keditbookmarks
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Unspecified
: NOR wishlist
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-27 05:12 UTC by Tony White
Modified: 2013-07-12 18:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tony White 2009-07-27 05:12:51 UTC
Version:            (using KDE 4.2.4)
Installed from:    Compiled From Sources

If I compile qt 4.5.2 with -no-qt3support I see kdebase error out with stuff like :

/kdebase-4.2.4/apps/keditbookmarks/main.cpp:23:

/kdebase-4.2.4/apps/keditbookmarks/toplevel.h:23:23: error: k3command.h: No such file or directory

/kdebase-4.2.4/apps/keditbookmarks/toplevel.h:57: error: 'K3Command' has not been declared

make[2]: *** [apps/keditbookmarks/CMakeFiles/kdeinit_keditbookmarks.dir/main.o] Error 1
make[1]: *** [apps/keditbookmarks/CMakeFiles/kdeinit_keditbookmarks.dir/all] Error 2
make: *** [all] Error 2


Please try to build qt 4.5.2 with the -no-qt3support then build kde 4 against it to reproduce.
Does kde 4 really still need to depend on parts of qt3 and is it not a reasonable to request that any need of kde 4's to depend on qt3support is removed?
Comment 1 Pino Toscano 2009-07-27 09:50:25 UTC
> Does kde 4 really still need to depend on parts of qt3 [...]

The name "Qt3Support" is misleading, and it does not mean "Qt3" per se, but "classes which provide an api similar to Qt3". But Qt3Support is a valid Qt4 library, just like QtCore or QtNetwork.
Comment 2 Tony White 2009-07-27 14:08:56 UTC
I'm sure my comment reads "Does kde 4 really still need to depend on parts of qt3?" Parts being the important part of the wording.
Please see :
http://doc.trolltech.com/4.0/porting4.html

I'll change the wish request wording to this :

Please stop linking against the Qt 3 support library (Qt3Support) and take advantage of Qt 4's new features.

(It was probably unclear above.)
Comment 3 David Faure 2009-11-17 12:14:23 UTC
Ironically, we don't even use Qt3Support in keditbookmarks, only K3Command from kde3support. (That class itself doesn't use qt3support, but the rest of kde3support does...)
Somewhen I'll have a look at porting away from good old K3Command...
Comment 4 Tony White 2009-11-17 14:52:15 UTC
Needless to say, there may be other stuff that was ported over from kde3 to to kde4 in the other kde apps and libs in the kde tree which used Qt3Support classes to port over faster. If not, that's a testament to how much work you guys have done and how far kde has come!
Now that kde is stable. The porting from qt3 has been done, new features are being added and less important things are on the proposed feature list, a global sweep of all the kde code to move away from Qt3Support would be a very nice step towards the future. By that I mean qt5, kde5, etc.
I'm not a qt dev but if I was creating a qt5 tree, Qt3Support wouldn't be in it.
-no-qt3support also results in a very slightly smaller and faster to compile qt4 library too.

If I understood how to code using qt better I would offer patches. I am still learning, however.
Comment 5 David Faure 2009-11-17 16:35:10 UTC
SVN commit 1050540 by dfaure:

Port from K3Command/K3CommandHistory to QUndoCommand/KUndoStack so that this doesn't need kde3support anymore.
Fixed for: 4.4.0
BUG: 201617


 M  +2 -1      CMakeLists.txt  
 M  +3 -3      actionsimpl.cpp  
 M  +12 -11    bookmarkinfo.cpp  
 M  +1 -0      bookmarkmodel.cpp  
 A             commandhistory.cpp   [License: GPL (v2/3)]
 A             commandhistory.h   [License: GPL (v2/3)]
 M  +115 -95   commands.cpp  
 M  +33 -56    commands.h  
 M  +23 -14    importers.cpp  
 M  +14 -19    importers.h  
 M  +1 -1      main.cpp  
 M  +5 -65     toplevel.cpp  
 M  +3 -28     toplevel.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1050540
Comment 6 Tony White 2009-11-17 17:16:32 UTC
Nice! :)

I wonder if the developers of next part of kde that fails to build against -no-qt3support (If there anything else) Will be so kind...
Comment 7 David Faure 2009-11-17 21:42:15 UTC
I wanted to reply, well, file a bug about the next problem.
But then I grepped for "3SUPPORT"...

apps/kinfocenter/samba/CMakeLists.txt
apps/konqueror/settings/kio/CMakeLists.txt
apps/konqueror/sidebar/trees/bookmark_module/CMakeLists.txt
apps/konqueror/sidebar/trees/CMakeLists.txt
apps/konqueror/sidebar/trees/dirtree_module/CMakeLists.txt
runtime/khelpcenter/CMakeLists.txt
runtime/kioslave/smb/CMakeLists.txt
runtime/knetattach/CMakeLists.txt
runtime/kpasswdserver/CMakeLists.txt
workspace/kcontrol/kthememanager/CMakeLists.txt
workspace/kcontrol/screensaver/CMakeLists.txt
workspace/kmenuedit/CMakeLists.txt
workspace/kwin/kcmkwin/kwindecoration/CMakeLists.txt

apps/konqueror/sidebar/trees is definitely on my list (after 4.4.0), maybe settings/kio, and maybe kpasswdserver (just a q3ptrlist), but for the rest, help from more people are needed... And we don't have a maintainer for most of these things :(

I'll reopen the bug then, until all the above is ported.
CC'ing ossi for the K3Process in kioslave/smb.
Comment 8 Oswald Buddenhagen 2010-03-18 17:30:44 UTC
SVN commit 1104792 by ossi:

kde3support--

this code is actually pretty useless (and consequently untested), as
using it would require reviving the smbmounter konq-plugin (go to
extragear/base/konq-plugins/smbmounter and run "svn merge -c -389803 .",
then port to qt4 ...).

CCBUG: 201617


 M  +1 -1      CMakeLists.txt  
 M  +0 -6      kio_smb.h  
 M  +19 -35    kio_smb_mount.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1104792