summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHolger Freyther <zecke@selfish.org>2008-01-22 08:08:37 +0000
committerHolger Freyther <zecke@selfish.org>2008-01-22 08:08:37 +0000
commit95d65bf80c917be7ec810dc18c0e7ff72a38e16c (patch)
treee3c0b29401ec5f01945d889e6da660785a101999
parent8fc769e4525e23f60abadddeff816708bf6d3be6 (diff)
packages/qt4/qt_packaging.inc: Attempt to package all possible plugins properly
-rw-r--r--packages/qt4/qt_packaging.inc97
1 files changed, 83 insertions, 14 deletions
diff --git a/packages/qt4/qt_packaging.inc b/packages/qt4/qt_packaging.inc
index 9b93c9a8ef..58b3e1314e 100644
--- a/packages/qt4/qt_packaging.inc
+++ b/packages/qt4/qt_packaging.inc
@@ -10,11 +10,15 @@ NONDEV_PACKAGES += "${QT_BASE_LIB}core4 ${QT_BASE_LIB}gui4 ${QT_BASE_LIB}network
${QT_BASE_NAME}-pixeltool ${QT_BASE_NAME}-dbus \
${QT_BASE_NAME}-plugins-accessible \
${QT_BASE_NAME}-plugins-codecs \
+ ${QT_BASE_NAME}-plugins-decorations \
${QT_BASE_NAME}-plugins-designer \
+ ${QT_BASE_NAME}-plugins-gfxdrivers \
+ ${QT_BASE_NAME}-plugins-mousedrivers \
+ ${QT_BASE_NAME}-plugins-iconengines \
${QT_BASE_NAME}-plugins-imageformats \
- ${QT_BASE_NAME}-plugins-sqldrivers \
${QT_BASE_NAME}-plugins-inputmethods \
- ${QT_BASE_NAME}-plugins-iconengines \
+ ${QT_BASE_NAME}-plugins-sqldrivers \
+ ${QT_BASE_NAME}-plugins-styles \
${QT_BASE_NAME}-fonts "
DEV_PACKAGES += "${QT_BASE_LIB}core4-dev \
@@ -46,7 +50,18 @@ DBG_PACKAGES += "${QT_BASE_LIB}core4-dbg \
${QT_BASE_LIB}assistantclient4-dbg \
${QT_BASE_LIB}script4-dbg \
${QT_BASE_LIB}dbus4-dbg \
- ${QT_BASE_LIB}opengl4-dbg "
+ ${QT_BASE_LIB}opengl4-dbg \
+ ${QT_BASE_NAME}-plugins-accessible-dbg \
+ ${QT_BASE_NAME}-plugins-codecs-dbg \
+ ${QT_BASE_NAME}-plugins-decorations-dbg \
+ ${QT_BASE_NAME}-plugins-designer-dbg \
+ ${QT_BASE_NAME}-plugins-gfxdrivers-dbg \
+ ${QT_BASE_NAME}-plugins-mousedrivers-dbg \
+ ${QT_BASE_NAME}-plugins-iconengines-dbg \
+ ${QT_BASE_NAME}-plugins-imageformats-dbg \
+ ${QT_BASE_NAME}-plugins-inputmethods-dbg \
+ ${QT_BASE_NAME}-plugins-sqldrivers-dbg \
+ ${QT_BASE_NAME}-plugins-styles-dbg"
PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}"
@@ -54,7 +69,7 @@ PACKAGES += "${DEV_PACKAGES} ${NONDEV_PACKAGES} ${DBG_PACKAGES}"
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = ""
FILES_${PN}-dev = " ${includedir}/${QT_DIR_NAME}/Qt/*"
-FILES_${PN}-dbg = "${bindir}/*/.debug ${libdir}/${QT_DIR_NAME}/plugins/*/.debug/*.so"
+FILES_${PN}-dbg = "${bindir}/*/.debug "
RDEPENDS_${PN} = "${NONDEV_PACKAGES}"
RDEPENDS_${PN}-dev = "${DEV_PACKAGES}"
RDEPENDS_${PN}-dbg = "${DBG_PACKAGES}"
@@ -111,14 +126,29 @@ FILES_${QT_BASE_LIB}opengl4-dev = "${@qt_default_dev('OpenGL')}"
FILES_${QT_BASE_LIB}opengl4-dbg = "${libdir}/.debug/libQtOpenGL*"
FILES_${QT_BASE_LIB}uitools4-dev = "${libdir}/libQtUiTools* ${includedir}/${QT_DIR_NAME}/QtUiTools* ${libdir}/pkgconfig/QtUiTools${QT_LIBINFIX}.pc"
-
-FILES_${QT_BASE_NAME}-plugins-accessible = "${libdir}/${QT_DIR_NAME}/plugins/accessible/*.so"
-FILES_${QT_BASE_NAME}-plugins-codecs = "${libdir}/${QT_DIR_NAME}/plugins/codecs/*.so"
-FILES_${QT_BASE_NAME}-plugins-designer = "${libdir}/${QT_DIR_NAME}/plugins/designer/*.so"
-FILES_${QT_BASE_NAME}-plugins-imageformats = "${libdir}/${QT_DIR_NAME}/plugins/imageformats/*.so"
-FILES_${QT_BASE_NAME}-plugins-sqldrivers = "${libdir}/${QT_DIR_NAME}/plugins/sqldrivers/*.so"
-FILES_${QT_BASE_NAME}-plugins-inputmethods = "${libdir}/${QT_DIR_NAME}/plugins/inputmethods/*.so"
-FILES_${QT_BASE_NAME}-plugins-iconengines = "${libdir}/${QT_DIR_NAME}/plugins/iconengines/*.so"
+# meta packages for the plugins
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-accessible = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-accessible-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-codecs = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-codecs-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-decorations = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-decorations-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-designer = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-designer-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-gfxdrivers = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-gfxdrivers-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-mousedrivers = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-mousedrivers-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-iconengines = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-iconengines-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-imageformats = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-imageformats-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-inputmethods = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-inputmethods-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-sqldrivers = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-sqldrivers-dbg = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-styles = "1"
+ALLOW_EMPTY_${QT_BASE_NAME}-plugins-styles-dbg = "1"
FILES_${QT_BASE_NAME}-assistant = "${bindir}/*assistant*"
FILES_${QT_BASE_NAME}-designer = "${bindir}/*designer*"
@@ -134,13 +164,52 @@ FILES_${QT_BASE_NAME}-fonts = "${libdir}/fonts"
python populate_packages_prepend() {
translation_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/translations/', d)
- translation_name = bb.data.expand('${QT_DIR_NAME}-translation-%s', d)
+ translation_name = bb.data.expand('${QT_BASE_NAME}-translation-%s', d)
do_split_packages(d, translation_dir, '^qt_(.*)\.qm$', translation_name, '{PN} translation for %s', extra_depends='' )
phrasebook_dir = bb.data.expand('${datadir}/${QT_DIR_NAME}/phrasebooks/', d)
- phrasebook_name = bb.data.expand('${QT_DIR_NAME}-phrasebook-%s', d)
+ phrasebook_name = bb.data.expand('${QT_BASE_NAME}-phrasebook-%s', d)
do_split_packages(d, phrasebook_dir, '^(.*)\.qph$', phrasebook_name, '{PN} phrasebook for %s', extra_depends='' )
+ # Package all the plugins and their -dbg version and create a meta package
+ import os
+ def qtopia_split(path, name, glob, meta_name):
+ """
+ Split the package into a normal and -dbg package and then add the
+ new packages to the meta package.
+ """
+ plugin_dir = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/' % path, d)
+ plugin_dir_dbg = bb.data.expand('${libdir}/${QT_DIR_NAME}/plugins/%s/.debug/' % path, d)
+ if not os.path.exists("%s%s" % (bb.data.expand('${D}',d), plugin_dir)):
+ bb.note("The path does not exist:", bb.data.expand('${D}', d), plugin_dir)
+ return
+
+ plugin_name = bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s' % name, d)
+ plugin_name_dbg= bb.data.expand('${QT_BASE_NAME}-plugin-%s-%%s-dbg' % name, d)
+ print plugin_name, plugin_name_dbg, glob
+
+ dev_packages = []
+ dev_hook = lambda a,pkg,b,c,d:dev_packages.append(pkg)
+ dbg_packages = []
+ dbg_hook = lambda a,pkg,b,c,d:dbg_packages.append(pkg)
+ do_split_packages(d, plugin_dir, glob, plugin_name, '{PN} %s for %%s' % name, extra_depends='', hook=dev_hook)
+ do_split_packages(d, plugin_dir_dbg, glob, plugin_name_dbg, '{PN} %s for %%s' % name, extra_depends='', hook=dbg_hook)
+
+ print meta_name, dev_packages, dbg_packages
+ bb.data.setVar("RDEPENDS_%s" % meta_name, " ".join(dev_packages), d)
+ bb.data.setVar("RDEPENDS_%s-dbg" % meta_name, " ".join(dbg_packages), d)
+
+ qtopia_split('accessible', 'accessible', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-accessible")
+ qtopia_split('codecs', 'codec', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-codecs")
+ qtopia_split('decorations', 'decoration', '^libqdecoration(.*)\.so$', "${QT_BASE_NAME}-plugins-decorations")
+ qtopia_split('designer', 'designer', '^lib(.*)\.so$', "${QT_BASE_NAME}-plugins-designer")
+ qtopia_split('gfxdrivers', 'gfxdriver', '^libqgfx(.*)\.so$', "${QT_BASE_NAME}-plugins-gfxdrivers")
+ qtopia_split('mousedrivers','mousedriver', '^libq(.*)mousedriver\.so$', "${QT_BASE_NAME}-plugins-mousedrivers")
+ qtopia_split('iconengines', 'iconengine', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-iconengines")
+ qtopia_split('imageformats','imageformat', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-imageformats")
+ qtopia_split('inputmethods','inputmethod', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-inputmethods")
+ qtopia_split('sqldrivers', 'sqldriver', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-sqldrivers")
+ qtopia_split('styles', 'style', '^libq(.*)\.so$', "${QT_BASE_NAME}-plugins-styles")
}