84 lines
1.9 KiB
Plaintext
84 lines
1.9 KiB
Plaintext
|
|
#!/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
|