mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-10 08:44:39 +01:00
Since we are not using patch -b, *.orig files are only created when
there are conflicts, or never according to posix patch.
As such, it doesn't really make sense to always delete *.orig files
presuming they are patch backups, even if they are patch backups.
Doing so is both deleting potentially useful information for failed
patch applications and creating hard to diagnose bugs [1].
In a similar vein, checking for *.rej files does not add any value
since we're already checking the patch command's return code.
[1]: https://github.com/openwrt/packages/issues/27485
Signed-off-by: George Tsiamasiotis <george@tsiamasiotis.gr>
Link: https://github.com/openwrt/openwrt/pull/20141
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 75ca6bafd6)
Link: https://github.com/openwrt/openwrt/pull/20742
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
45 lines
1.1 KiB
Bash
Executable file
45 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
# A little script I whipped up to make it easy to
|
|
# patch source trees and have sane error handling
|
|
# -Erik
|
|
#
|
|
# (c) 2002 Erik Andersen <andersen@codepoet.org>
|
|
|
|
# Set directories from arguments, or use defaults.
|
|
targetdir=${1-.}
|
|
patchdir=${2-../kernel-patches}
|
|
patchpattern=${3-*}
|
|
|
|
if [ ! -d "${targetdir}" ] ; then
|
|
echo "Aborting. '${targetdir}' is not a directory."
|
|
exit 1
|
|
fi
|
|
if [ ! -d "${patchdir}" ] ; then
|
|
echo "Aborting. '${patchdir}' is not a directory."
|
|
exit 1
|
|
fi
|
|
|
|
for i in ${patchdir}/${patchpattern} ; do
|
|
case "$i" in
|
|
*.gz)
|
|
type="gzip"; uncomp="gunzip -dc"; ;;
|
|
*.bz)
|
|
type="bzip"; uncomp="bunzip -dc"; ;;
|
|
*.bz2)
|
|
type="bzip2"; uncomp="bunzip2 -dc"; ;;
|
|
*.zip)
|
|
type="zip"; uncomp="unzip -d"; ;;
|
|
*.Z)
|
|
type="compress"; uncomp="uncompress -c"; ;;
|
|
*)
|
|
type="plaintext"; uncomp="cat"; ;;
|
|
esac
|
|
[ -d "${i}" ] && echo "Ignoring subdirectory ${i}" && continue
|
|
echo ""
|
|
echo "Applying ${i} using ${type}: "
|
|
${uncomp} ${i} | ${PATCH:-patch} -f -p1 -d ${targetdir}
|
|
if [ $? != 0 ] ; then
|
|
echo "Patch failed! Please fix $i!"
|
|
exit 1
|
|
fi
|
|
done
|