aboutsummaryrefslogtreecommitdiff
path: root/psx
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-07-18 19:08:13 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-07-18 19:09:58 +0200
commit2deabc98f6ca8fd36165bbcb800affea8d990b63 (patch)
treee8fae1ab5cb3c4c97132ec458d25ffa8d4b91d0c /psx
parent0ff0d2c368c153ff4e24ae4662db60a5485b4586 (diff)
downloadpatches-2deabc98f6ca8fd36165bbcb800affea8d990b63.tar.gz
Rename undopatch to psu, xpkg to psx
Diffstat (limited to 'psx')
-rwxr-xr-xpsx26
1 files changed, 26 insertions, 0 deletions
diff --git a/psx b/psx
new file mode 100755
index 0000000..c0df08f
--- /dev/null
+++ b/psx
@@ -0,0 +1,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##*/}"
+ read ans
+ case $ans in
+ y*) opt=-U ;;
+ *) exit 1 ;;
+ esac
+fi
+
+echo extracting archive... 1>&2
+tar -x $opt -f "$f"
+echo "$d"