/[smeserver]/rpms/e-smith-base+ldap/sme8/e-smith-base-5.2.0-perform_restore-hal.patch
ViewVC logotype

Annotation of /rpms/e-smith-base+ldap/sme8/e-smith-base-5.2.0-perform_restore-hal.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Mon Feb 1 05:24:20 2010 UTC (14 years, 4 months ago) by dungog
Branch: MAIN
CVS Tags: e-smith-base+ldap-5_2_0-13_el5_sme, e-smith-base+ldap-5_2_0-15_el5_sme, e-smith-base+ldap-5_2_0-16_el5_sme, e-smith-base+ldap-5_2_0-18_el5_sme, e-smith-base+ldap-5_2_0-17_el5_sme, e-smith-base+ldap-5_2_0-14_el5_sme, HEAD
* Sun Jan 31 2010 Stephen Noble <support@dungog.net> 5.2.0-13.sme
- Fix usb console backup and restore [SME: 4909]

1 dungog 1.1 --- e-smith-base-5.2.0-old/root/usr/lib/perl5/site_perl/esmith/console/perform_restore.pm.orig 2008-03-26 17:49:00.000000000 +0100
2     +++ e-smith-base-5.2.0/root/usr/lib/perl5/site_perl/esmith/console/perform_restore.pm 2010-01-13 16:03:01.000000000 +0100
3     @@ -25,6 +25,7 @@
4     gettext("Do you wish to restore from backup?"),
5     );
6     return unless $rc == 0;
7     + mkdir("/mnt/bootstrap-console-backup");
8     system("/etc/init.d/messagebus", "start");
9     system("/etc/init.d/haldaemon", "start");
10     INITIATE_RESTORE:
11     @@ -39,19 +40,22 @@
12     unless ($rc == 0) {
13     system("/etc/init.d/haldaemon", "stop");
14     system("/etc/init.d/messagebus", "stop");
15     + rmdir("/mnt/bootstrap-console-backup");
16     return;
17     }
18     sleep(3);
19     my @dirs;
20     @dirs = ();
21     - open(FSTAB, "</etc/fstab");
22     - while (<FSTAB>)
23     - {
24     - next unless m:^(\S+)\s+(/media/\S+)\s+(\S+)\s+(\S+):;
25     - my ($dev, $mount, $filesys, $options) = ($1, $2, $3, $4);
26     - push @dirs, $mount;
27     + foreach my $udi (qx(hal-find-by-property --key volume.fsusage --string filesystem)) {
28     + $udi =~ m/^(\S+)/;
29     + my $is_mounted = qx(hal-get-property --udi $1 --key volume.is_mounted);
30     +
31     + if ($is_mounted eq "false\n") {
32     + my $blkdev = qx(hal-get-property --udi $1 --key block.device);
33     + $blkdev =~ m/^(\S+)/;
34     + push @dirs, $1;
35     + }
36     }
37     - close FSTAB;
38     unless ($dirs[0])
39     {
40     ($rc, $choice) = $console->message_page
41     @@ -82,10 +86,10 @@
42     my %args_hash = ( @args );
43     $device = $args_hash{$choice};
44     }
45     - system("/bin/mount", "$device");
46     + system("/bin/mount", "$device", "/mnt/bootstrap-console-backup");
47     sleep(1);
48    
49     - unless (-f "$device/smeserver.tgz")
50     + unless (-f "/mnt/bootstrap-console-backup/smeserver.tgz")
51     {
52     system("/bin/umount", "$device");
53     ($rc, $choice) = $console->message_page
54     @@ -98,14 +102,14 @@
55     goto INITIATE_RESTORE;
56     }
57     use File::stat;
58     - my $st = stat("$device/smeserver.tgz");
59     + my $st = stat("/mnt/bootstrap-console-backup/smeserver.tgz");
60     my $size = $st->size;
61    
62     ($rc, $choice) = $console->yesno_page
63     (
64     title => gettext("Start restore from backup"),
65     text =>
66     - gettext("Backup file found:") . " $device/smeserver.tgz " .
67     + gettext("Backup file found:") . " smeserver.tgz ($device) " .
68     gettext("size") . " $size " . gettext("bytes") .
69     "\n\n" .
70     gettext("Do you wish to restore from this file?"),
71     @@ -115,7 +119,7 @@
72     goto INITIATE_RESTORE;
73     }
74     system("/sbin/e-smith/signal-event", "pre-restore");
75     - system("(cd / ; cat $device/smeserver.tgz |
76     + system("(cd / ; cat /mnt/bootstrap-console-backup/smeserver.tgz |
77     pv -n -s $size |
78     gunzip |
79     tar xf - > /dev/null ) 2>&1 |
80     @@ -124,6 +128,7 @@
81     system("/bin/umount", "$device");
82     system("/etc/init.d/haldaemon", "stop");
83     system("/etc/init.d/messagebus", "stop");
84     + rmdir("/mnt/bootstrap-console-backup");
85     }
86    
87     #use esmith::console;

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed