From 8c5af66bcf4b6d97061a25e238215f4130c7ed05 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Fri, 14 Aug 2015 11:28:26 +0300 Subject: bootfs: make sure deploy dir exists before using it Change-Id: I70c8b9d41c3c67b83cf2b4200803c9d71ce93d52 Reviewed-by: aavit --- classes/bootfs-image.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/classes/bootfs-image.bbclass b/classes/bootfs-image.bbclass index ccc995f..39c696d 100644 --- a/classes/bootfs-image.bbclass +++ b/classes/bootfs-image.bbclass @@ -42,6 +42,7 @@ fakeroot do_bootfs () { cd ${S}/bootfs rm -f ${DEPLOY_DIR_IMAGE}/${BOOTFS_NAME}.tar.gz ${DEPLOY_DIR_IMAGE}/${BOOTFS_LINK_NAME}.tar.gz + mkdir -p ${DEPLOY_DIR_IMAGE} tar czvf ${DEPLOY_DIR_IMAGE}/${BOOTFS_NAME}.tar.gz . ln -s ${BOOTFS_NAME}.tar.gz ${DEPLOY_DIR_IMAGE}/${BOOTFS_LINK_NAME}.tar.gz } -- cgit v1.2.3-54-g00ecf From f209dead7d9419b457e8db89662a16ff26939867 Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Fri, 20 Feb 2015 13:43:24 +0200 Subject: kontron: Add support for Kontron SMARC-sARX6i Enable building b2qt image for Kontron SMARC-sARX6i. Depends on the patch set from Kontron on top of meta-fsl-arm-extra. Kontron does not provide recipe for their u-boot, which makes it impossible to boot into b2qt image without modifying some of the u-boot args currently in the device (that's how their images work as well). Change-Id: Id3e0ee506c192fd0b969d1541fca0e9e2ff3ac6b Reviewed-by: aavit --- b2qt-init-build-env | 2 +- conf/distro/include/smarc-samx6i.conf | 46 +++++++++++++++++++++++++++++++++++ scripts/setup-environment.sh | 2 +- 3 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 conf/distro/include/smarc-samx6i.conf diff --git a/b2qt-init-build-env b/b2qt-init-build-env index 2dfed01..0ccd952 100755 --- a/b2qt-init-build-env +++ b/b2qt-init-build-env @@ -88,7 +88,7 @@ get_groups() { apalis-imx6|colibri-imx6|colibri-vf) PROJECT_GROUPS="toradex" ;; - imx53qsb|imx6qsabresd|imx6dlsabresd|nitrogen6x) + imx53qsb|imx6qsabresd|imx6dlsabresd|nitrogen6x|smarc-samx6i) PROJECT_GROUPS="fsl" ;; tibidabo) diff --git a/conf/distro/include/smarc-samx6i.conf b/conf/distro/include/smarc-samx6i.conf new file mode 100644 index 0000000..8e69ac8 --- /dev/null +++ b/conf/distro/include/smarc-samx6i.conf @@ -0,0 +1,46 @@ +############################################################################# +## +## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +include conf/distro/include/imx6.inc + +KERNEL_IMAGETYPE = "uImage" + +BOOTFS_CONTENT = " " + +MACHINE_EXTRA_INSTALL = "\ + libgal-mx6 \ + libegl-mx6 \ + libgles2-mx6 \ + ${@base_contains("DISTRO_FEATURES", "gstreamer010", "gst-fsl-plugin", "", d)} \ + ${@base_contains("DISTRO_FEATURES", "gstreamer", "gstreamer1.0-plugins-imx-meta", "", d)} \ + kernel-devicetree \ + " + +MACHINE_EXTRA_INSTALL_SDK = " \ + libgal-mx6 \ + libegl-mx6 \ + libegl-mx6-dev \ + libgles2-mx6 \ + libgles2-mx6-dev \ + " + +KERNEL_MODULE_AUTOLOAD += "mxc_v4l2_capture" diff --git a/scripts/setup-environment.sh b/scripts/setup-environment.sh index ce593c6..683f19f 100755 --- a/scripts/setup-environment.sh +++ b/scripts/setup-environment.sh @@ -52,7 +52,7 @@ if [ ! -f ${PWD}/${BUILDDIRECTORY}/conf/bblayers.conf ]; then apalis-imx6|colibri-imx6|colibri-vf) LAYERSCONF="bblayers.conf.toradex.sample" ;; - imx53qsb|imx6qsabresd|imx6dlsabresd|nitrogen6x) + imx53qsb|imx6qsabresd|imx6dlsabresd|nitrogen6x|smarc-samx6i) LAYERSCONF="bblayers.conf.fsl.sample" ;; tibidabo) -- cgit v1.2.3-54-g00ecf From 17dd65fe3e5774a5c55124d169646e87d86dbce1 Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 19 Aug 2015 09:59:51 +0300 Subject: Add touch_frame events to Weston 1.5.0 Otherwise no Qt applications react on touch. This issue was eventually resolved upstream by dropping the built-in evdev backend and relying on libinput exclusively, where it is fixed. The libinput backend is required since Weston 1.7. In 1.6 the libinput backend was made the default, but the old backend was still there. Thus this fix also applies to Weston 1.6. Task-number: QTEE-831 Change-Id: Ib089136723b7b1dc6f760b5eedb12d7b8a50abbc Reviewed-by: Laszlo Agocs --- ...es-made-in-libinput-src-evdev.c-for-touch.patch | 65 ++++++++++++++++++++++ recipes/wayland/weston_1.%.bbappend | 27 +++++++++ 2 files changed, 92 insertions(+) create mode 100644 recipes/wayland/weston/0001-Adapt-changes-made-in-libinput-src-evdev.c-for-touch.patch create mode 100644 recipes/wayland/weston_1.%.bbappend diff --git a/recipes/wayland/weston/0001-Adapt-changes-made-in-libinput-src-evdev.c-for-touch.patch b/recipes/wayland/weston/0001-Adapt-changes-made-in-libinput-src-evdev.c-for-touch.patch new file mode 100644 index 0000000..1bb9253 --- /dev/null +++ b/recipes/wayland/weston/0001-Adapt-changes-made-in-libinput-src-evdev.c-for-touch.patch @@ -0,0 +1,65 @@ +From c4633014fff25d32926129a8b028124c6338bb2b Mon Sep 17 00:00:00 2001 +From: Louai Al-Khanji +Date: Wed, 19 Aug 2015 09:04:46 +0300 +Subject: [PATCH 1/1] Adapt changes made in libinput/src/evdev.c for touch + frame emission. + +--- + src/evdev.c | 27 +++++++++++++++++++++++++++ + 1 file changed, 27 insertions(+) + +diff --git a/src/evdev.c b/src/evdev.c +index 888dfbd..daa5d72 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -359,12 +359,36 @@ evdev_process_absolute(struct evdev_device *device, + } + } + ++static inline int ++evdev_need_touch_frame(struct evdev_device *device) ++{ ++ if (!(device->seat_caps & EVDEV_SEAT_TOUCH)) ++ return 0; ++ ++ switch (device->pending_event) { ++ case EVDEV_NONE: ++ case EVDEV_RELATIVE_MOTION: ++ break; ++ case EVDEV_ABSOLUTE_MT_DOWN: ++ case EVDEV_ABSOLUTE_MT_MOTION: ++ case EVDEV_ABSOLUTE_MT_UP: ++ case EVDEV_ABSOLUTE_TOUCH_DOWN: ++ case EVDEV_ABSOLUTE_TOUCH_UP: ++ case EVDEV_ABSOLUTE_MOTION: ++ return 1; ++ } ++ ++ return 0; ++} ++ + static void + fallback_process(struct evdev_dispatch *dispatch, + struct evdev_device *device, + struct input_event *event, + uint32_t time) + { ++ int need_frame = 0; ++ + switch (event->type) { + case EV_REL: + evdev_process_relative(device, event, time); +@@ -376,7 +400,10 @@ fallback_process(struct evdev_dispatch *dispatch, + evdev_process_key(device, event, time); + break; + case EV_SYN: ++ need_frame = evdev_need_touch_frame(device); + evdev_flush_pending_event(device, time); ++ if (need_frame) ++ notify_touch_frame(device->seat); + break; + } + } +-- +2.1.4 + diff --git a/recipes/wayland/weston_1.%.bbappend b/recipes/wayland/weston_1.%.bbappend new file mode 100644 index 0000000..c3aa184 --- /dev/null +++ b/recipes/wayland/weston_1.%.bbappend @@ -0,0 +1,27 @@ +############################################################################# +## +## Copyright (C) 2015 Digia Plc and/or its subsidiary(-ies). +## +## This file is part of the Qt Enterprise Embedded Scripts of the Qt +## framework. +## +## $QT_BEGIN_LICENSE$ +## Commercial License Usage Only +## Licensees holding valid commercial Qt license agreements with Digia +## with an appropriate addendum covering the Qt Enterprise Embedded Scripts, +## may use this file in accordance with the terms contained in said license +## agreement. +## +## For further information use the contact form at +## http://www.qt.io/contact-us. +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI_append = " \ +file://0001-Adapt-changes-made-in-libinput-src-evdev.c-for-touch.patch \ +" + -- cgit v1.2.3-54-g00ecf From 08d414d1e8751fa40ca8f6aa993b3ffc2b35cbeb Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Thu, 20 Aug 2015 09:28:53 +0300 Subject: ca-certificates: update to latest version Use recipes from poky/master to get latest versions for ca-certificates. Old certificates were causing problems with webengine. The patch removing usage of c_rehash was not included, as we don't use it. Change-Id: I099bed36de9cfa3f78d8e8ca0b6e1f7c30c6c16e Reviewed-by: aavit --- ...ertificates-don-t-use-Debianisms-in-run-p.patch | 30 ++++++++ .../0002-update-ca-certificates-use-SYSROOT.patch | 46 +++++++++++++ .../ca-certificates/default-sysroot.patch | 50 ++++++++++++++ .../ca-certificates/ca-certificates/sbindir.patch | 20 ++++++ .../ca-certificates/ca-certificates_20150426.bb | 80 ++++++++++++++++++++++ 5 files changed, 226 insertions(+) create mode 100644 recipes/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch create mode 100644 recipes/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch create mode 100644 recipes/ca-certificates/ca-certificates/default-sysroot.patch create mode 100644 recipes/ca-certificates/ca-certificates/sbindir.patch create mode 100644 recipes/ca-certificates/ca-certificates_20150426.bb diff --git a/recipes/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch b/recipes/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch new file mode 100644 index 0000000..4b4b287 --- /dev/null +++ b/recipes/ca-certificates/ca-certificates/0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch @@ -0,0 +1,30 @@ +ca-certificates is a package from Debian, but some host distros such as Fedora +have a leaner run-parts provided by cron which doesn't support --verbose or the + -- separator between arguments and paths. + +This solves errors such as + +| Running hooks in [...]/rootfs/etc/ca-certificates/update.d... +| [...]/usr/sbin/update-ca-certificates: line 194: Not: command not found + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton +--- + sbin/update-ca-certificates | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +Index: git/sbin/update-ca-certificates +=================================================================== +--- git.orig/sbin/update-ca-certificates ++++ git/sbin/update-ca-certificates +@@ -191,9 +191,7 @@ if [ -d "$HOOKSDIR" ] + then + + echo "Running hooks in $HOOKSDIR..." +- VERBOSE_ARG= +- [ "$verbose" = 0 ] || VERBOSE_ARG="--verbose" +- eval run-parts "$VERBOSE_ARG" --test -- "$HOOKSDIR" | while read hook ++ eval run-parts --test -- "$HOOKSDIR" | while read hook + do + ( cat "$ADDED" + cat "$REMOVED" ) | "$hook" || echo "E: $hook exited with code $?." diff --git a/recipes/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch b/recipes/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch new file mode 100644 index 0000000..792b403 --- /dev/null +++ b/recipes/ca-certificates/ca-certificates/0002-update-ca-certificates-use-SYSROOT.patch @@ -0,0 +1,46 @@ +Upstream-Status: Pending + +From 724cb153ca0f607fb38b3a8db3ebb2742601cd81 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +Date: Tue, 19 Mar 2013 17:14:33 +0100 +Subject: [PATCH 2/2] update-ca-certificates: use $SYSROOT + +Signed-off-by: Andreas Oberritter +--- + sbin/update-ca-certificates | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +Index: git/sbin/update-ca-certificates +=================================================================== +--- git.orig/sbin/update-ca-certificates ++++ git/sbin/update-ca-certificates +@@ -24,12 +24,12 @@ + verbose=0 + fresh=0 + default=0 +-CERTSCONF=/etc/ca-certificates.conf +-CERTSDIR=/usr/share/ca-certificates +-LOCALCERTSDIR=/usr/local/share/ca-certificates ++CERTSCONF=$SYSROOT/etc/ca-certificates.conf ++CERTSDIR=$SYSROOT/usr/share/ca-certificates ++LOCALCERTSDIR=$SYSROOT/usr/local/share/ca-certificates + CERTBUNDLE=ca-certificates.crt +-ETCCERTSDIR=/etc/ssl/certs +-HOOKSDIR=/etc/ca-certificates/update.d ++ETCCERTSDIR=$SYSROOT/etc/ssl/certs ++HOOKSDIR=$SYSROOT/etc/ca-certificates/update.d + + while [ $# -gt 0 ]; + do +@@ -92,9 +92,9 @@ add() { + PEM="$ETCCERTSDIR/$(basename "$CERT" .crt | sed -e 's/ /_/g' \ + -e 's/[()]/=/g' \ + -e 's/,/_/g').pem" +- if ! test -e "$PEM" || [ "$(readlink "$PEM")" != "$CERT" ] ++ if ! test -e "$PEM" || [ "$(readlink "$PEM")" != "${CERT##$SYSROOT}" ] + then +- ln -sf "$CERT" "$PEM" ++ ln -sf "${CERT##$SYSROOT}" "$PEM" + echo "+$PEM" >> "$ADDED" + fi + # Add trailing newline to certificate, if it is missing (#635570) diff --git a/recipes/ca-certificates/ca-certificates/default-sysroot.patch b/recipes/ca-certificates/ca-certificates/default-sysroot.patch new file mode 100644 index 0000000..f8b0791 --- /dev/null +++ b/recipes/ca-certificates/ca-certificates/default-sysroot.patch @@ -0,0 +1,50 @@ +Upstream-Status: Pending + +update-ca-certificates: find SYSROOT relative to its own location + +This makes the script relocatable. + +Index: git/sbin/update-ca-certificates +=================================================================== +--- git.orig/sbin/update-ca-certificates ++++ git/sbin/update-ca-certificates +@@ -66,6 +66,39 @@ do + shift + done + ++if [ -z "$SYSROOT" ]; then ++ local_which () { ++ if [ $# -lt 1 ]; then ++ return 1 ++ fi ++ ++ ( ++ IFS=: ++ for entry in $PATH; do ++ if [ -x "$entry/$1" ]; then ++ echo "$entry/$1" ++ exit 0 ++ fi ++ done ++ exit 1 ++ ) ++ } ++ ++ case "$0" in ++ */*) ++ sbindir=$(cd ${0%/*} && pwd) ++ ;; ++ *) ++ sbindir=$(cd $(dirname $(local_which $0)) && pwd) ++ ;; ++ esac ++ prefix=${sbindir%/*} ++ SYSROOT=${prefix%/*} ++ if [ ! -d "$SYSROOT/usr/share/ca-certificates" ]; then ++ SYSROOT= ++ fi ++fi ++ + if [ ! -s "$CERTSCONF" ] + then + fresh=1 diff --git a/recipes/ca-certificates/ca-certificates/sbindir.patch b/recipes/ca-certificates/ca-certificates/sbindir.patch new file mode 100644 index 0000000..a113fa8 --- /dev/null +++ b/recipes/ca-certificates/ca-certificates/sbindir.patch @@ -0,0 +1,20 @@ +Upstream-Status: Pending + +Let us alter the install destination of the script via SBINDIR + +--- ca-certificates-20130119.orig/sbin/Makefile ++++ ca-certificates-20130119/sbin/Makefile +@@ -3,9 +3,12 @@ + # + # + ++SBINDIR = /usr/sbin ++ + all: + + clean: + + install: +- install -m755 update-ca-certificates $(DESTDIR)/usr/sbin/ ++ install -d $(DESTDIR)$(SBINDIR) ++ install -m755 update-ca-certificates $(DESTDIR)$(SBINDIR)/ diff --git a/recipes/ca-certificates/ca-certificates_20150426.bb b/recipes/ca-certificates/ca-certificates_20150426.bb new file mode 100644 index 0000000..716e3df --- /dev/null +++ b/recipes/ca-certificates/ca-certificates_20150426.bb @@ -0,0 +1,80 @@ +SUMMARY = "Common CA certificates" +DESCRIPTION = "This package includes PEM files of CA certificates to allow \ +SSL-based applications to check for the authenticity of SSL connections. \ +This derived from Debian's CA Certificates." +HOMEPAGE = "http://packages.debian.org/sid/ca-certificates" +SECTION = "misc" +LICENSE = "GPL-2.0+ & MPL-2.0" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=48d2baf97986999e776b43c8dd9e0c5a" + +# This is needed to ensure we can run the postinst at image creation time +DEPENDS = "ca-certificates-native" +DEPENDS_class-native = "" + +# tag: debian/20150426 + 2 +SRCREV = "d4790d2832aaac9152f450e06661511067592227" + +SRC_URI = "git://anonscm.debian.org/collab-maint/ca-certificates.git \ + file://0001-update-ca-certificates-remove-c-rehash.patch \ + file://0002-update-ca-certificates-use-SYSROOT.patch \ + file://0001-update-ca-certificates-don-t-use-Debianisms-in-run-p.patch \ + file://default-sysroot.patch \ + file://sbindir.patch" + +S = "${WORKDIR}/git" + +inherit allarch + +EXTRA_OEMAKE = "\ + 'CERTSDIR=${datadir}/ca-certificates' \ + 'SBINDIR=${sbindir}' \ +" + +do_compile_prepend() { + oe_runmake clean +} + +do_install () { + install -d ${D}${datadir}/ca-certificates \ + ${D}${sysconfdir}/ssl/certs \ + ${D}${sysconfdir}/ca-certificates/update.d + oe_runmake 'DESTDIR=${D}' install + + install -d ${D}${mandir}/man8 + install -m 0644 sbin/update-ca-certificates.8 ${D}${mandir}/man8/ + + install -d ${D}${sysconfdir} + { + echo "# Lines starting with # will be ignored" + echo "# Lines starting with ! will remove certificate on next update" + echo "#" + find ${D}${datadir}/ca-certificates -type f -name '*.crt' | \ + sed 's,^${D}${datadir}/ca-certificates/,,' + } >${D}${sysconfdir}/ca-certificates.conf +} + +do_install_append_class-target () { + sed -i -e 's,/etc/,${sysconfdir}/,' \ + -e 's,/usr/share/,${datadir}/,' \ + -e 's,/usr/local,${prefix}/local,' \ + ${D}${sbindir}/update-ca-certificates \ + ${D}${mandir}/man8/update-ca-certificates.8 +} + +pkg_postinst_${PN} () { + SYSROOT="$D" update-ca-certificates +} + +CONFFILES_${PN} += "${sysconfdir}/ca-certificates.conf" + +# Postinsts don't seem to be run for nativesdk packages when populating SDKs. +CONFFILES_${PN}_append_class-nativesdk = " ${sysconfdir}/ssl/certs/ca-certificates.crt" +do_install_append_class-nativesdk () { + SYSROOT="${D}${SDKPATHNATIVE}" update-ca-certificates +} + +do_install_append_class-native () { + SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates +} + +BBCLASSEXTEND += "native nativesdk" -- cgit v1.2.3-54-g00ecf From 36529af42c25c3e14aa0918a6012f336151f9c2a Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Mon, 24 Aug 2015 14:54:52 +0300 Subject: Add atk and atk-dev packages Needed for QtWebEngine 5.6 Change-Id: I245238f9e2798e28cc87750c22c486cc6cc80aab Reviewed-by: aavit --- recipes/packagegroup/packagegroup-b2qt-embedded-base.bb | 1 + recipes/packagegroup/packagegroup-b2qt-embedded-toolchain-target.bb | 1 + 2 files changed, 2 insertions(+) diff --git a/recipes/packagegroup/packagegroup-b2qt-embedded-base.bb b/recipes/packagegroup/packagegroup-b2qt-embedded-base.bb index 3dfc1a5..34a53c9 100644 --- a/recipes/packagegroup/packagegroup-b2qt-embedded-base.bb +++ b/recipes/packagegroup/packagegroup-b2qt-embedded-base.bb @@ -58,6 +58,7 @@ RDEPENDS_${PN} = "\ tzdata-americas \ tzdata-asia \ tzdata-europe \ + atk \ ${@base_contains("DISTRO_FEATURES", "wayland", "wayland weston weston-examples", "", d)} \ ${MACHINE_EXTRA_INSTALL} \ " diff --git a/recipes/packagegroup/packagegroup-b2qt-embedded-toolchain-target.bb b/recipes/packagegroup/packagegroup-b2qt-embedded-toolchain-target.bb index b0b35d0..f567f4e 100644 --- a/recipes/packagegroup/packagegroup-b2qt-embedded-toolchain-target.bb +++ b/recipes/packagegroup/packagegroup-b2qt-embedded-toolchain-target.bb @@ -48,6 +48,7 @@ RDEPENDS_${PN} += "\ wpa-supplicant-dev \ libmysqlclient-dev \ libpq-dev \ + atk-dev \ ${@base_contains("DISTRO_FEATURES", "wayland", "libwayland-egl-mx6-dev libxkbcommon-dev libgbm-dev libdrm-dev", "", d)} \ ${@base_contains("DISTRO_FEATURES", "bluetooth", "bluez4-dev", "", d)} \ ${MACHINE_EXTRA_INSTALL_SDK} \ -- cgit v1.2.3-54-g00ecf