diff options
author | John Ankarström <john@ankarstrom.se> | 2021-07-26 22:21:40 +0200 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2021-07-26 22:22:04 +0200 |
commit | 763e138b3dc2c5b68aa7edf8d3e9e520380495d1 (patch) | |
tree | 50e2ec4f52404cf9e800b09404c6bcc25171f767 | |
parent | 5d8522cf2e5c661fb9250fb261e36b00de5dbe42 (diff) | |
download | patches-763e138b3dc2c5b68aa7edf8d3e9e520380495d1.tar.gz |
Add pkgdiffex script
-rwxr-xr-x | bin/pkgdiffex | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bin/pkgdiffex b/bin/pkgdiffex new file mode 100755 index 0000000..d2fea2b --- /dev/null +++ b/bin/pkgdiffex @@ -0,0 +1,38 @@ +#!/bin/sh + +# pkgdiffex -- diff files against existing patches + +if [ $# -eq 0 ]; then + echo "usage: ${0##*/} file [...]" 1>&2 + exit 1 +fi + +i=0 +while [ $((++i)) -le $# ]; do + o=${1%.orig}.orig + if [ ! -f "$o" ]; then + echo "${0##*/}: file $o does not exist" 1>&2 + exit 1 + fi + shift + set -- "$@" "$o" +done + +cmd=cat +for o in "$@"; do + mv "${o%.orig}" "${o%.orig}".new # f -> f.new + cp "$o" "$o"inal # f.orig +> f.original + cp "$o" "${o%.orig}" # f.orig +> f +done + +ls "$(whereispatch -i)"/patch-* | while read -r patch; do + pkgpatch <$patch +done + +for o in "$@"; do + mv "${o%.orig}" "$o" # f -> f.orig + mv "${o%.orig}".new "${o%.orig}" # f.new -> f + pkgdiff "${o%.orig}" | $cmd + mv "$o"inal "$o" # f.original -> f.orig + cmd='sed -n 2,$p' +done |