Hi! This is going to be a long email, so let us start with a executive summary: split off libqtdbus and libqtscript from libqt4-core and rename libqt4-core keep libqt4-gui rework libqt4-sql entirely to make it plugin based split -dev package.
And the real report: several times, different requests for splitting qt4 into pieces have been made. I find many of them kind of reasonable - and especially when qt4 becomes more and more popular. A couple of example use cases: John have found it quite easy to write a small network service using qt. He would like to deploy it on some small device, so he would like to only have around what he actually needs: libQtCore && libQtNetwork. With current packaging, he also needs to install dbus, a xml parser and other similar thintgs Brian wants to have a set of cross platform command line utilities, so he writes a set of utils using qt. He only uses QtCore, as he needs no network, no Xml, no anything. Joanne does small graphical apps, like a image viewer and text viewer. In order to have her programs installed, only parts of qt that is needed is QtCore and QtGui. no Xml, no openGL, no SVG, ... But enough bullshit. let us look at some numbers: libQtCore is used by all packages - and have a set of external dependencies. libQtCore is 1.5M big libQtXml has the same set of external dependencies as libQtCore and is 350K big. No need to split this out unless we care for 350K libQtNetwork has the same set of external dependencies as libQtCore and is 575 K big. No need to split this out unless we care for 575K (we might do that) libQtScript has same set of external dependences and is 1 mb big. I think we should care for 1mb. I don't yet know what uses this. libQtDBus has same set of external dependencies as QtCore + QtXml + libdbus. Libdbus + libQtDBus is around 1 mb of extra space and isn't used for quite many things. libQtTest has same set external dependencies as QtCore. is 56k big. no need to talk about that. This is libqt4-core package. libQtGui is used by all gui libraries. libQtSvg has the same external dependencies as QtGui. Internally it also pulls in QtXml. libQtSvg is 275K big. libQtOpenGL pulls quite some more dependencies in compared to QtGui (libGL, libGLU, libXdamage, libXxf86vm,libdrm) - but I guess most people still have those installed. QtOpenGL is 500k big Is libQtDesigner, libQtDesignerComponents, libQtAssistantClient anything but private libraries of designer and assistant ? and shouldn't they be around them? libQt3Support fits nicely in its own package libQtSql: pulls in all sorts of evilness. and I still don't think we support everything. we build in the support for postgresql, mysql, sqlite and sqlite 2. All this can be as modular packages so people don't have to pull in postgresql to get mysqlsupport and the other way around. This way, we could also support firebird and odbc and for completeness: QtWebkit is 10 mb big - and pulls in Gui, Network, XMl - and libsqlite. And for the -dev stuff. Several people would like to have the possibility to not pull in everything in order to do development. especially the huge QtSql module has had some complaints. Some people would also like qmake in a special package. A split like the following: libqt4-dev: empty meta package depending on the following libqt4-gui-dev: gui dev stuff libqt4-core-dev: core dev stuff (could also contain the dev stuff for the libraries gets splitted off) libqt4-sql-dev: sql stuff. I guess we should put qmake either in its own package - or among the core dev stuff. I would like to not have qmake in a seperate package, as it kind of encourages people to use it for anything - while it is only a nice tool for qt development. Things to make sure to consider: a package called libqt4-core cannot contain any less functionality than libqt4-core does today. that means we have to rename the package if we split stuff off. similar for all other packages. there might be a abi breakage on mips in qt4.4, so we might need a package name change here anyway. Recomendations: Take libqt4-core, split off libqtscript4 and libqtdbus4 to its own packages and rename libqt4-core to libqtcore4 keep libqt4-gui as is rework libqt4-sql to make it plugin based, which it supports and enable the rest of the avilable database connectors split libqt4-dev, but keep libqt4-dev as a meta package. (move some translations and other data files to correct packagages - translations for assistant is in -core for example) /Sune -- I cannot uninstall on a LCD connector on the mouse from Internet Explorer NT, how does it work? You should turn on a attachment for logging in a gadget.
signature.asc
Description: This is a digitally signed message part.
-- http://lists.alioth.debian.org/mailman/listinfo/pkg-kde-talk