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);