aboutsummaryrefslogtreecommitdiff
path: root/savepatch
blob: f4c2bd63ff82dfaf395c3e811437a6864a44f3bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/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"
echo "$root/$dir/$1"