summaryrefslogtreecommitdiffstats
path: root/patches/opkg-utils-0.3.6/0002-Only-use-sort-name-on-versions-of-tar-which-support-.patch
blob: 84a2c816a41032cb0b512b4a92704c11e1e77460 (plain) (blame)
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
From: Michael Hansen <michael.j.hansen@hp.com>
Date: Mon, 26 Feb 2018 09:42:56 -0800
Subject: [PATCH] Only use --sort=name on versions of tar which support it.
 This fixes compatibility with bsdtar and old versions of GNU tar (e.g.
 RHEL6).

Signed-off-by: Michael Hansen <michael.j.hansen@hp.com>
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
---
 opkg-build | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/opkg-build b/opkg-build
index 265906f66a8a..094d69f8fad3 100755
--- a/opkg-build
+++ b/opkg-build
@@ -232,6 +232,11 @@ if [ $compressor = "gzip" ] ; then
 	compressorargs=$zipargs
 fi
 
+tsortargs=
+if tar --help 2>&1 | grep -- "--sort=" > /dev/null; then
+	tsortargs="--sort=name"
+fi
+
 shift $(($OPTIND - 1))
 
 # continue on to process additional arguments
@@ -280,8 +285,8 @@ mkdir $tmp_dir
 build_date="$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y-%m-%d)"
 
 echo $CONTROL > $tmp_dir/tarX
-( cd $pkg_dir && tar $ogargs --sort=name --mtime=$build_date -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
-( cd $pkg_dir/$CONTROL && tar $ogargs --sort=name --mtime=$build_date -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
+( cd $pkg_dir && tar $ogargs $tsortargs --mtime=$build_date -X $tmp_dir/tarX -c $tarformat . | $compressor $compressorargs > $tmp_dir/data.tar.$cext )
+( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --mtime=$build_date -c $tarformat . | gzip $zipargs > $tmp_dir/control.tar.gz )
 rm $tmp_dir/tarX
 
 echo "2.0" > $tmp_dir/debian-binary
@@ -296,7 +301,7 @@ rm -f $pkg_file
 if [ "$outer" = "ar" ] ; then
   ( cd $tmp_dir && ar -crfD $pkg_file ./debian-binary ./control.tar.gz ./data.tar.$cext )
 else
-  ( cd $tmp_dir && tar -c --sort=name --mtime=$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
+  ( cd $tmp_dir && tar -c $tsortargs --mtime=$build_date $tarformat ./debian-binary ./control.tar.gz ./data.tar.$cext | gzip $zipargs > $pkg_file )
 fi
 
 rm $tmp_dir/debian-binary $tmp_dir/data.tar.$cext $tmp_dir/control.tar.gz