diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2008-03-17 03:54:28 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2008-03-17 03:54:28 +0000 |
commit | 41235422dce4d575bdf4e6498e7eca69ab234ff8 (patch) | |
tree | 7d22c36c93b83f0d460eb80bbbc01bdd13811928 /etc/rc.firmware | |
parent | dbb5970764913bc649299923f952d34678f794da (diff) | |
download | pfsense-41235422dce4d575bdf4e6498e7eca69ab234ff8.zip pfsense-41235422dce4d575bdf4e6498e7eca69ab234ff8.tar.gz |
Uncompress archive before tarring it. This avoids compression seek slowdowns
Suggested-by: cmb
Diffstat (limited to 'etc/rc.firmware')
-rwxr-xr-x | etc/rc.firmware | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/etc/rc.firmware b/etc/rc.firmware index 423ab53..d17b55f 100755 --- a/etc/rc.firmware +++ b/etc/rc.firmware @@ -167,17 +167,20 @@ upgrade) /etc/rc.conf_mount_rw /sbin/mount -w -o noatime /cf 2>/dev/null /sbin/mount -w -o noatime / 2>/dev/null - echo "Installing $IMG." | logger -p daemon.info -i -t Upgrade - for i in `/usr/bin/tar tvzf $IMG | egrep -v "(^d|_md5)" | nawk '{print $9;}'`; + echo "Extracting $IMG." | logger -p daemon.info -i -t 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 tvzf $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 - (cd /tmp && /usr/bin/tar xzf ${IMG} ${i}) + (cd /tmp && /usr/bin/tar xf ${NEWIMG} ${i}) echo "Installing /${i}" echo "Installing /${i}" | logger -p daemon.info -i -t Upgrade /usr/bin/install -S /tmp/${i} /${i} - chflags noschg /tmp/${i}.* + chflags noschg /tmp/${i} /bin/rm -f /tmp/${i} done /usr/bin/find / -name CVS -exec rm -fr {} \; |