b7a0847f6d
(Nothing to do with RHBZ#2209280, but the bots don't let us commit maintenance-only patches to dist-git, IIRC.) One difference where we diverge from "copy-patches.sh" in libguestfs dist-git is the "core.abbrev" setting. In order to minimize the churn for patches backported earlier, I'm keeping the 9 nibbles that those patches were formatted with. Noteworthy is also the fact that we can't really undo a "--no-signature" setting. I have that in my local environment, and I can't undo it on the git-format-patch command line. "--signature" requires an argument; there doesn't seem to be a way to use a "default" argument (which would mean the git version number). As a result, I'm just sticking with "--no-signature" explicitly (matching both my local env and libguestfs dist-git); thus, the "signature block" on previously backported patches will soon disappear. resolves: rhbz#2209280 Signed-off-by: Laszlo Ersek <lersek@redhat.com>
66 lines
1.5 KiB
Bash
Executable File
66 lines
1.5 KiB
Bash
Executable File
#!/bin/bash -
|
|
|
|
set -e
|
|
|
|
# Maintainer script to copy patches from the git repo to the current
|
|
# directory. Use it like this:
|
|
# ./copy-patches.sh
|
|
|
|
project=guestfs-tools
|
|
rhel_version=9.3
|
|
|
|
# Check we're in the right directory.
|
|
if [ ! -f $project.spec ]; then
|
|
echo "$0: run this from the directory containing '$project.spec'"
|
|
exit 1
|
|
fi
|
|
|
|
case `id -un` in
|
|
rjones) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
|
|
lacos) git_checkout=$HOME/src/v2v/$project ;;
|
|
*) git_checkout=$HOME/d/$project-rhel-$rhel_version ;;
|
|
esac
|
|
if [ ! -d $git_checkout ]; then
|
|
echo "$0: $git_checkout does not exist"
|
|
echo "This script is only for use by the maintainer when preparing a"
|
|
echo "$project release on RHEL."
|
|
exit 1
|
|
fi
|
|
|
|
# Get the base version of the project.
|
|
version=`grep '^Version:' $project.spec | awk '{print $2}'`
|
|
tag="v$version"
|
|
|
|
# Remove any existing patches.
|
|
git rm -f [0-9]*.patch ||:
|
|
rm -f [0-9]*.patch
|
|
|
|
# Get the patches.
|
|
(
|
|
cd $git_checkout
|
|
rm -f [0-9]*.patch
|
|
git -c core.abbrev=9 format-patch -O/dev/null --subject-prefix=PATCH -N \
|
|
--submodule=diff --no-signature --patience $tag
|
|
)
|
|
mv $git_checkout/[0-9]*.patch .
|
|
|
|
# Remove any not to be applied.
|
|
rm -f *NOT-FOR-RPM*.patch
|
|
|
|
# Add the patches.
|
|
git add [0-9]*.patch
|
|
|
|
# Print out the patch lines.
|
|
echo
|
|
echo "--- Copy the following text into $project.spec file"
|
|
echo
|
|
|
|
echo "# Patches."
|
|
for f in [0-9]*.patch; do
|
|
n=`echo $f | awk -F- '{print $1}'`
|
|
echo "Patch$n: $f"
|
|
done
|
|
|
|
echo
|
|
echo "--- End of text"
|