aboutsummaryrefslogtreecommitdiff
path: root/xpkg
blob: c63962b78a6771f12d890de8d4039625857e1a7f (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

# xpkg -- 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##*/}"
	read ans
	case $ans in
	y*) opt=-U ;;
	*) exit 1 ;;
	esac
fi

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