diff options
Diffstat (limited to 'app-arch/makeself/files/makeself-unpack')
-rw-r--r-- | app-arch/makeself/files/makeself-unpack | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/app-arch/makeself/files/makeself-unpack b/app-arch/makeself/files/makeself-unpack deleted file mode 100644 index 90b98312c8b9..000000000000 --- a/app-arch/makeself/files/makeself-unpack +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash - -# Glue to keep unpack_makeself() unchanged -source /lib/gentoo/functions.sh -find_unpackable_file() { echo "$@"; } -debug-print() { :; } -emktemp() { mktemp "$@"; } -die() { eerror "$*"; exit 1; } -assert() { _pipestatus="${PIPESTATUS[*]}"; [[ "${_pipestatus// /}" -eq 0 ]] || die; } - -# Straight copied from unpacker.eclass ... should be kept in sync - -unpack_banner() { - echo ">>> Unpacking ${1##*/} to ${PWD}" -} - -unpack_makeself() { - local src_input=${1:-${A}} - local src=$(find_unpackable_file "${src_input}") - local skip=$2 - local exe=$3 - - [[ -z ${src} ]] && die "Could not locate source for '${src_input}'" - - unpack_banner "${src}" - - if [[ -z ${skip} ]] ; then - local ver=$(grep -m1 -a '#.*Makeself' "${src}" | awk '{print $NF}') - local skip=0 - exe=tail - case ${ver} in - 1.5.*|1.6.0-nv*) # tested 1.5.{3,4,5} ... guessing 1.5.x series is same - skip=$(grep -a ^skip= "${src}" | cut -d= -f2) - ;; - 2.0|2.0.1) - skip=$(grep -a ^$'\t'tail "${src}" | awk '{print $2}' | cut -b2-) - ;; - 2.1.1) - skip=$(grep -a ^offset= "${src}" | awk '{print $2}' | cut -b2-) - (( skip++ )) - ;; - 2.1.2) - skip=$(grep -a ^offset= "${src}" | awk '{print $3}' | head -n 1) - (( skip++ )) - ;; - 2.1.3) - skip=`grep -a ^offset= "${src}" | awk '{print $3}'` - (( skip++ )) - ;; - 2.1.4|2.1.5|2.1.6|2.2.0) - skip=$(grep -a offset=.*head.*wc "${src}" | awk '{print $3}' | head -n 1) - skip=$(head -n ${skip} "${src}" | wc -c) - exe="dd" - ;; - *) - eerror "I'm sorry, but I was unable to support the Makeself file." - eerror "The version I detected was '${ver}'." - eerror "Please file a bug about the file ${src##*/} at" - eerror "http://bugs.gentoo.org/ so that support can be added." - die "makeself version '${ver}' not supported" - ;; - esac - debug-print "Detected Makeself version ${ver} ... using ${skip} as offset" - fi - case ${exe} in - tail) exe="tail -n +${skip} '${src}'";; - dd) exe="dd ibs=${skip} skip=1 if='${src}'";; - *) die "makeself cant handle exe '${exe}'" - esac - - # lets grab the first few bytes of the file to figure out what kind of archive it is - local filetype tmpfile=$(emktemp) - eval ${exe} 2>/dev/null | head -c 512 > "${tmpfile}" - filetype=$(file -b "${tmpfile}") || die - case ${filetype} in - *tar\ archive*) - eval ${exe} | tar --no-same-owner -xf - - ;; - bzip2*) - eval ${exe} | bzip2 -dc | tar --no-same-owner -xf - - ;; - gzip*) - eval ${exe} | tar --no-same-owner -xzf - - ;; - compress*) - eval ${exe} | gunzip | tar --no-same-owner -xf - - ;; - XZ*) - eval ${exe} | unxz | tar --no-same-owner -xf - - ;; - *) - eerror "Unknown filetype \"${filetype}\" ?" - false - ;; - esac - assert "failure unpacking (${filetype}) makeself ${src##*/} ('${ver}' +${skip})" - rm "${tmpfile}" -} - -for x; do unpack_makeself "$x" ; done |