diff -ruN e-smith-base-5.4.0.old/root/sbin/e-smith/console-menu-items/usbRestore.pl e-smith-base-5.4.0/root/sbin/e-smith/console-menu-items/usbRestore.pl --- e-smith-base-5.4.0.old/root/sbin/e-smith/console-menu-items/usbRestore.pl 1969-12-31 16:00:00.000000000 -0800 +++ e-smith-base-5.4.0/root/sbin/e-smith/console-menu-items/usbRestore.pl 2014-03-06 20:27:00.000000000 -0800 @@ -0,0 +1,3 @@ +package esmith::console::perform_restore; +use esmith::console::perform_restore; +return new esmith::console::perform_restore; diff -ruN e-smith-base-5.4.0.old/root/usr/share/perl5/vendor_perl/esmith/console/perform_restore.pm e-smith-base-5.4.0/root/usr/share/perl5/vendor_perl/esmith/console/perform_restore.pm --- e-smith-base-5.4.0.old/root/usr/share/perl5/vendor_perl/esmith/console/perform_restore.pm 2014-03-06 20:19:15.000000000 -0800 +++ e-smith-base-5.4.0/root/usr/share/perl5/vendor_perl/esmith/console/perform_restore.pm 2014-03-06 21:05:43.000000000 -0800 @@ -8,15 +8,28 @@ sub new { my $class = shift; - my $self = {}; + my $self = { + name => gettext("Perform restore from removable media"), + order => installOrder(), + }; bless $self, $class; return $self; } + +sub name +{ + return $_[0]->{name}; +} + +sub order +{ + return $_[0]->{order}; +} + sub doit { my ($self, $console, $db) = @_; - return if ($db->get_value('PasswordSet') eq 'yes'); # Too late to do a restore my ($rc, $choice) = $console->yesno_page ( title => gettext("Restore From Backup"), @@ -132,6 +145,15 @@ system("/sbin/e-smith/signal-event", "post-upgrade"); } +# Determine if this server is a fresh install for restore from backup +sub installOrder +{ +#my $db = esmith::ConfigDB::unsaved->open; +#return if ($db->get_value('PasswordSet') eq 'yes'); # Too late to do a restore + my $order = (`grep :x:5...: /etc/group`) ? -1 : 90; + return $order; +} + #use esmith::console; #esmith::console::perform_restore->new->doit(esmith::console->new, # esmith::ConfigDB->open); diff -ruN e-smith-base-5.4.0.old/root/sbin/e-smith/bootstrap-console e-smith-base-5.4.0/root/sbin/e-smith/bootstrap-console --- e-smith-base-5.4.0.old/root/sbin/e-smith/bootstrap-console 2008-03-26 09:49:00.000000000 -0700 +++ e-smith-base-5.4.0/root/sbin/e-smith/bootstrap-console 2014-03-08 09:27:49.000000000 -0800 @@ -36,9 +36,11 @@ use esmith::console::backup_running; esmith::console::backup_running->new->doit($console, $db); -use esmith::console::perform_restore; -esmith::console::perform_restore->new->doit($console, $db); - +unless ($db->get_value('PasswordSet') eq 'yes') # Too late to do a restore +{ + use esmith::console::perform_restore; + esmith::console::perform_restore->new->doit($console, $db); +} use esmith::console::system_password; esmith::console::system_password->new->doit($console, $db);