From 41591d4f8c586aa801220fac0924556f406c58bd Mon Sep 17 00:00:00 2001 From: Jan-Simon Moeller Date: Tue, 8 Dec 2020 11:15:02 +0100 Subject: SPEC-3723: restructure meta-agl-demo All demo related components should be in here now. We keep the packagegroups on purpose for now to stay backward-compatible. v2: layer does pass yocto-check-layer, dependencies adapted v3: remove the dynamic-layer setup, use all-in-one approach v4: Fixed comments from Paul Barker. Tnx! v5: Removed wayland/weston/agl-compositor additions, except for demo specific weston-init bbappend Follow-up changes required later: - massaging packagegroups - scrub of recipes Bug-AGL: SPEC-3723 Signed-off-by: Jan-Simon Moeller Signed-off-by: Scott Murray Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8 --- .../low-level-can-generator_git.bb | 17 ++++++++ recipes-devtools/python/python3-asyncssh_2.3.0.bb | 15 +++++++ .../python/python3-pytest-dependency_0.5.1.bb | 12 ++++++ .../python/python3-pytest-reverse_1.0.1.bb | 12 ++++++ .../run-agl-postinsts/run-agl-postinsts | 48 ++++++++++++++++++++++ .../run-agl-postinsts/run-agl-postinsts.service | 17 ++++++++ .../run-agl-postinsts/run-agl-postinsts_1.0.bb | 46 +++++++++++++++++++++ .../run-agl-postinsts_1.0.bbappend | 1 + 8 files changed, 168 insertions(+) create mode 100644 recipes-devtools/low-level-can-generator/low-level-can-generator_git.bb create mode 100644 recipes-devtools/python/python3-asyncssh_2.3.0.bb create mode 100644 recipes-devtools/python/python3-pytest-dependency_0.5.1.bb create mode 100644 recipes-devtools/python/python3-pytest-reverse_1.0.1.bb create mode 100755 recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts create mode 100644 recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts.service create mode 100644 recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bb create mode 100644 recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bbappend (limited to 'recipes-devtools') diff --git a/recipes-devtools/low-level-can-generator/low-level-can-generator_git.bb b/recipes-devtools/low-level-can-generator/low-level-can-generator_git.bb new file mode 100644 index 00000000..4c0bda07 --- /dev/null +++ b/recipes-devtools/low-level-can-generator/low-level-can-generator_git.bb @@ -0,0 +1,17 @@ +SUMMARY = "Low level CAN generator" +DESCRIPTION = "Generator used to customize low level CAN service with customs signals" +SECTION = "devel" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10" + +inherit cmake pkgconfig +BBCLASSEXTEND = "nativesdk" +DEPENDS = " cmake-apps-module" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/src/low-level-can-generator;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "0a3e354c3d81866e1a755367ab5592b3ced868bb" + +PV = "${AGLVERSION}" +S = "${WORKDIR}/git" + diff --git a/recipes-devtools/python/python3-asyncssh_2.3.0.bb b/recipes-devtools/python/python3-asyncssh_2.3.0.bb new file mode 100644 index 00000000..ab7e8afa --- /dev/null +++ b/recipes-devtools/python/python3-asyncssh_2.3.0.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "\ +AsyncSSH is a Python package which provides an asynchronous client and \ +server implementation of the SSHv2 protocol on top of the Python \ +asyncio framework." +HOMEPAGE = "https://github.com/ronf/asyncssh" +LICENSE = "EPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d9fc0efef5228704e7f5b37f27192723" + +SRC_URI[sha256sum] = "44bda34c7123f00c3df95d24e2dc8d43c4d17b456fbb8c434ef4f4a7ebb5265e" + +inherit pypi setuptools3 + +RDEPENDS_${PN} += "${PYTHON_PN}-asyncio ${PYTHON_PN}-cryptography" + +BBCLASSEXTEND = "native" diff --git a/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb b/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb new file mode 100644 index 00000000..5ff2d4ec --- /dev/null +++ b/recipes-devtools/python/python3-pytest-dependency_0.5.1.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "pytest-dependency manages dependencies of tests." +HOMEPAGE = "https://github.com/RKrahl/pytest-dependency" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://README.rst;md5=35b9938ae48d25e6b8306232e98463dd" + +SRC_URI[sha256sum] = "c2a892906192663f85030a6ab91304e508e546cddfe557d692d61ec57a1d946b" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-native" + +BBCLASSEXTEND = "native" diff --git a/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb b/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb new file mode 100644 index 00000000..5ed9b1d9 --- /dev/null +++ b/recipes-devtools/python/python3-pytest-reverse_1.0.1.bb @@ -0,0 +1,12 @@ +DESCRIPTION = "pytest-reverse is a pytest plugin to reverse test order" +HOMEPAGE = "https://github.com/adamchainz/pytest-reverse" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=caf1f407ae86ecd57ab721dff94079b7" + +SRC_URI[sha256sum] = "40cbc47df8a262fed778e500f4d0b17d2d08ef8b9fbf899c0bab9488be192aac" + +inherit pypi setuptools3 + +DEPENDS += "${PYTHON_PN}-pytest-native" + +BBCLASSEXTEND = "native" diff --git a/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts b/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts new file mode 100755 index 00000000..1d1a5a05 --- /dev/null +++ b/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts @@ -0,0 +1,48 @@ +#!/bin/sh +# +# Copyright 2017 IoT.bzh. + +# Author: Ronan Le Martret +# + +# The following script will run all the scriptlets found in #SYSCONFDIR#/agl-postinsts. + +agl_pi_dir="#SYSCONFDIR#/agl-postinsts" + +POSTINST_LOGGING=1 +LOGFILE=/var/log/agl-postinstall.log + +[ -e $LOGFILE ] && mv ${LOGFILE} ${LOGFILE}.old.$(date +%F--%H%M.%S) + +append_log=">>$LOGFILE 2>&1" + +exec_postinst_scriptlets() { + for i in `ls $agl_pi_dir`; do + i=$agl_pi_dir/$i + echo "Running postinst $i..." + [ "$POSTINST_LOGGING" = "1" ] && eval echo "Running postinst $i..." $append_log + if [ -x $i ]; then + eval sh -c $i $append_log + if [ $? -eq 0 ]; then + rm $i + else + echo "ERROR: postinst $i failed." + [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i failed." $append_log + remove_agl_pi_dir=0 + fi + else + echo "ERROR: postinst $i do not exists or do not have execute permission." + [ "$POSTINST_LOGGING" = "1" ] && eval echo "ERROR: postinst $i do not exists or do not have execute permission." $append_log + remove_agl_pi_dir=0 + fi + done +} + +remove_agl_pi_dir=1 +exec_postinst_scriptlets +systemctl daemon-reload + +# since all postinstalls executed successfully, remove the postinstalls directory +if [ $remove_agl_pi_dir = 1 ]; then + rm -rf $agl_pi_dir +fi diff --git a/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts.service b/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts.service new file mode 100644 index 00000000..8f8667db --- /dev/null +++ b/recipes-devtools/run-agl-postinsts/run-agl-postinsts/run-agl-postinsts.service @@ -0,0 +1,17 @@ +[Unit] +Description=Run pending agl postinsts +DefaultDependencies=no +After=#SYSTEMD_SERVICE_AFTER# +Before=#SYSTEMD_SERVICE_BEFORE# +ConditionPathExists=#SYSCONFDIR#/agl-postinsts + +[Service] +Type=oneshot +StandardOutput=journal+console +ExecStart=#SBINDIR#/run-agl-postinsts +ExecStartPost=#BASE_BINDIR#/systemctl disable run-agl-postinsts.service +RemainAfterExit=No +TimeoutSec=0 + +[Install] +WantedBy=multi-user.target diff --git a/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bb b/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bb new file mode 100644 index 00000000..31503aa2 --- /dev/null +++ b/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bb @@ -0,0 +1,46 @@ +SUMMARY = "Runs AGL postinstall scripts on first boot of the target device" +SECTION = "devel" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://run-agl-postinsts \ + file://run-agl-postinsts.service" + +S = "${WORKDIR}" + +inherit allarch systemd + +SYSTEMD_SERVICE_${PN} = "run-agl-postinsts.service" + +SYSTEMD_SERVICE_AFTER ?= "dbus.service cynagora.service" + +SYSTEMD_SERVICE_BEFORE ?= "systemd-user-sessions.service" + +do_configure() { + : +} + +do_compile () { + : +} + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/run-agl-postinsts ${D}${sbindir}/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/run-agl-postinsts.service ${D}${systemd_unitdir}/system/ + + sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \ + -e 's:#SBINDIR#:${sbindir}:g' \ + -e 's:#BASE_BINDIR#:${base_bindir}:g' \ + -e 's:#LOCALSTATEDIR#:${localstatedir}:g' \ + ${D}${sbindir}/run-agl-postinsts \ + ${D}${systemd_unitdir}/system/run-agl-postinsts.service + + sed -i -e 's:#SYSTEMD_SERVICE_AFTER#:${SYSTEMD_SERVICE_AFTER}:g' \ + -e 's:#SYSTEMD_SERVICE_BEFORE#:${SYSTEMD_SERVICE_BEFORE}:g' \ + ${D}${systemd_unitdir}/system/run-agl-postinsts.service +} + diff --git a/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bbappend b/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bbappend new file mode 100644 index 00000000..590ab708 --- /dev/null +++ b/recipes-devtools/run-agl-postinsts/run-agl-postinsts_1.0.bbappend @@ -0,0 +1 @@ +SYSTEMD_SERVICE_AFTER_append = " afm-system-daemon.service" -- cgit 1.2.3-korg