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

Annotation of /rpms/e-smith-base+ldap/sme8/e-smith-base-5.2.0-perform_backup-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 diff -urN e-smith-base-5.2.0.po/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm e-smith-base-5.2.0.new/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm
2     --- e-smith-base-5.2.0.po/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm 2010-01-30 01:59:07.000000000 +1100
3     +++ e-smith-base-5.2.0.new/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm 2010-01-31 15:40:39.000000000 +1100
4     @@ -57,7 +57,7 @@
5     close DU;
6    
7     open(OLDSTDOUT, ">&STDOUT");
8     - unless (open(STDOUT, ">/$device/smeserver.tgz"))
9     + unless (open(STDOUT, ">/mnt/bootstrap-console-backup/smeserver.tgz"))
10     {
11     return gettext("Could not create backup file on device").": $!\n";
12     }
13     @@ -150,16 +150,25 @@
14     );
15     return unless $rc == 0;
16     sleep(3);
17     - my @dirs;
18     - @dirs = ();
19     - open(FSTAB, "</etc/fstab");
20     - while (<FSTAB>)
21     - {
22     - next unless m:^(\S+)\s+(/media/\S+)\s+(\S+)\s+(\S+):;
23     - my ($dev, $mount, $filesys, $options) = ($1, $2, $3, $4);
24     - push @dirs, $mount unless $mount =~ m{/floppy|/cd|/dvd};
25     + my @dirs = ();
26     + my @labels = ();
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     + if ($is_mounted eq "false\n") {
37     + my $vollbl = qx(hal-get-property --udi $1 --key volume.label);
38     + $vollbl =~ m/^(\S+)/;
39     + if ($vollbl =~ /^\s/) {$vollbl = 'nolabel';}
40     + chomp $vollbl;
41     + push @labels, lc($vollbl);
42     + }
43     }
44     - close FSTAB;
45     unless ($dirs[0])
46     {
47     ($rc, $choice) = $console->message_page
48     @@ -171,6 +180,8 @@
49     );
50     goto INITIATE_BACKUP;
51     }
52     + mkdir("/mnt/bootstrap-console-backup");
53     +
54     my $device = $dirs[0];
55     if (defined $dirs[1])
56     {
57     @@ -180,7 +191,7 @@
58     my ($rc, $choice) = $console->menu_page
59     (
60     title => gettext("Choose device to use for backup"),
61     - text => gettext("Please select which device should be used for the backup file."),
62     + text => ("@dirs \n @labels"),
63     argsref => \@args,
64     left => gettext("Cancel"),
65     right => gettext("OK"),
66     @@ -189,9 +200,10 @@
67     my %args_hash = ( @args );
68     $device = $args_hash{$choice};
69     }
70     - system("/bin/mount", "$device");
71     + system("/bin/mount", "$device", "/mnt/bootstrap-console-backup");
72     +
73     use File::stat;
74     - my $st = stat("$device/smeserver.tgz");
75     + my $st = stat("/mnt/bootstrap-console-backup/smeserver.tgz");
76     if ($st)
77     {
78     # TODO
79     @@ -219,9 +231,10 @@
80     }
81     close DU;
82    
83     - $console->gauge(make_backup_callback($device), 'title' => gettext("Creating backup file"));
84     + $console->gauge(make_backup_callback("/mnt/bootstrap-console-backup"), 'title' => gettext("Creating backup file"));
85    
86     - system("/bin/umount", "$device");
87     + system("/bin/umount", "/mnt/bootstrap-console-backup");
88     + rmdir("/mnt/bootstrap-console-backup");
89     system("/sbin/e-smith/signal-event", "post-backup");
90     ($rc, $choice) = $console->message_page
91     (

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