#!/bin/sh set -e set -u fatal () { echo "$@" >&2 exit 1 } archive="$1" sourcedir="$2" shift 2 if ! [ -f "$archive" ]; then fatal "No such file: $archive" fi case "$archive" in *.tar.*|*.t?z|*.tbz2) [ -d "$sourcedir" ] || mkdir -p "$sourcedir" gtar xf "$archive" -C "$sourcedir" --strip=1 ;; *) fatal "Unsupported archive: $archive" ;; esac