#!/bin/sh # Read in library functions if ! [ -r @LIB@/patchfns ] then echo "Cannot read library @LIB@/patchfns" >&2 exit 1 fi . @LIB@/patchfns usage() { echo "Usage: importpatch [-f] [-p num] [-n patchname] [patchfile]" if [ x$1 = x-h ] then cat < $tmp then echo "Cannot read from standard input." exit 1 fi input_file=$tmp ;; *.gz) tmp=$(mktemp /tmp/patch-scripts.XXXXXX) if ! gzip -cd "$input_file" > $tmp then echo "Cannot decompress file $input_file" exit 1 fi input_file=$tmp ;; *.bz2) tmp=$(mktemp /tmp/patch-scripts.XXXXXX) if ! bzip2 -cd "$input_file" > $tmp then echo "Cannot decompress file $input_file" exit fi input_file=$tmp ;; *) if ! [ -r "$input_file" ] then echo "Cannot read from file $input_file" exit 1 fi esac if [ -e "$patch_file" ] then if [ -z "$opt_force" ] then echo "Patch $patch exists. Replace with -f." exit 1 fi if grep -q '^%patch$' "$patch_file" && ! grep -q '^%patch$' "$input_file" then echo "Updating %patch section of patch $patch" if ! @LIB@/parse-patch -u patch $patch_file< "$input_file" then echo "Failed to update %patch section of patch $patch" exit 1 fi else echo "Replacing patch $patch with new version" if ! cat "$input_file" > "$patch_file" then echo "Failed to replace patch $patch" exit 1 fi fi else echo "Importing patch $patch (stored as $patch_file)" if ! grep -q '^%patch$' "$input_file" then echo "%patch" >> "$patch_file" fi if ! cat "$input_file" >> "$patch_file" then echo "Failed to import patch $patch" exit 1 fi fi rm -rf .pc/$patch if ! patch_in_series $patch && ! insert_in_series $opt_patch "$patch_args" then echo "Failed to insert $patch in file series." fi if [ -n "$tmp" ] then rm -f $tmp fi