/usr/bin/gitunpack is in gnuit 4.9.5-3+b2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | #! /bin/sh
###############################################################################
### ###
### GNU Interactive Tools unpack script ###
### Copyright (C) 1997-2000, 2006-2007 Free Software Foundation, Inc. ###
### ###
### This file is part of gnuit. ###
### ###
### gnuit is free software: you can redistribute it and/or modify it ###
### under the terms of the GNU General Public License as published ###
### by the Free Software Foundation, either version 3 of the ###
### License, or (at your option) any later version. ###
### ###
### gnuit is distributed in the hope that it will be useful, but ###
### WITHOUT ANY WARRANTY; without even the implied warranty of ###
### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ###
### GNU General Public License for more details. ###
### ###
### You should have received a copy of the GNU General Public ###
### License along with this program. If not, see ###
### http://www.gnu.org/licenses/. ###
### ###
### Written by Tudor Hulubei and Viorel Anghel. ###
### ###
###############################################################################
# We can have one or two arguments.
if test "$#" -lt 2; then
echo "usage: $0 destdir archives..."
exit 1
fi
destdir="$1"
srcdir=`pwd`
cd "$destdir" 2> /dev/null
if test "$?" -ne 0; then
gitmkdirs "$destdir"
if test "$?" -ne 0; then
exit 1;
fi
cd "$destdir"
if test "$?" -ne 0; then
exit 1;
fi
fi
exit_code=0
while true; do
archive=$2
if test -d "$archive"; then
echo "$0: $archive: not a regular file" >&2
exit_code=1
else
# `ln' will fail if $destdir is the same as $srcdir.
ln -s "$srcdir/$archive" "$archive" 2> /dev/null
link_created=$?
case "$archive" in
*.[tT][aA][rR]) tar -xvf "$archive";;
*.[tT][aA][rR].[bB][zZ]) bzip -dc "$archive"|tar -xvf -;;
*.[tT][aA][rR].[bB][zZ]2) bzip2 -dc "$archive"|tar -xvf -;;
*.[tT][aA][rR].[gG][zZ]) gzip -dc -- "$archive"|tar -xvf -;;
*.[tT][aA][rR].[zZ]) uncompress -dc "$archive"|tar -xvf -;;
*.[cC][pP][iI][oO]) cat "$archive"|cpio -i -d;;
*.[cC][pP][iI][oO].[bB][zZ]) bzip -dc "$archive"|cpio -i -d;;
*.[cC][pP][iI][oO].[bB][zZ]2) bzip2 -dc "$archive"|cpio -i -d;;
*.[cC][pP][iI][oO].[gG][zZ]) gzip -dc -- "$archive"|cpio -i -d;;
*.[cC][pP][iI][oO].[zZ]) uncompress -dc "$archive"|cpio -i -d;;
*.[tT][gG][zZ]) gzip -dc -- "$archive"|tar -xvf -;;
*.[tT][aA][zZ]) uncompress -dc "$archive"|tar -xvf -;;
*.[tT][rR][zZ]) uncompress -dc "$archive"|tar -xvf -;;
*.[jJ][aA][rR]) jar -xvf "$archive";;
*.[zZ][iI][pP]) unzip -o "$archive";;
*.[aA][rR][jJ]|*.[aA][0-9][0-9]) unarj x "$archive";;
*.[rR][aA][rR]|*.[rR][0-9][0-9]) rar x -y -r -v "$archive";;
*.[lL][hH][aA]) lha -xvf "$archive";;
*.[lL][zZ][hH]) lha -xvf "$archive";;
*.[zZ]) uncompress "$archive";;
*.[bB][zZ]) bzip -d "$archive";;
*.[bB][zZ]2) bzip2 -d "$archive";;
*.[gG][zZ]) gunzip "$archive";;
*.[sS][hH][aA][rR]) sh "$archive";;
*.[uU][uU]) uudecode "$archive";;
*.[rR][pP][mM]) rpm2cpio "$archive"|cpio -v -i -d;;
*.[dD][eE][bB]) ar -xv "$archive";;
*.[aA]) ar -xv "$archive";;
*) echo "$0: $archive: unknown archive type" >&2
exit_code=1
esac
if test $? -ne 0; then
exit_code=$?
fi
if test "$link_created" -eq 0; then
rm "$archive"
fi
fi
shift
if test $# -eq 1; then
exit $exit_code
fi
done
|