[yocto] Remove unwanted package from Qt

Eric Bénard eric at eukrea.com
Thu Jan 17 00:19:08 PST 2013


Hi Jon,

Le Wed, 16 Jan 2013 13:49:25 -0500,
Jon Szymaniak <jon.szymaniak at gmail.com> a écrit :
> I'm not doing anything too unusual for "installing" Qt. My recipes for
> my Qt application simply inherit qt4e, and list qt4-embedded in
> DEPENDS.
> 
"inherit qt4e" is enough, no need to add qt4-embedded to DEPENDS.

> The only place where I deviated a bit from the norm is that I use a
> qt4-embedded_4.8.3.bbappend to set up QT_CONFIG_FLAGS exactly as I
> want them, and to rm ${D}/usr/bin/qtopia. Below's my bbappend. I'd be
> interested to hear if there's a better way to clean out unneeded
> directories from a rootfs (in my case ${D}/usr/bin/qtopia).
> 
> DEPENDS = "qt4-tools-native freetype jpeg libpng zlib"
> 
> # Override provided recipe and configure Qt4 to...
> # - Disable irrelevant functionality and output
> # - Disable SQL Plugins
> # - Disable unused input/ouput
> # - Have keyboard input and mouse input via /dev/input/mice
> # - Have Linux framebuffer support
> # - Use QML (so we need the declarative engine)
> #
> # Note, some of these might be extraneous, and this is a work in progress.
> # (You've been warned!)
> QT_CONFIG_FLAGS = "\
>  -embedded ${QT_ARCH} -qtlibinfix ${QT_LIBINFIX} \
>  -release -no-rpath -reduce-relocations -shared -no-exceptions \
>  -no-mmx -no-3dnow -no-sse -no-sse2 -no-sse3 -no-sse4.1 -no-sse4.2 -no-avx \
>  -no-glib -no-largefile -no-accessibility -no-openssl -no-gtkstyle \
>  -no-xcursor -no-xinerama -no-phonon -no-phonon-backend -no-svg -no-webkit \
>  -no-libmng -no-accessibility -no-qt3support -no-xmlpatterns \
>  -no-audio-backend -no-gif -nomake examples -nomake demos -no-javascript-jit \
>  -no-nis -no-cups -no-declarative-debug \
>  -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc \
>  -no-sql-sqlite -no-sql-sqlite2 -no-sql-sqlite_symbian -no-sql-tds \
>  -no-xkb -no-kbd-tty -no-kbd-qnx -no-mouse-linuxinput \
>  -no-mouse-tslib -no-mouse-qnx -no-mouse-linuxtp \
>  -qt-mouse-pc -qt-kbd-linuxinput \
>  -qt-gfx-linuxfb -qt-gfx-multiscreen \
>  -depths 8,16,24,32 \
>  -declarative -script"
> 
> PRINC := "${@int(PRINC) + 1}"
> 
> # Despite not building them, qt4.inc creates /usr/bin/qtopia/ with
> # only demo/ and example/ underneath. Let's get rid of these...
> do_install_append() {
>     rm -rf ${D}/usr/bin/qtopia
> }

strange, demos and examples are packaged in ${QT_BASE_NAME}-demos and
${QT_BASE_NAME}-examples packages so if you find these directories on
your target, that means you requested qt4-embedded-demos and
qt4-embedded-examples to be installed in your image.

Are you installing packagegroup-core-qt4e in your image like in 
qt4e-demo-image ? If yes, that's where you pull demos & examples.

To get a minimal image, you could simply have :
IMAGE_INSTALL += "\
	${CORE_IMAGE_BASE_INSTALL} \
	you_qt_app \
	some qt4-embedded-fonts or qt4-embedded-plugin you may need
	(check packagegroup-core-qt4e.bb for the exact names) \
	"
inherit core-image

The Qt libraries your application is linked with will be automatically
installed and you won't get extra unwanted packages in your image.

Best regards,
Eric



More information about the yocto mailing list