release 6.15.2 (preliminary)
This commit is contained in:
60
debian/bin/genpatch-zen
vendored
Executable file
60
debian/bin/genpatch-zen
vendored
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
set -ef
|
||||
|
||||
export GIT_OPTIONAL_LOCKS=0
|
||||
|
||||
w=$(git rev-parse --path-format=absolute --show-toplevel) ; : "${w:?}" ; cd "$w"
|
||||
|
||||
dst='debian/patches/tmp-zen'
|
||||
src='../linux-extras'
|
||||
branches='zen-sauce fixes'
|
||||
|
||||
if [ -d "${dst}" ] ; then rm -rf "${dst}" ; fi
|
||||
mkdir -p "${dst}"
|
||||
|
||||
kver=
|
||||
if [ -n "$1" ] ; then
|
||||
kver="$1"
|
||||
else
|
||||
kver=$(dpkg-parsechangelog --show-field=Version | sed -E 's/^[0-9]+://;s/-[^-]*$//' | cut -d. -f1-2)
|
||||
fi
|
||||
from="upstream/linux-${kver}.y"
|
||||
|
||||
t=$(mktemp -d) ; : "${t:?}"
|
||||
|
||||
cp -ar "${src}" "$t/"
|
||||
cd "$t/${src##*/}"
|
||||
|
||||
git config advice.skippedCherryPicks false
|
||||
|
||||
for b in ${branches} ; do
|
||||
ref="zen/${kver}/$b"
|
||||
r="tmp-rebase-$b"
|
||||
|
||||
git switch --detach "${ref}"
|
||||
git switch -C "$r"
|
||||
|
||||
rm -rf "$w/${dst}/$b" ; mkdir -p "$w/${dst}/$b"
|
||||
if git rebase "${from}" ; then
|
||||
git format-patch -N --subject-prefix='' --output-directory "$w/${dst}/$b" "${from}..$r"
|
||||
else
|
||||
echo >&2
|
||||
git rebase --abort
|
||||
|
||||
touch "$w/${dst}/$b/0000-rebase-failed"
|
||||
|
||||
base=$(git merge-base "${from}" "${ref}")
|
||||
git format-patch -N --subject-prefix='' --output-directory "$w/${dst}/$b" "${base}..${ref}"
|
||||
fi
|
||||
|
||||
git switch -q --detach "${ref}"
|
||||
git branch -D "$r"
|
||||
echo >&2
|
||||
done
|
||||
|
||||
cd "$w" ; rm -rf "$t"
|
||||
|
||||
echo >&2
|
||||
echo 'output:' >&2
|
||||
echo >&2
|
||||
find "${dst}/" -type f -name '*.patch' | sed -E 's#^debian/patches/##' | sort -V
|
Reference in New Issue
Block a user