poky/scripts/patchtest-setup-sharedir
Trevor Gamblin 6e53a778f1 patchtest: add scripts to oe-core
Add the following from the patchtest repo:

- patchtest: core patch testing tool
- patchtest-get-branch: determine the target branch of a patch
- patchtest-get-series: pull patch series from Patchwork
- patchtest-send-results: send test results to selected mailing list
- patchtest-setup-sharedir: create sharedir for use with patchtest guest
  mode
- patchtest.README: instructions for using patchtest based on the README
  in the original repository

Note that the patchtest script was modified slightly from the repo
version to retain compatibility with the oe-core changes.
patchtest-send-results and patchtest-setup-sharedir are also primarily
intended for automated testing in guest mode, but are added for
consistency.

(From OE-Core rev: cf318c3c05fc050b8c838c04f28797325c569c5c)

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-17 11:41:34 +01:00

2.5 KiB
Executable File

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

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License version 2 as

published by the Free Software Foundation.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License along

with this program; if not, write to the Free Software Foundation, Inc.,

51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Author: Trevor Gamblin tgamblin@baylibre.com

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