/[smeserver]/rpms/e-smith-backup/sme10/e-smith-backup-2.6.0-replacehal.patch
ViewVC logotype

Contents of /rpms/e-smith-backup/sme10/e-smith-backup-2.6.0-replacehal.patch

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


Revision 1.3 - (show annotations) (download)
Fri Feb 12 18:52:48 2021 UTC (3 years, 3 months ago) by chrissn
Branch: MAIN
CVS Tags: e-smith-backup-2_6_0-28_el7_sme, e-smith-backup-2_6_0-24_el7_sme, e-smith-backup-2_6_0-22_el7_sme, e-smith-backup-2_6_0-27_el7_sme, e-smith-backup-2_6_0-25_el7_sme, e-smith-backup-2_6_0-23_el7_sme, e-smith-backup-2_6_0-26_el7_sme, e-smith-backup-2_6_0-29_el7_sme, HEAD
Changes since 1.2: +1 -2 lines
* Fri Feb 12 2021 Chris Sansom-Ninnes <chris@sansom.ninnes.net> 2.6.0-22.sme
- Remove debug output of device names [SME: 11319]

1 diff -urN e-smith-backup-2.6.0.old/root/etc/e-smith/events/actions/workstation-backup-dar e-smith-backup-2.6.0/root/etc/e-smith/events/actions/workstation-backup-dar
2 --- e-smith-backup-2.6.0.old/root/etc/e-smith/events/actions/workstation-backup-dar 2021-02-09 21:26:24.961634134 +0000
3 +++ e-smith-backup-2.6.0/root/etc/e-smith/events/actions/workstation-backup-dar 2021-02-09 21:29:49.256523741 +0000
4 @@ -31,6 +31,7 @@
5 use File::Glob qw(bsd_glob);
6 use esmith::ConfigDB;
7 use esmith::Backup;
8 +use esmith::BlockDevices;
9
10 sub ldie;
11 sub start_dar_killer;
12 @@ -312,77 +313,60 @@
13 return $code;
14 }
15
16 -
17 +# Copied from /etc/e-smith/web/functions/backup
18 +# TODO: Move to a shared module
19 sub checkMount
20 {
21 # check if $mountdir is mounted
22 my $mountdir = shift;
23 $|=1; # Auto-flush
24 -
25 - # copy STDOUT to another filehandle
26 - open (my $STDOLD, '>&', STDOUT);
27 -
28 - open(STDOUT, ">/dev/null");
29 - if ( open(MOUNTDIR, "|-", "/bin/findmnt", $mountdir)){;}
30
31 - # restore STDOUT
32 - open (STDOUT, '>&', $STDOLD);
33 -
34 - return (!close(MOUNTDIR));
35 + my @res = qx( findmnt $mountdir );
36 + return ( !@res );
37 }
38
39
40 -# dmount is copied from /etc/e-smith/web/functions/backup
41 -# it could become a common function later
42 +# Copied from /etc/e-smith/web/functions/backup
43 +# TODO: Move to a shared module
44 sub dmount
45 {
46 # mount dar unit according to dar-workstation configuration
47 # return nothing if mount successfull
48
49 my ($host,$share,$mountdir,$login,$password,$VFSType) = @_;
50 -
51 +
52 if ($VFSType eq 'cifs')
53 {
54 - return ( qx(/bin/mount -t cifs "//$host/$share" $mountdir -o credentials=/etc/dar/CIFScredentials,nounix 2>&1) );
55 + return ( qx(/bin/mount -t cifs "//$host/$share" $mountdir -o credentials=/etc/dar/CIFScredentials,nounix 2>&1) );
56 }
57 elsif ($VFSType eq 'nfs')
58 {
59 - return ( qx(/bin/mount -t nfs -o nolock "$host:/$share" $mountdir 2>&1) );
60 + return ( qx(/bin/mount -t nfs -o nolock "$host:/$share" $mountdir 2>&1) );
61 }
62 elsif ($VFSType eq 'usb')
63 {
64 my $device = "";
65 - my $blkdev = "";
66 my $vollbl = "";
67 - foreach my $udi (qx(hal-find-by-property --key volume.fsusage --string filesystem))
68 - {
69 - $udi =~ m/^(\S+)/;
70 - my $is_mounted = qx(hal-get-property --udi $1 --key volume.is_mounted);
71
72 - if ($is_mounted eq "false\n")
73 - {
74 - $blkdev = qx(hal-get-property --udi $1 --key block.device);
75 - if ($blkdev =~ m/^(\S+)/) {$blkdev = $1;}
76 - }
77 - if ($is_mounted eq "false\n")
78 - {
79 - $vollbl = qx(hal-get-property --udi $1 --key volume.label);
80 - $vollbl =~ m/^(\S+)/;
81 - if ($vollbl =~ /^\s/) {$vollbl = 'nolabel';}
82 - }
83 + my $devices = esmith::BlockDevices->new ('allowmount' => 'disabled');
84 + my ($valid, $invalid) = $devices->checkBackupDrives(0);
85
86 - chomp $vollbl;
87 - chomp $blkdev;
88 - $vollbl = "media/$vollbl";
89 - if ($vollbl eq $share) {$device = $blkdev;}
90 + if ( ${$valid}[0] ) {
91 + foreach ( @{$valid} ) {
92 + $vollbl = $devices->label($_);
93 + if ( $share eq "media/$vollbl" ) {
94 + $device = "/dev/$_";
95 + }
96 + }
97 }
98 - return ( qx(/bin/mount $device "/$share" 2>&1) );
99 + $devices->destroy;
100 + return ( qx (mount $device /$share 2>&1) );
101 }
102 else
103 {
104 - return ("Mount of type $VFSType not supported.\n");
105 + return ("Error while mounting $host/$share : $VFSType not supported.\n");
106 }
107 -}
108 +}
109
110
111 sub removeTree
112 diff -urN e-smith-backup-2.6.0.old/root/etc/e-smith/web/functions/backup e-smith-backup-2.6.0/root/etc/e-smith/web/functions/backup
113 --- e-smith-backup-2.6.0.old/root/etc/e-smith/web/functions/backup 2021-02-09 21:26:24.926635870 +0000
114 +++ e-smith-backup-2.6.0/root/etc/e-smith/web/functions/backup 2021-02-09 21:29:21.581890670 +0000
115 @@ -27,6 +27,7 @@
116 use esmith::ConfigDB;
117 use esmith::Backup;
118 use esmith::BackupHistoryDB;
119 +use esmith::BlockDevices;
120 use esmith::AccountsDB;
121 use esmith::cgi;
122 use esmith::util;
123 @@ -697,9 +698,9 @@
124 if (defined $status && $status eq "on")
125 {
126
127 - #--------------------------------------------------
128 - # Untaint parameters and check for validity
129 - #--------------------------------------------------
130 + #--------------------------------------------------
131 + # Untaint parameters and check for validity
132 + #--------------------------------------------------
133
134 my $backupHour = $q->param ('backupHour');
135 if ($backupHour =~ /^(.*)$/) {
136 @@ -1237,23 +1238,20 @@
137 $q, undef, $fm->localise('CONFIGURE_WORKSTN_BACKUP'));
138
139 if ( $VFSType eq 'usb' ) {
140 - foreach my $udi (qx(hal-find-by-property --key volume.fsusage --string filesystem)) {
141 - $udi =~ m/^(\S+)/;
142 + my $devices = esmith::BlockDevices->new ('allowmount' => 'disabled');
143 + my ($valid, $invalid) = $devices->checkBackupDrives(0);
144
145 - my $is_mounted = qx(hal-get-property --udi $1 --key volume.is_mounted);
146 -
147 - if ($is_mounted eq "false\n") {
148 - my $vollbl = qx(hal-get-property --udi $1 --key volume.label);
149 - $vollbl =~ m/^(\S+)/;
150 - if ($vollbl =~ /^\s/) {$vollbl = 'nolabel';}
151 - chomp $vollbl;
152 - push @usbdisks, $vollbl;
153 + if ( ${$valid}[0] ) {
154 + foreach ( @{$valid} ) {
155 + push @usbdisks, $devices->label($_);
156 }
157 }
158 - unless ($usbdisks[0]){
159 + else
160 + {
161 push @usbdisks, $fm->localise('ERR_NO_USB_DISK');
162 $error='nousb';
163 }
164 + $devices->destroy;
165 }
166 if ( $VFSType eq 'mnt' )
167 {
168 @@ -1509,9 +1507,9 @@
169 return;
170 }
171
172 - #--------------------------------------------------
173 - # Untaint parameters and check for validity
174 - #--------------------------------------------------
175 + #--------------------------------------------------
176 + # Untaint parameters and check for validity
177 + #--------------------------------------------------
178
179 my $VFSType = $q->param ('VFSType');
180 if ( $VFSType eq 'nousb')
181 @@ -3007,7 +3005,7 @@
182 my $dumpsize = 0;
183
184 open(DF, "-|")
185 - or exec '/bin/df', '-P', '-t', 'ext3', '-t', 'ext4';
186 + or exec '/bin/df', '-P', '-t', 'ext3', '-t', 'ext4', '-t', 'xfs';
187
188 while (<DF>)
189 {
190 @@ -3034,7 +3032,7 @@
191 my $halffree = 0;
192
193 open(DF, "-|")
194 - or exec '/bin/df', '-P', '-t', 'ext3', '-t', 'ext4', '/tmp';
195 + or exec '/bin/df', '-P', '-t', 'ext3', '-t', 'ext4', '-t', 'xfs', '/tmp';
196
197 while (<DF>)
198 {
199 @@ -3106,30 +3104,21 @@
200 elsif ($VFSType eq 'usb')
201 {
202 my $device = "";
203 - my $blkdev = "";
204 my $vollbl = "";
205 - foreach my $udi (qx(hal-find-by-property --key volume.fsusage --string filesystem)) {
206 - $udi =~ m/^(\S+)/;
207 - my $is_mounted = qx(hal-get-property --udi $1 --key volume.is_mounted);
208 -
209 - if ($is_mounted eq "false\n") {
210 - $blkdev = qx(hal-get-property --udi $1 --key block.device);
211 - if ($blkdev =~ m/^(\S+)/) {$blkdev = $1;}
212 - }
213 - if ($is_mounted eq "false\n") {
214 - $vollbl = qx(hal-get-property --udi $1 --key volume.label);
215 - $vollbl =~ m/^(\S+)/;
216 - if ($vollbl =~ /^\s/) {$vollbl = 'nolabel';}
217 - }
218 -
219 - chomp $vollbl;
220 - chomp $blkdev;
221 - $vollbl = "media/$vollbl";
222 - if ($vollbl eq $share) {
223 - $device = $blkdev;
224 - }
225 +
226 + my $devices = esmith::BlockDevices->new ('allowmount' => 'disabled');
227 + my ($valid, $invalid) = $devices->checkBackupDrives(0);
228 +
229 + if ( ${$valid}[0] ) {
230 + foreach ( @{$valid} ) {
231 + $vollbl = $devices->label($_);
232 + if ( $share eq "media/$vollbl" ) {
233 + $device = "/dev/$_";
234 + }
235 + }
236 }
237 - return ( qx(/bin/mount $device "/$share" 2>&1) );
238 + $devices->destroy;
239 + return ( qx (mount $device /$share 2>&1) );
240 }
241 else
242 {
243 @@ -3142,17 +3131,9 @@
244 # check if $mountdir is mounted
245 my $mountdir = shift;
246 $|=1; # Auto-flush
247 -
248 - # copy STDOUT to another filehandle
249 - open (my $STDOLD, '>&', STDOUT);
250 -
251 - open(STDOUT, ">/dev/null");
252 - if ( open(MOUNTDIR, "|-", "/bin/findmnt", $mountdir)){;}
253 -
254 - # restore STDOUT
255 - open (STDOUT, '>&', $STDOLD);
256 -
257 - return (!close(MOUNTDIR));
258 +
259 + my @res = qx( findmnt $mountdir );
260 + return ( !@res );
261 }
262
263 sub bmount

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