aboutsummaryrefslogtreecommitdiff
path: root/savepatch
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-07-18 18:49:13 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-07-18 18:49:37 +0200
commit123687a5aa3482b5ba9ca86179526c94422b409d (patch)
tree83fa480a7727cd67eb5840e7555d984478c53afd /savepatch
parent830afa08f95e2026f97b62d22484c27d42c104b1 (diff)
downloadpatches-123687a5aa3482b5ba9ca86179526c94422b409d.tar.gz
Add savepatch, xpkg scripts
Diffstat (limited to 'savepatch')
-rwxr-xr-xsavepatch35
1 files changed, 35 insertions, 0 deletions
diff --git a/savepatch b/savepatch
new file mode 100755
index 0000000..ae0984f
--- /dev/null
+++ b/savepatch
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# savepatch -- save patch on standard in to ~/patches
+
+root=/home/john/patches
+
+if [ -z "$1" ]; then
+ echo "usage: ${0##*/} patch-name" 1>&2
+ exit 1
+fi
+
+case "$PWD" in
+/usr/pkgsrc/*) dir=$(pwd | cut -d/ -f4,5) || dir= ;;
+/usr/*src/*) dir=${PWD#/usr/} ;;
+*) dir=
+esac
+
+if [ -z "$dir" ]; then
+ echo "${0##*/}: could not determine package" 1>&2
+ printf "package: " 1>&2
+ read dir </dev/tty
+fi
+
+mkdir -p "$root/$dir"
+
+if [ -e "$root/$dir/$1" ]; then
+ printf "%s: %s already exists; overwrite? " "${0##*/}" "$dir/$1" 1>&2
+ read ans </dev/tty
+ case $ans in
+ y*) ;;
+ *) exit 1 ;;
+ esac
+fi
+
+cat > "$root/$dir/$1"