diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-03-21 23:14:24 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-03-21 23:14:24 +0000 |
commit | 2864829c67fea328dcf922154655a0d40a4857e9 (patch) | |
tree | 132a24f3d8743aa222dcadd1fd23371678761c74 /etc/rc.firmware | |
parent | c3aba0c9122c2be2eccf1dd22617f91e41b79218 (diff) | |
download | pfsense-2864829c67fea328dcf922154655a0d40a4857e9.zip pfsense-2864829c67fea328dcf922154655a0d40a4857e9.tar.gz |
Correctly install files and directories.
Diffstat (limited to 'etc/rc.firmware')
-rwxr-xr-x | etc/rc.firmware | 11 |
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 |