libguestfs/SOURCES/copy-patches.sh

66 lines
1.5 KiB
Bash
Raw Normal View History

2021-11-03 21:32:14 +00:00
#!/bin/bash -
set -e
# Maintainer script to copy patches from the git repo to the current
2023-09-21 19:08:23 +00:00
# directory. Use it like this:
2021-11-03 21:32:14 +00:00
# ./copy-patches.sh
2022-01-11 17:18:03 +00:00
project=libguestfs
2024-09-30 15:51:59 +00:00
rhel_version=9.5
2021-11-03 21:32:14 +00:00
# Check we're in the right directory.
2022-01-11 17:18:03 +00:00
if [ ! -f $project.spec ]; then
echo "$0: run this from the directory containing '$project.spec'"
2021-11-03 21:32:14 +00:00
exit 1
fi
2022-01-11 17:18:03 +00:00
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
2021-11-03 21:32:14 +00:00
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"
2022-01-11 17:18:03 +00:00
echo "$project release on RHEL."
2021-11-03 21:32:14 +00:00
exit 1
fi
2022-01-11 17:18:03 +00:00
# Get the base version of the project.
version=`grep '^Version:' $project.spec | awk '{print $2}'`
2021-11-03 21:32:14 +00:00
tag="v$version"
# Remove any existing patches.
git rm -f [0-9]*.patch ||:
rm -f [0-9]*.patch
# Get the patches.
2023-09-21 19:08:23 +00:00
(
cd $git_checkout
rm -f [0-9]*.patch
git -c core.abbrev=8 format-patch -O/dev/null --subject-prefix=PATCH -N \
--submodule=diff --no-signature --patience $tag
)
2021-11-03 21:32:14 +00:00
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
2022-01-11 17:18:03 +00:00
echo "--- Copy the following text into $project.spec file"
2021-11-03 21:32:14 +00:00
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"