mirror of
https://git.openwrt.org/openwrt/openwrt.git/
synced 2025-10-05 23:32:47 +02: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>
46 lines
1.1 KiB
Bash
Executable File
46 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
|