[meta-freescale] [meta-fsl-demos][PATCH 1/2] qt-in-industrial-embedded-common: add init script for the smarthome demo

Mario Domenech Goulart mario at ossystems.com.br
Fri Jan 31 05:26:07 PST 2014


Hi Eric,

Sorry for taking so long to reply.  Please, see some comments below.

On Mon, 27 Jan 2014 17:41:37 -0700 Eric Nelson <eric.nelson at boundarydevices.com> wrote:

> On 01/17/2014 07:02 AM, Mario Domenech Goulart wrote:
>> Currently, qt-in-industrial-embedded starts no demo automatically when
>> installed.  This patch adds an init script so that the smarthome demo
>> can be automatically started on boot.
>>
>> Signed-off-by: Mario Domenech Goulart <mario at ossystems.com.br>
>> ---
>>   recipes-qt/qt-in-use/files/smarthome               |   37 ++++++++++++++++++++
>>   .../qt-in-use/qt-in-industrial-embedded-common.inc |   13 +++++--
>>   2 files changed, 48 insertions(+), 2 deletions(-)
>>   create mode 100644 recipes-qt/qt-in-use/files/smarthome
>>
>> diff --git a/recipes-qt/qt-in-use/files/smarthome b/recipes-qt/qt-in-use/files/smarthome
>> new file mode 100644
>> index 0000000..c0aa575
>> --- /dev/null
>> +++ b/recipes-qt/qt-in-use/files/smarthome
>> @@ -0,0 +1,37 @@
>> +#!/bin/sh
>> +
>> +set -e
>> +
>> +SMARTHOME="smarthome"
>> +SMARTHOME_ARGS="`[ -x '__BINDIR__/X' ] && echo '' || echo '-qws'`"
>> +
>> +case "$1" in
>> +  start)
>> +	echo "Starting $SMARTHOME"
>> +	if [ -f __SYSCONFDIR__/profile.d/tslib.sh ]; then
>> +		. __SYSCONFDIR__/profile.d/tslib.sh
>> +	fi
>> +	if [ -e "$TSLIB_TSDEVICE" ]; then
>> +		if [ ! -f __SYSCONFDIR__/pointercal ]; then
>> +			__BINDIR__/ts_calibrate
>> +		fi
>> +                QWS_MOUSE_PROTO=tslib:$TSLIB_TSDEVICE $SMARTHOME $SMARTHOME_ARGS &
>> +	else
>> +		$SMARTHOME $SMARTHOME_ARGS &
>> +	fi
>> +	;;
>> +  stop)
>> +	echo "Stopping $SMARTHOME"
>> +        killall $SMARTHOME
>> +	;;
>> +  restart)
>> +	$0 stop
>> +	$0 start
>> +	;;
>> +  *)
>> +	echo "usage: $0 { start | stop | restart }" >&2
>> +	exit 1
>> +	;;
>> +esac
>> +
>> +exit 0
>> diff --git a/recipes-qt/qt-in-use/qt-in-industrial-embedded-common.inc b/recipes-qt/qt-in-use/qt-in-industrial-embedded-common.inc
>> index ea4feef..ad879c5 100644
>> --- a/recipes-qt/qt-in-use/qt-in-industrial-embedded-common.inc
>> +++ b/recipes-qt/qt-in-use/qt-in-industrial-embedded-common.inc
>> @@ -1,10 +1,12 @@
>>   DESCRIPTION = "Demos from the industrial embedded segment"
>>
>> -inherit autotools
>> +inherit autotools update-rc.d
>>
>>   PV = "0.0+gitr${SRCPV}"
>>   SRCREV = "4b10cbfd32391c83251bbc61520eeab03461db0a"
>> -SRC_URI = "git://gitorious.org/qt-in-use/qt-in-industrial-embedded.git"
>> +SRC_URI = "git://gitorious.org/qt-in-use/qt-in-industrial-embedded.git \
>> +           file://smarthome \
>> +          "
>>
>>   PR = "r3"
>>
>> @@ -18,6 +20,10 @@ do_configure_prepend() {
>>   do_install_append () {
>>       # Set the correct smarthome binary path
>>       sed -i -e 's:Exec=.*:Exec=${bindir}/smarthome:g' ${D}${datadir}/applications/smarthome.desktop
>
> This should only be installed when not using X, right?

I'm not sure.  I actually haven't touched that recipe part.


>> +
>> +    install -d ${D}${sysconfdir}/init.d
>> +    install -m 755 ${WORKDIR}/smarthome ${D}${sysconfdir}/init.d/
>> +    sed -i -e 's:__BINDIR__:${bindir}:g; s:__SYSCONFDIR__:${sysconfdir}:g' ${D}${sysconfdir}/init.d/smarthome
>>   }
>>
>
> When testing using fsl-image-gui on the master branch today, I
> immediately got a ts_calibrate prompt on my HDMI monitor, which was
> frustrating since it doesn't happen to have a touch screen.
>
> Please advise,

It seems that packagegroup-core-tools-testapps is dragging
tslib-calibrate into the image (via RDEPENDS).
packagegroup-core-tools-testapps is added to the image because
fsl-image-gui.bb has

    SOC_EXTRA_IMAGE_FEATURES ?= "tools-testapps"

    EXTRA_IMAGE_FEATURES += " \
       ${SOC_EXTRA_IMAGE_FEATURES} \
       ...

The "tools-testapps" feature makes core-image.bbclass add
packagegroup-core-tools-testapps to the image.

To work around that, you can add

   EXTRA_IMAGE_FEATURES_remove = "tools-testapps"

to local.conf.  However, a bunch of other packages will be removed from
the image (don't know if they are relevant for your purposes, though --
they sould be "testapps").

I suppose packagegroup-core-tools-testapps should check for
"touchscreen" in MACHINE_FEATURES to avoid the dependency on tslib for
boards that don't have touch devices.

Best wishes.
Mario
-- 
http://www.ossystems.com.br


More information about the meta-freescale mailing list