summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2011-08-17 15:03:51 -0700
committerBob Gilligan <gilligan@vyatta.com>2011-08-17 15:03:51 -0700
commitec24d3c1bf563e0a14e2c36146a3071fed1756b1 (patch)
treea3b716de7a9c96837bb2b1b2f4bc3882262e108e
parent5492f1db3e89e116ba3520dbe78648f23aea4dc3 (diff)
downloadvyatta-cfg-system-ec24d3c1bf563e0a14e2c36146a3071fed1756b1.tar.gz
vyatta-cfg-system-ec24d3c1bf563e0a14e2c36146a3071fed1756b1.zip
Bugfix 7350: Allow default config.boot to be selected as config file.
Previously, the user could only select the running config file, which includes any changes the user may have made and saved, plus system generated changes such as the MAC addresses of ethernet interfaces. This change allows them to select that file or the system's default config file.
-rwxr-xr-xscripts/install/install-postinst-new24
1 files changed, 19 insertions, 5 deletions
diff --git a/scripts/install/install-postinst-new b/scripts/install/install-postinst-new
index c96f5657..0f7a9b61 100755
--- a/scripts/install/install-postinst-new
+++ b/scripts/install/install-postinst-new
@@ -39,9 +39,16 @@ copy_config () {
else
# Find the config files and give the user the option to copy config files
# TODO: this needs cleaned up
- if [ -f "${VYATTA_CFG_DIR}/config.boot" ]; then
- config=${VYATTA_CFG_DIR}/config.boot
+
+ # First candidate: The config file on the running system. Note
+ # that this will include any changes made and saved by the user,
+ # as well as changes such as interface MAC addresses automatically
+ # generated by the user. So it is the first choice.
+ if [ -f "${VYATTA_NEW_CFG_DIR}/config.boot" ]; then
+ config=${VYATTA_NEW_CFG_DIR}/config.boot
fi
+
+ # Second candidate: The config file on floppy, if one exists.
if [ -f "${FD_CFG_DIR}/config.boot" ]; then
if [ -z "$config" ]; then
config="${FD_CFG_DIR}/config.boot"
@@ -50,10 +57,16 @@ copy_config () {
fi
fi
+ # Third candidate: The default config file
+ DEF_CONF=$vyatta_sysconfdir/config.boot.default
+ if [ -f $DEF_CONF ]; then
+ config="$config $DEF_CONF"
+ fi
+
if [ -n "$config" ]; then
- echo "I found the following configuration files"
+ echo "I found the following configuration files:"
for file in $config; do
- echo $file
+ echo " $file"
done
default=$(echo -e $config | awk '{ print $1 }')
@@ -64,7 +77,8 @@ copy_config () {
done
echo
- cp -p $configfile $cfg_dir/ >&/dev/null
+ echo "Copying $configfile to $INSTALL_DRIVE."
+ cp -p $configfile $cfg_dir/config.boot >&/dev/null
if [ $? != 0 ]; then
lecho "Error copying file $configfile to config directory. Exiting..."
exit 1