summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.firmware11
1 files changed, 9 insertions, 2 deletions
diff --git a/etc/rc.firmware b/etc/rc.firmware
index 6cd7ead..93d7223 100755
--- a/etc/rc.firmware
+++ b/etc/rc.firmware
@@ -171,8 +171,15 @@ upgrade)
gzip -d $IMG
NEWIMG="`echo $IMG | sed 's/.tgz/.tar/'`"
echo "Installing $NEWIMG." | logger -p daemon.info -i -t Upgrade
- for i in `/usr/bin/tar tvf $NEWIMG`;
- do
+ for i in `/usr/bin/tar tvf $NEWIMG | egrep "(^d)" | nawk '{print $9;}'}'`;
+ do
+ if [ ! -d /$i ]; then
+ # directory does not exist, create it
+ mkdir -p /$i
+ fi
+ done
+ for i in `/usr/bin/tar tvf $NEWIMG | egrep -v "(^d|_md5)" | nawk '{print $9;}'`;
+ do
FILE=`basename ${i}`
echo "Working on ${FILE} - /${i}"
echo "Working on ${FILE} - /${i}" | logger -p daemon.info -i -t Upgrade
OpenPOWER on IntegriCloud