summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@intel.com>2011-12-29 19:29:06 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-03 12:10:51 +0000
commitfe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0 (patch)
tree0c1866ce86b41d02e40eb0768153f4bef7e63775 /scripts
parentf3c4532a24f0871f57768aa18808c5b8069de4f7 (diff)
downloadopenembedded-core-fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0.tar.gz
openembedded-core-fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0.tar.bz2
openembedded-core-fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0.tar.xz
openembedded-core-fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0.zip
rpm2cpio.sh: make compression tests case-insensitive
In the rpm2cpio.sh script, the output of $COMPRESSION is tested for certain lowercase strings such as 'xz' in order to determine the decompression to use. The problem is that the output strings tested are from the output of 'file', which uses different cases in different versions e.g. file-5.09 prints: tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: XZ compressed data while file-5.03 prints: tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: xz compressed data In the former, the XZ string causes xz compressed payloads to incorrectly fall through to the catch-all lzma case. Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/rpm2cpio.sh8
1 files changed, 4 insertions, 4 deletions
diff --git a/scripts/rpm2cpio.sh b/scripts/rpm2cpio.sh
index 426fd77bb..5df8c0f70 100755
--- a/scripts/rpm2cpio.sh
+++ b/scripts/rpm2cpio.sh
@@ -27,13 +27,13 @@ o=`expr $o + $hdrsize`
EXTRACTOR="dd if=$pkg ibs=$o skip=1"
COMPRESSION=`($EXTRACTOR |file -) 2>/dev/null`
-if echo $COMPRESSION |grep -q gzip; then
+if echo $COMPRESSION |grep -iq gzip; then
DECOMPRESSOR=gunzip
-elif echo $COMPRESSION |grep -q bzip2; then
+elif echo $COMPRESSION |grep -iq bzip2; then
DECOMPRESSOR=bunzip2
-elif echo $COMPRESSION |grep -q xz; then
+elif echo $COMPRESSION |grep -iq xz; then
DECOMPRESSOR=unxz
-elif echo $COMPRESSION |grep -q cpio; then
+elif echo $COMPRESSION |grep -iq cpio; then
DECOMPRESSOR=cat
else
# Most versions of file don't support LZMA, therefore we assume