| #!/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 |