|  | #!/bin/bash -e | 
|  | # | 
|  | # patchtest-setup-sharedir: Setup a directory for storing mboxes and | 
|  | # repositories to be shared with the guest machine, including updates to | 
|  | # the repos if the directory already exists | 
|  | # | 
|  | # Copyright (C) 2023 BayLibre Inc. | 
|  | # | 
|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | # | 
|  |  | 
|  | # poky repository | 
|  | POKY_REPO="https://git.yoctoproject.org/poky" | 
|  |  | 
|  | # patchtest repository | 
|  | PATCHTEST_REPO="https://git.yoctoproject.org/patchtest" | 
|  |  | 
|  | # the name of the directory | 
|  | SHAREDIR="patchtest_share" | 
|  |  | 
|  | help() | 
|  | { | 
|  | echo "Usage: patchtest-setup-sharedir [ -d | --directory SHAREDIR ] | 
|  | [ -p | --patchtest PATCHTEST_REPO ] | 
|  | [ -y | --poky POKY_REPO ]" | 
|  | exit 2 | 
|  | } | 
|  |  | 
|  | while [ "$1" != "" ]; do | 
|  | case $1 in | 
|  | -d|--directory) | 
|  | SHAREDIR=$2 | 
|  | shift 2 | 
|  | ;; | 
|  | -p|--patchtest) | 
|  | PATCHTEST_REPO=$2 | 
|  | shift 2 | 
|  | ;; | 
|  | -y|--poky) | 
|  | POKY_REPO=$2 | 
|  | shift 2 | 
|  | ;; | 
|  | -h|--help) | 
|  | help | 
|  | ;; | 
|  | *) | 
|  | echo "Unknown option $1" | 
|  | help | 
|  | ;; | 
|  | esac | 
|  | done | 
|  |  | 
|  | # define MBOX_DIR where the patch series will be stored by | 
|  | # get-latest-series | 
|  | MBOX_DIR="${SHAREDIR}/mboxes" | 
|  |  | 
|  | # Create SHAREDIR if it doesn't exist | 
|  | if [ ! -d "$SHAREDIR" ]; then | 
|  | mkdir -p "${SHAREDIR}" | 
|  | echo "Created ${SHAREDIR}" | 
|  | fi | 
|  |  | 
|  | # Create the mboxes directory if it doesn't exist | 
|  | if [ ! -d "$MBOX_DIR" ]; then | 
|  | mkdir -p "${MBOX_DIR}" | 
|  | echo "Created ${MBOX_DIR}" | 
|  | fi | 
|  |  | 
|  | # clone poky if it's not already present; otherwise, update it | 
|  | if [ ! -d "$POKY_REPO" ]; then | 
|  | BASENAME=$(basename ${POKY_REPO}) | 
|  | git clone "${POKY_REPO}" "${SHAREDIR}/${BASENAME}" | 
|  | else | 
|  | (cd "${SHAREDIR}/$BASENAME" && git pull) | 
|  | fi | 
|  |  | 
|  | # clone patchtest if it's not already present; otherwise, update it | 
|  | if [ ! -d "$PATCHTEST_REPO" ]; then | 
|  | BASENAME=$(basename ${PATCHTEST_REPO}) | 
|  | git clone "${PATCHTEST_REPO}" "${SHAREDIR}/${BASENAME}" | 
|  | else | 
|  | (cd "${SHAREDIR}/$BASENAME" && git pull) | 
|  | fi |