summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2008-03-21 23:14:24 +0000
committerScott Ullrich <sullrich@pfsense.org>2008-03-21 23:14:24 +0000
commit2864829c67fea328dcf922154655a0d40a4857e9 (patch)
tree132a24f3d8743aa222dcadd1fd23371678761c74 /etc
parentc3aba0c9122c2be2eccf1dd22617f91e41b79218 (diff)
downloadpfsense-2864829c67fea328dcf922154655a0d40a4857e9.zip
pfsense-2864829c67fea328dcf922154655a0d40a4857e9.tar.gz
Correctly install files and directories.
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