summaryrefslogtreecommitdiffstats
path: root/etc/rc.firmware
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-03-21 23:45:22 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-03-21 23:45:22 +0000
commitd0b4f11653186dc92d23d5db01b2bc7a67578f7c (patch)
treef0354794d6cb015da21b677d4273413ac290c075 /etc/rc.firmware
parent568ce5f46067775190f1a5496434f6a41614593e (diff)
downloadpfsense-d0b4f11653186dc92d23d5db01b2bc7a67578f7c.zip
pfsense-d0b4f11653186dc92d23d5db01b2bc7a67578f7c.tar.gz
Correctly install files.
Diffstat (limited to 'etc/rc.firmware')
-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