932d3c4fb20004bfa76a718050cffb9ac8df6c58
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / support / dependencies / check-host-tar.sh
1 #!/bin/sh
2
3 candidate="$1"
4
5 tar=`which $candidate`
6 if [ ! -x "$tar" ]; then
7         tar=`which tar`
8         if [ ! -x "$tar" ]; then
9                 # echo nothing: no suitable tar found
10                 exit 1
11         fi
12 fi
13
14 # Output of 'tar --version' examples:
15 # tar (GNU tar) 1.15.1
16 # tar (GNU tar) 1.25
17 # bsdtar 2.8.3 - libarchive 2.8.3
18 version=`$tar --version | head -n 1 | sed 's/^.*\s\([0-9]\+\.\S\+\).*$/\1/'`
19 major=`echo "$version" | cut -d. -f1`
20 minor=`echo "$version" | cut -d. -f2`
21 bugfix=`echo "$version" | cut -d. -f3`
22 version_bsd=`$tar --version | grep 'bsdtar'`
23 if [ ! -z "${version_bsd}" ] ; then 
24   # mark as invalid version - not all command line options are available
25   major=0
26   minor=0
27 fi
28
29 # Minimal version = 1.17 (previous versions do not correctly unpack archives
30 # containing hard-links if the --strip-components option is used).
31 major_min=1
32 minor_min=17
33 if [ $major -gt $major_min ]; then
34         echo $tar
35 else
36         if [ $major -eq $major_min -a $minor -ge $minor_min ]; then
37                 echo $tar
38         else
39                 # echo nothing: no suitable tar found
40                 exit 1
41         fi
42 fi