From ec24d3c1bf563e0a14e2c36146a3071fed1756b1 Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Wed, 17 Aug 2011 15:03:51 -0700 Subject: 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. --- scripts/install/install-postinst-new | 24 +++++++++++++++++++----- 1 file 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 -- cgit v1.2.3