/[smeserver]/rpms/e-smith-base/sme8/e-smith-base-4.18.0-usbback_errcheck.patch
ViewVC logotype

Annotation of /rpms/e-smith-base/sme8/e-smith-base-4.18.0-usbback_errcheck.patch

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


Revision 1.1 - (hide annotations) (download)
Thu Jun 28 14:38:05 2007 UTC (17 years, 4 months ago) by slords
Branch: MAIN
CVS Tags: e-smith-base-4_18_0-89_el5_sme, e-smith-base-4_18_0-82_el5_sme, e-smith-base-4_18_0-67_el5_sme, e-smith-base-4_18_0-88_el5_sme, e-smith-base-4_18_0-87_el5_sme, e-smith-base-4_18_0-77_el5_sme, e-smith-base-4_18_0-69_el5_sme, e-smith-base-4_18_0-81_el5_sme, e-smith-base-4_18_0-100_el5_sme, e-smith-base-4_18_0-72_el5_sme, e-smith-base-4_18_0-62_el5_sme, e-smith-base-4_18_0-61_el5_sme, e-smith-base-4_18_0-78_el5_sme, e-smith-base-4_18_0-94_el5_sme, e-smith-base-4_18_0-66_el5_sme, e-smith-base-4_18_0-83_el5_sme, e-smith-base-4_18_0-63_el5_sme, e-smith-base-4_18_0-92_el5_sme, e-smith-base-4_18_0-64_el5_sme, e-smith-base-4_18_0-101_el5_sme, e-smith-base-4_18_0-98_el5_sme, e-smith-base-4_18_0-102_el5_sme, e-smith-base-4_18_0-90_el5_sme, e-smith-base-4_18_0-104_el5_sme, e-smith-base-4_18_0-71_el5_sme, e-smith-base-4_18_0-103_el5_sme, e-smith-base-4_18_0-99_el5_sme, e-smith-base-4_18_0-73_el5_sme, e-smith-base-4_18_0-79_el5_sme, e-smith-base-4_18_0-75_el5_sme, e-smith-base-4_18_0-76_el5_sme
Updates

1 slords 1.1 diff -Nur -x '*.orig' -x '*.rej' e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm mezzanine_patched_e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm
2     --- e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm 2007-06-28 08:33:59.000000000 -0600
3     +++ mezzanine_patched_e-smith-base-4.18.0/root/usr/lib/perl5/site_perl/esmith/console/perform_backup.pm 2007-06-28 08:33:19.000000000 -0600
4     @@ -36,6 +36,94 @@
5    
6     }
7    
8     +sub make_backup_callback
9     +{
10     + my $device = shift;
11     + return sub {
12     + my $fh = shift;
13     + my @backup_list = esmith::Backup->restore_list;
14     +
15     + unless (open(DU, "-|"))
16     + {
17     + open(STDERR, ">/dev/null");
18     + exec qw(/usr/bin/du -sb), map { "/$_" } @backup_list;
19     + }
20     + my $backup_size = 0;
21     + while (<DU>)
22     + {
23     + next unless (/^(\d+)/);
24     + $backup_size += $1;
25     + }
26     + close DU;
27     +
28     + open(OLDSTDOUT, ">&STDOUT");
29     + unless (open(STDOUT, ">/$device/smeserver.tgz"))
30     + {
31     + return gettext("Could not create backup file on device").": $!\n";
32     + }
33     +
34     + open(OLDSTDERR, ">&STDERR");
35     + my $logger = open(STDERR, "|-");
36     + die "Can't fork: $!\n" unless defined $logger;
37     +
38     + unless ($logger)
39     + {
40     + exec qw(/usr/bin/logger -p local1.info -t console_backup);
41     + }
42     +
43     + my $status = 0;
44     +
45     + my $gzip = open(GZIP, "|-");
46     + return "could not run gzip" unless defined $gzip;
47     + unless ($gzip)
48     + {
49     + close $fh;
50     + exec "gzip", "-9";
51     + }
52     +
53     + my $pv = open(PV, "|-");
54     + return "could not run pv" unless defined $pv;
55     + unless ($pv)
56     + {
57     + open(STDOUT, ">&GZIP");
58     + close GZIP;
59     + open(STDERR, ">&$fh");
60     + exec qw(pv -i 0.2 -n -s), $backup_size
61     + }
62     +
63     + my $tar = fork;
64     + return "could not run tar" unless defined $tar;
65     + unless ($tar)
66     + {
67     + open(STDOUT, ">&PV");
68     + close PV;
69     + close GZIP;
70     + close $fh;
71     + chdir "/";
72     + exec qw(tar cf -), grep { -e $_ } @backup_list;
73     + }
74     + waitpid($tar, 0);
75     + $status |= $?;
76     + #warn "status from tar is $status\n" if $status;
77     + unless (close PV)
78     + {
79     + $status |= $! ? $! : $?;
80     + warn "status from pv is $status\n" if $status;
81     + }
82     + unless (close GZIP)
83     + {
84     + $status |= $! ? $! : $?;
85     + warn "status from gzip is $status\n" if $status;
86     + }
87     +
88     + open(STDOUT, ">&OLDSTDOUT");
89     + open(STDERR, ">&OLDSTDERR");
90     + close(OLDSTDERR);
91     + close(OLDSTDOUT);
92     + return $status ? gettext("Backup returned non-zero") : gettext("Success");
93     + };
94     +}
95     +
96     sub doit
97     {
98     my ($self, $console, $db) = @_;
99     @@ -130,11 +218,9 @@
100     $backup_size += $1;
101     }
102     close DU;
103     +
104     + $console->gauge(make_backup_callback($device), 'title' => 'Creating backup file');
105    
106     - system("(cd / ; tar cf - " . join(' ', @backup_list) . " |
107     - pv -i 0.2 -n -s $backup_size |
108     - gzip -9 > /$device/smeserver.tgz ) 2>&1 |
109     - dialog --backtitle 'Creating backup file' --guage 'Progress' 7 70");
110     system("/bin/umount", "$device");
111     system("/sbin/e-smith/signal-event", "post-backup");
112     ($rc, $choice) = $console->message_page

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