diff options
Diffstat (limited to 'meta-agl-profile-graphical-html5/recipes-openivi')
3 files changed, 109 insertions, 0 deletions
diff --git a/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service new file mode 100644 index 000000000..2c8648475 --- /dev/null +++ b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.service @@ -0,0 +1,16 @@ +[Unit] +Description=HTML5 runtime for OpenIVI Mobility applications +Requires=afm-user-daemon.service InputEventManager.service +After=afm-user-daemon.service InputEventManager.service +ConditionKernelCommandLine=!agl.nogfx + +[Service] +Type=dbus +BusName=org.agl.openivi +ExecStart=/usr/bin/openivi-html5.sh +Restart=on-failure +RestartSec=5 +TimeoutStopSec=1 + +[Install] +WantedBy=default.target diff --git a/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh new file mode 100644 index 000000000..a318214ad --- /dev/null +++ b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5/openivi-html5.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +if test -z "$XDG_CONFIG_DIRS"; then + export XDG_CONFIG_DIRS=/etc/xdg/ +fi + +if test -z "$XDG_RUNTIME_DIR"; then + export XDG_RUNTIME_DIR=/run/user/$UID + mkdir --parents $XDG_RUNTIME_DIR + chmod 0700 $XDG_RUNTIME_DIR +fi + +# Default homescreen +HOMESCREEN=/usr/share/openivi/example/cluster/index.html + +# Read configuration +HOMESCREEN_CONFIG=$XDG_CONFIG_DIRS/openivi-html5/openivi-html5.ini +if [ -e "$HOMESCREEN_CONFIG" ] ; then + HTML=`sed -n '/^homescreen=\(.*\)$/s//\1/p' < $HOMESCREEN_CONFIG` + if [ -n "$HTML" ] ; then + HOMESCREEN=$HTML + fi +fi + +#the following value shall be modified for your display side +SCREEN_W=1080 +SCREEN_H=1920 + +# Demo is configured to FullHD +QT_W=1080 +QT_H=1920 + +QT_IVI_SURFACE_ID=4194304 QT_WAYLAND_SHELL_INTEGRATION=ivi-shell /usr/bin/openivi-html5 -f -u $HOMESCREEN & + +# qmlscene create 2 surfaces +# 0x80000000 : for off screen buffer ? +# 0x80000001 : visible +# +SURFACE_ID_QML=0x80000001 + +# +# layer-add-surfaces wait till 2 surfaces are created. +# +layer-add-surfaces 1000 2 + +/usr/bin/LayerManagerControl set surface $SURFACE_ID_QML destination region 0 0 $SCREEN_W $SCREEN_H +/usr/bin/LayerManagerControl set surface $SURFACE_ID_QML source region 0 0 $QT_W $QT_H +/usr/bin/LayerManagerControl set layer 1000 render order $SURFACE_ID_QML +/usr/bin/LayerManagerControl set surfaces $SURFACE_ID_QML input focus keyboard +/usr/bin/LayerManagerControl set screen 0 render order 1000 diff --git a/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5_git.bb b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5_git.bb new file mode 100644 index 000000000..168b98c78 --- /dev/null +++ b/meta-agl-profile-graphical-html5/recipes-openivi/openivi-html5/openivi-html5_git.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "OpenIVI Mobility HTML5 environment" +HOMEPAGE = "https://openivimobility.github.io/" +SECTION = "base" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4641e94ec96f98fabc56ff9cc48be14b" +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SRC_URI = " \ + git://github.com/openivimobility/openivi-html5.git;branch=master;tag=0b370eea8c7c852365bd717013a523b678abbdba \ + file://openivi-html5.sh \ + file://openivi-html5.service \ +" + +inherit pkgconfig cmake_qt5 externalsrc systemd +PV = "0.1" + +S = "${WORKDIR}/git" + +RDEPENDS_${PN} = "qtbase qtwebkit inputeventmanager windowmanager" +DEPENDS = "qtbase-native qtbase qtwebkit" + +EXTRA_OECMAKE = " -DCMAKE_DISABLE_FIND_PACKAGE_X11=TRUE " + +FILES_${PN} = "/usr/bin/openivi-html5 /usr/share/openivi/*" + +do_install() { + install -d ${D}${bindir} + install -m 0755 openivi-html5 ${D}${bindir} + + install -d ${D}${datadir}/openivi/ + cp -r ${S}/example ${D}${datadir}/openivi/ + + install -p -D ${WORKDIR}/openivi-html5.sh ${D}${bindir}/openivi-html5.sh + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${systemd_user_unitdir} + install -p -D ${WORKDIR}/openivi-html5.service ${D}${systemd_user_unitdir}/openivi-html5.service + install -d ${D}${sysconfdir}/systemd/user/default.target.wants + ln -sf ${systemd_user_unitdir}/openivi-html5.service ${D}${sysconfdir}/systemd/user/default.target.wants + fi +} + +FILES_${PN} += " ${prefix}/bin/openivi-html5.sh ${systemd_user_unitdir} ${sysconfdir}" |