diff options
Diffstat (limited to 'undopatch')
-rwxr-xr-x | undopatch | 32 |
1 files changed, 9 insertions, 23 deletions
@@ -1,26 +1,12 @@ -#!/bin/sh +#!/bin/sh -e -case "$PWD" in -/usr/pkgsrc/*/*) ;; -*) echo not in package directory 1>&2; exit 1 ;; -esac +# undopatch -- undo patches applied to pkgsrc build -w=/usr/pkgsrc/distfiles/$(sed -n '/.*(\(.*\)).*/{s//\1/;p;q}' distinfo) - -done=$(dirname $w)/.$(basename $w).done - -if [ ! -e "$done" ]; then - echo extracting archive... 1>&2 - cd $(dirname $w) - tar xf $w - touch $done - cd - -fi - -echo undoing patches... 1>&2 -cmd=echo\ cp -[ x"$1" = x"-x" ] && cmd=cp || echo '(preview, no -x)' 1>&2 -find . -name '*.orig' | while read f; do - f=${f%.orig} - $cmd $(dirname $w)/${f#./work/} $f +d=$(xpkg) +echo=echo +echo "${0##*/}: undoing patches..." 1>&2 +[ x"$1" = x"-x" ] && echo= || echo '(preview, no -x)' 1>&2 +find work -name '*.orig' | while read -r f; do + $echo cp "$d/${f#work/}" "${f%.orig}" + $echo rm "$f" done |