#!/bin/bash # This is a helper script to install the compiles EIVE OBSW files # into the yocto repository to re-generate the mission root filesystem build_dir=cmake-build-release-q7s if [ ! -z ${1} && "${1}" == "em" ] || [[ ${EIVE_Q7S_EM} == "1" ]]; then echo "-I- Installing EM binaries" em_install="1" build_dir=cmake-build-release-q7s-em fi init_dir=$(pwd) obsw_root="" q7s_yocto_dir="q7s-yocto" q7s_package_path="q7s-package/${q7s_yocto_dir}" obsw_version_filename="obsw_version.txt" yocto_obsw_path="yocto/meta-eive/recipes-core/eive-obsw/files" variant_specific_path="" if [ ${em_install} == "1" ]; then variant_specific_path="${yocto_obsw_path}/em" else variant_specific_path="${yocto_obsw_path}/fm" fi yocto_watchdog_path="yocto/meta-eive/recipes-support/eive-obsw-watchdog/files" obsw_bin_name="eive-obsw" watchdog_bin_name="eive-watchdog" obsw_target_name="eive-obsw" watchdog_target_name="eive-watchdog" if [ ! -z ${EIVE_OBSW_ROOT} ]; then cd ${EIVE_OBSW_ROOT} obsw_root=$(pwd) elif [ -d ${build_dir} ]; then obsw_root=$(pwd) : elif [ -d ../${build_dir} ]; then cd .. obsw_root=$(pwd) else echo "-E- No way into the EIVE OBSW Root folder found. Exiting" exit 1 fi yocto_root="" if [ -d ../${q7s_package_path} ]; then cd ../${q7s_package_path} yocto_root=$(pwd) elif [ -d ../${q7s_yocto_dir} ]; then cd ../${q7s_yocto_dir} yocto_root=$(pwd) fi if [ -z ${yocto_root} ]; then echo "-E- No yocto directory found. Exiting" exit 1 fi cd ${obsw_root} version_cmd="git describe --tags --always --exclude docker_*" echo "-I- Running ${version_cmd} to retrieve OBSW version and store it into ${obsw_version_filename}" version_tag=$(${version_cmd}) echo "-I- Detected version tag ${version_tag}" echo ${version_tag} > ${obsw_version_filename} if [ ! -d ${build_dir} ]; then echo "No Q7S Release binary folder ${build_dir} found. Exiting" exit 1 fi if [ ! -f ${build_dir}/${obsw_bin_name} ]; then echo "-W- No EIVE OBSW binary found to intall to yocto" else cp_cmd="cp $(pwd)/${build_dir}/${obsw_bin_name} ${yocto_root}/${variant_specific_path}/${obsw_target_name}" echo "-I- Executing: ${cp_cmd}" eval ${cp_cmd} cp_ver_cmd="cp $(pwd)/${obsw_version_filename} ${yocto_root}/${variant_specific_path}" echo "-I- Executing: ${cp_ver_cmd}" eval ${cp_ver_cmd} echo "-I- Installed EIVE OBSW into yocto repository successfully" fi if [ ! -f ${build_dir}/${watchdog_bin_name} ]; then echo "-W- No EIVE Watchdog found to intall to yocto" else cp_cmd="cp $(pwd)/${build_dir}/${watchdog_bin_name} ${yocto_root}/${yocto_watchdog_path}/${watchdog_target_name}" echo "-I- Executing: ${cp_cmd}" eval ${cp_cmd} cp_ver_cmd="cp $(pwd)/${obsw_version_filename} ${yocto_root}/${yocto_watchdog_path}" echo "-I- Executing: ${cp_ver_cmd}" eval ${cp_ver_cmd} echo "-I- Installed EIVE watchdog into yocto repository successfully" fi if [ -f $(pwd)/${obsw_version_filename} ]; then rm $(pwd)/${obsw_version_filename} fi cd ${init_dir}