1*ac13d5f3SPatrick Williams#!/bin/bash -e 2*ac13d5f3SPatrick Williams# 3*ac13d5f3SPatrick Williams# patchtest-setup-sharedir: Setup a directory for storing mboxes and 4*ac13d5f3SPatrick Williams# repositories to be shared with the guest machine, including updates to 5*ac13d5f3SPatrick Williams# the repos if the directory already exists 6*ac13d5f3SPatrick Williams# 7*ac13d5f3SPatrick Williams# Copyright (C) 2023 BayLibre Inc. 8*ac13d5f3SPatrick Williams# 9*ac13d5f3SPatrick Williams# SPDX-License-Identifier: GPL-2.0-only 10*ac13d5f3SPatrick Williams# 11*ac13d5f3SPatrick Williams 12*ac13d5f3SPatrick Williams# poky repository 13*ac13d5f3SPatrick WilliamsPOKY_REPO="https://git.yoctoproject.org/poky" 14*ac13d5f3SPatrick Williams 15*ac13d5f3SPatrick Williams# patchtest repository 16*ac13d5f3SPatrick WilliamsPATCHTEST_REPO="https://git.yoctoproject.org/patchtest" 17*ac13d5f3SPatrick Williams 18*ac13d5f3SPatrick Williams# the name of the directory 19*ac13d5f3SPatrick WilliamsSHAREDIR="patchtest_share" 20*ac13d5f3SPatrick Williams 21*ac13d5f3SPatrick Williamshelp() 22*ac13d5f3SPatrick Williams{ 23*ac13d5f3SPatrick Williams echo "Usage: patchtest-setup-sharedir [ -d | --directory SHAREDIR ] 24*ac13d5f3SPatrick Williams [ -p | --patchtest PATCHTEST_REPO ] 25*ac13d5f3SPatrick Williams [ -y | --poky POKY_REPO ]" 26*ac13d5f3SPatrick Williams exit 2 27*ac13d5f3SPatrick Williams} 28*ac13d5f3SPatrick Williams 29*ac13d5f3SPatrick Williamswhile [ "$1" != "" ]; do 30*ac13d5f3SPatrick Williams case $1 in 31*ac13d5f3SPatrick Williams -d|--directory) 32*ac13d5f3SPatrick Williams SHAREDIR=$2 33*ac13d5f3SPatrick Williams shift 2 34*ac13d5f3SPatrick Williams ;; 35*ac13d5f3SPatrick Williams -p|--patchtest) 36*ac13d5f3SPatrick Williams PATCHTEST_REPO=$2 37*ac13d5f3SPatrick Williams shift 2 38*ac13d5f3SPatrick Williams ;; 39*ac13d5f3SPatrick Williams -y|--poky) 40*ac13d5f3SPatrick Williams POKY_REPO=$2 41*ac13d5f3SPatrick Williams shift 2 42*ac13d5f3SPatrick Williams ;; 43*ac13d5f3SPatrick Williams -h|--help) 44*ac13d5f3SPatrick Williams help 45*ac13d5f3SPatrick Williams ;; 46*ac13d5f3SPatrick Williams *) 47*ac13d5f3SPatrick Williams echo "Unknown option $1" 48*ac13d5f3SPatrick Williams help 49*ac13d5f3SPatrick Williams ;; 50*ac13d5f3SPatrick Williams esac 51*ac13d5f3SPatrick Williamsdone 52*ac13d5f3SPatrick Williams 53*ac13d5f3SPatrick Williams# define MBOX_DIR where the patch series will be stored by 54*ac13d5f3SPatrick Williams# get-latest-series 55*ac13d5f3SPatrick WilliamsMBOX_DIR="${SHAREDIR}/mboxes" 56*ac13d5f3SPatrick Williams 57*ac13d5f3SPatrick Williams# Create SHAREDIR if it doesn't exist 58*ac13d5f3SPatrick Williamsif [ ! -d "$SHAREDIR" ]; then 59*ac13d5f3SPatrick Williams mkdir -p "${SHAREDIR}" 60*ac13d5f3SPatrick Williams echo "Created ${SHAREDIR}" 61*ac13d5f3SPatrick Williamsfi 62*ac13d5f3SPatrick Williams 63*ac13d5f3SPatrick Williams# Create the mboxes directory if it doesn't exist 64*ac13d5f3SPatrick Williamsif [ ! -d "$MBOX_DIR" ]; then 65*ac13d5f3SPatrick Williams mkdir -p "${MBOX_DIR}" 66*ac13d5f3SPatrick Williams echo "Created ${MBOX_DIR}" 67*ac13d5f3SPatrick Williamsfi 68*ac13d5f3SPatrick Williams 69*ac13d5f3SPatrick Williams# clone poky if it's not already present; otherwise, update it 70*ac13d5f3SPatrick Williamsif [ ! -d "$POKY_REPO" ]; then 71*ac13d5f3SPatrick Williams BASENAME=$(basename ${POKY_REPO}) 72*ac13d5f3SPatrick Williams git clone "${POKY_REPO}" "${SHAREDIR}/${BASENAME}" 73*ac13d5f3SPatrick Williamselse 74*ac13d5f3SPatrick Williams (cd "${SHAREDIR}/$BASENAME" && git pull) 75*ac13d5f3SPatrick Williamsfi 76*ac13d5f3SPatrick Williams 77*ac13d5f3SPatrick Williams# clone patchtest if it's not already present; otherwise, update it 78*ac13d5f3SPatrick Williamsif [ ! -d "$PATCHTEST_REPO" ]; then 79*ac13d5f3SPatrick Williams BASENAME=$(basename ${PATCHTEST_REPO}) 80*ac13d5f3SPatrick Williams git clone "${PATCHTEST_REPO}" "${SHAREDIR}/${BASENAME}" 81*ac13d5f3SPatrick Williamselse 82*ac13d5f3SPatrick Williams (cd "${SHAREDIR}/$BASENAME" && git pull) 83*ac13d5f3SPatrick Williamsfi 84