diff options
author | Martin Quinson <mquinson@debian.org> | 2003-01-29 09:19:25 +0000 |
---|---|---|
committer | Martin Quinson <mquinson@debian.org> | 2003-01-29 09:19:25 +0000 |
commit | 9df01863feac767ebe01e99cfc597632416ca27a (patch) | |
tree | 27b023026b54e2db2a784ce86b7b075868eaf960 /importpatch.in | |
parent | 55181ac1bcf951cc22cba26dfbca813fba2b0167 (diff) | |
download | quilt-9df01863feac767ebe01e99cfc597632416ca27a.tar.gz |
Version 0.21 from Andreas Gruenbacher
Diffstat (limited to 'importpatch.in')
-rwxr-xr-x | importpatch.in | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/importpatch.in b/importpatch.in deleted file mode 100755 index 2e0c8cf..0000000 --- a/importpatch.in +++ /dev/null @@ -1,194 +0,0 @@ -#! /bin/bash - -# This script is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# See the COPYING and AUTHORS files for more details. - -# 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 <<EOF - -Import an external patch. If a patch file name is specified, -the patch will be stored in this relative path in the patches/ -directory. Else, if an input file name is given this name is -used as the patch name. - --p num - Number of directory levels to strip when aplying (default=1) - --n patchfile - File name relative to patches/ to use. - --f Overwite/update existing patches. - -EOF - exit 0 - else - exit 1 - fi -} - -options=`getopt -o fn:p:h -- "$@"` - -if [ $? -ne 0 ] -then - usage -fi - -eval set -- "$options" - -while true -do - case "$1" in - -n) - opt_patch=$(echo "$2" | - sed -e 's:^'"$P"'patches/::' -e 's:^\.pc/::') - shift 2 ;; - -p) - opt_strip=$2 - shift 2 ;; - -f) - opt_force=1 - shift ;; - -h) - usage -h ;; - --) - shift - break ;; - esac -done - -if [ $# -eq 1 ] -then - input_file=$1 -elif [ $# -gt 1 ] -then - usage -fi - -[ -n "$opt_strip" ] && patch_args="-p$opt_strip" - -if [ -n "$opt_patch" ] -then - patch=$(stripit "$opt_patch") - patch_file="${P}patches/$opt_patch" -else - patch="$(stripit "$input_file")" - if [ -n "$patch" ] - then - opt_patch="$patch.patch" - else - echo "Please use -n to specify a patch file name." - exit 1 - fi - patch_file="${P}patches/$opt_patch" -fi - -if echo "$patch_file" | grep -q -e $'[ \t]' -then - echo "Patch file name \"$patch_file\" contains whitespace." - exit 1 -fi - -if is_applied $patch -then - echo "Patch $patch is applied." - exit 1 -fi - -case "$input_file" in -'') - tmp=$(mktemp /tmp/patch-scripts.XXXXXX) - if ! 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 |