aboutsummaryrefslogtreecommitdiff
path: root/bin/psx
blob: 1066c5f8f6eab2a1b40dca4331d2388957372dd4 (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
#!/bin/sh -e

# psx -- fetch and extract pkgsrc archive

case "$PWD" in
/usr/pkgsrc/*/*) ;;
*) echo "${0##*/}: not in package directory" 1>&2; exit 1 ;;
esac

make fetch
f=/usr/pkgsrc/distfiles/$(sed -n '/.*(\(.*\)).*/{s//\1/;p;q}' distinfo)
d=$(tar -tf "$f" | head -1)

opt=
if [ -e "$d" ]; then
	printf "%s: $d already exists; overwrite? " "${0##*/}" 1>&2
	read ans </dev/tty
	case $ans in
	y*) opt=-U ;;
	*) exit 1 ;;
	esac
fi

echo extracting archive... 1>&2
tar -x $opt -f "$f" 1>&2
echo "$d"