forked from pool/kernel-source
		
	Copy from Kernel:HEAD/kernel-source based on submit request 31581 from user michal-m OBS-URL: https://build.opensuse.org/request/show/31581 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-source?expand=0&rev=84
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
#
 | 
						|
# Given a series.conf file and a directory with patches, applies them to the
 | 
						|
# current directory.
 | 
						|
# Used by kernel-source.spec.in and kernel-binary.spec.in
 | 
						|
 | 
						|
USAGE="$0 [--vanilla] <series.conf> <patchdir> [symbol ...]"
 | 
						|
 | 
						|
set -e
 | 
						|
set -o pipefail
 | 
						|
vanilla=false
 | 
						|
if test "$1" == "--vanilla"; then
 | 
						|
	vanilla=true
 | 
						|
	shift
 | 
						|
fi
 | 
						|
if test $# -lt 2; then
 | 
						|
	echo "$USAGE" >&2
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
DIR="${0%/*}"
 | 
						|
SERIES_CONF=$1
 | 
						|
PATCH_DIR=$2
 | 
						|
shift 2
 | 
						|
 | 
						|
trap 'rm -f "$series"' EXIT
 | 
						|
series=$(mktemp)
 | 
						|
# support for patches in patches.addon/series
 | 
						|
cp "$SERIES_CONF" "$series"
 | 
						|
if ! $vanilla && test -e "$PATCH_DIR/patches.addon/series"; then
 | 
						|
	# make it user-friendly and automatically prepend "patches.addon/"
 | 
						|
	# if there is no "/"
 | 
						|
	sed -r 's|^([[:space:]]*)([^#[:space:]][^/]*)$|\1patches.addon/\2|' \
 | 
						|
		"$PATCH_DIR/patches.addon/series" >>"$series"
 | 
						|
fi
 | 
						|
 | 
						|
(
 | 
						|
	echo "trap 'echo \"*** patch \$_ failed ***\"' ERR"
 | 
						|
	echo "set -ex"
 | 
						|
	"$DIR"/guards "$@" <"$series" | \
 | 
						|
	if $vanilla; then
 | 
						|
		egrep '^patches\.(kernel\.org|rpmify)/'
 | 
						|
	else
 | 
						|
		cat
 | 
						|
	fi |\
 | 
						|
	sed "s|^|patch -s -F0 -E -p1 --no-backup-if-mismatch -i $PATCH_DIR/|"
 | 
						|
) | sh
 | 
						|
 |