64435eabdc
Update to v4.1.0. Also includes other major packaging changes as follows: There is a new package maintenance workflow - see README.PACKAGING for details. The sibling packages qemu-linux-user and qemu-testsuite are now created with the Build Service's MultiBuild feature. This also necessitates combining the qemu-linux-user changelog content back into qemu's. Luckily the delta there is quite small. Note that the qemu spec file is now that much busier, but added section markers should help reduce the confusion. Also qemu is being enabled for RISCV host compatibility, so some changes are related to that as well. OBS-URL: https://build.opensuse.org/request/show/730437 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=487
58 lines
2.1 KiB
Bash
58 lines
2.1 KiB
Bash
#!/bin/bash
|
|
#
|
|
# This script takes patches stored in the bundle and places
|
|
# them into a branch named frombundle for each local repo it
|
|
# finds.
|
|
|
|
# NYI: report if the required base commit isn't there - they may need to fetch the latest from upstream
|
|
|
|
set -e
|
|
|
|
source ./config.sh
|
|
|
|
rm -rf $GIT_DIR
|
|
rm -rf $CMP_DIR
|
|
rm -rf $BUNDLE_DIR
|
|
rm -f checkpatch.log
|
|
|
|
mkdir -p $BUNDLE_DIR
|
|
tar xJf bundles.tar.xz -C $BUNDLE_DIR
|
|
BUNDLE_FILES=$(find $BUNDLE_DIR -printf "%P\n"|grep "bundle$")
|
|
|
|
for entry in ${BUNDLE_FILES[@]}; do
|
|
if [[ $entry =~ ^(.*)[/]*([a-f0-9]{40})[.]bundle$ ]]; then
|
|
SUBDIR=${BASH_REMATCH[1]}
|
|
GITREPO_COMMIT_ISH=${BASH_REMATCH[2]}
|
|
else
|
|
echo "ERROR! BAD BUNDLE CONTENT!"
|
|
exit
|
|
fi
|
|
for (( i=0; i <$REPO_COUNT; i++ )); do
|
|
if [[ "$SUBDIR" = "${PATCH_PATH_MAP[$i]}" ]]; then
|
|
PATCH_RANGE_INDEX=$i
|
|
break
|
|
fi
|
|
done
|
|
|
|
LOCAL_REPO=$(readlink -f ${LOCAL_REPO_MAP[$PATCH_RANGE_INDEX]})
|
|
if [ -e $LOCAL_REPO ]; then
|
|
echo "Found local repo $LOCAL_REPO corresponding to archived git bundle"
|
|
else
|
|
echo "No local repo $LOCAL_REPO corresponding to archived git bundle"
|
|
fi
|
|
git -C $LOCAL_REPO remote remove bundlerepo || true
|
|
# git won't let you delete this branch if it's the current branch (returns 1) HOW TO HANDLE?
|
|
# detect this case, and ask user to switch to another branch? or do it for them - switch to master killing any "state" for this branch
|
|
git -C $LOCAL_REPO branch -D frombundle || true
|
|
git -C $LOCAL_REPO remote add bundlerepo $BUNDLE_DIR/$entry
|
|
# in next, the head may be FETCH_HEAD or HEAD depending on how we created:
|
|
git -C $LOCAL_REPO fetch bundlerepo FETCH_HEAD
|
|
#git -C $LOCAL_REPO fetch bundlerepo HEAD
|
|
git -C $LOCAL_REPO branch frombundle FETCH_HEAD
|
|
git -C $LOCAL_REPO remote remove bundlerepo
|
|
done
|
|
echo "For each local repo found a branch named frombundle contains the patches from the bundle."
|
|
echo "Use this as the starting point for making changes to the $GIT_BRANCH, which gets used as"
|
|
echo "the source when updating the bundle stored with the package."
|
|
rm -rf $BUNDLE_DIR
|