From 6e1dbfa83847c379a50a410719d6fcf4d14736db Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 16 Mar 2017 23:35:33 +0100 Subject: [PATCH] Update meta-hassio --- build-scripts/resinos-build/create_resinos.sh | 8 +- .../docker-resin-supervisor-disk.bbappend | 14 ++ .../start-resin-supervisor | 27 ++++ .../update-resin-supervisor.txt | 129 ++++++++++++++++++ 4 files changed, 173 insertions(+), 5 deletions(-) create mode 100644 meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend create mode 100644 meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor create mode 100644 meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor.txt diff --git a/build-scripts/resinos-build/create_resinos.sh b/build-scripts/resinos-build/create_resinos.sh index 1d0496924..f36d602b5 100755 --- a/build-scripts/resinos-build/create_resinos.sh +++ b/build-scripts/resinos-build/create_resinos.sh @@ -20,8 +20,8 @@ cleanup() { trap 'cleanup fail' SIGINT SIGTERM # Sanity checks -if [ "$#" -ne 1 ]; then - echo "Usage: create_resinos.sh " +if [ "$#" -ne 2 ]; then + echo "Usage: create_resinos.sh " echo "Optional environment: BUILD_DIR, PERSISTENT_WORKDIR, RESIN_BRANCH" exit 1 fi @@ -51,8 +51,6 @@ case $MACHINE in ;; esac -HASSIO_SUPERVISOR=pvizeli/${ARCH}-hassio-supervisor - echo "[INFO] Checkout repository" mkdir -p $BUILD_DIR cd $BUILD_DIR && git clone $RESIN_REPO resin-board @@ -62,7 +60,7 @@ fi cd $WORKSPACE && git submodule update --init --recursive # Additional variables -BARYS_ARGUMENTS_VAR="-a RESIN_CONNECTABLE=0 -a DEVELOPMENT_IMAGE=0 -a TARGET_REPOSITORY=$HASSIO_SUPERVISOR" +BARYS_ARGUMENTS_VAR="-a HASSIO_SUPERVISOR_TAG=$SUPERVISOR_TAG" # Make sure shared directories are in place mkdir -p $DOWNLOAD_DIR diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend new file mode 100644 index 000000000..d4cd2e717 --- /dev/null +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk.bbappend @@ -0,0 +1,14 @@ + +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +SUPERVISOR_REPOSITORY_armv5 = "pvizeli/armhf-hassio-supervisor" +SUPERVISOR_REPOSITORY_armv6 = "pvizeli/armhf-hassio-supervisor" +SUPERVISOR_REPOSITORY_armv7a = "pvizeli/armhf-hassio-supervisor" +SUPERVISOR_REPOSITORY_armv7ve = "pvizeli/armhf-hassio-supervisor" +SUPERVISOR_REPOSITORY_aarch64 = "pvizeli/aarch64-hassio-supervisor" +SUPERVISOR_REPOSITORY_x86 = "pvizeli/i386-hassio-supervisor" +SUPERVISOR_REPOSITORY_x86-64 = "pvizeli/amd64-hassio-supervisor" + +SUPERVISOR_TAG = "${HASSIO_SUPERVISOR_TAG}" +TARGET_REPOSITORY = "${SUPERVISOR_REPOSITORY}" +TARGET_TAG = "${SUPERVISOR_TAG}" diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor new file mode 100644 index 000000000..0081b12e5 --- /dev/null +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/start-resin-supervisor @@ -0,0 +1,27 @@ +#!/bin/sh -e + +source /usr/sbin/resin-vars + +SUPERVISOR_IMAGE_ID=$(docker inspect --format='{{.Id}}' $SUPERVISOR_IMAGE) +SUPERVISOR_CONTAINER_IMAGE_ID=$(docker inspect --format='{{.Image}}' resin_supervisor || echo "") + +runSupervisor() { + docker rm --force resin_supervisor || true + docker run --privileged --name resin_supervisor \ + --net=host \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v $CONFIG_PATH:/boot/config.json \ + -v /resin-data/resin-supervisor:/data \ + -v /proc/net/fib_trie:/mnt/fib_trie \ + -v /var/log/supervisor-log:/var/log \ + -v /:/mnt/root \ + -e DOCKER_ROOT=/mnt/root/var/lib/docker \ + -e DOCKER_SOCKET=/var/run/docker.sock \ + -e BOOT_MOUNTPOINT=$BOOT_MOUNTPOINT \ + -e LED_FILE=${LED_FILE} \ + -e LISTEN_PORT=$LISTEN_PORT \ + -e SUPERVISOR_IMAGE=${SUPERVISOR_IMAGE} \ + ${SUPERVISOR_IMAGE} +} + +([ "$SUPERVISOR_IMAGE_ID" == "$SUPERVISOR_CONTAINER_IMAGE_ID" ] && docker start --attach resin_supervisor) || runSupervisor diff --git a/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor.txt b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor.txt new file mode 100644 index 000000000..6ad9b9274 --- /dev/null +++ b/meta-hassio/recipes-containers/docker-disk/docker-resin-supervisor-disk/update-resin-supervisor.txt @@ -0,0 +1,129 @@ +#!/bin/bash +set -o pipefail + +# Help function +function update-resin-supervisor-help { + cat << EOF +Wrapper to run supervisor agent updates on resin distributions. +$0