1 |
slords |
1.19 |
# $Id: smeserver-affa.spec,v 1.18 2008/05/27 12:12:29 mweinber Exp $ |
2 |
slords |
1.14 |
# Authority: mweinber |
3 |
|
|
# Name: Michael Weinberger |
4 |
|
|
|
5 |
slords |
1.1 |
Summary: Makes the SME server a dedicated rsync based backup server |
6 |
|
|
%define name smeserver-affa |
7 |
|
|
Name: %{name} |
8 |
slords |
1.16 |
%define version 1.0.0 |
9 |
mweinber |
1.18 |
%define release 3 |
10 |
slords |
1.1 |
Version: %{version} |
11 |
|
|
Release: %{release}%{?dist} |
12 |
|
|
License: GNU GPL (GNU General Public License) |
13 |
|
|
Group: Applications/Archiving |
14 |
|
|
Source: %{name}-%{version}.tar.gz |
15 |
|
|
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot |
16 |
|
|
BuildArch: noarch |
17 |
|
|
AutoReq: no |
18 |
|
|
Requires: smeserver-release >= 7 |
19 |
|
|
Requires: perl-Filesys-DiskFree |
20 |
|
|
BuildRequires: e-smith-devtools |
21 |
mweinber |
1.17 |
Patch0: smeserver-affa-1.0.0-bug4210.patch |
22 |
mweinber |
1.18 |
Patch1: smeserver-affa-1.0.0-desktop.patch |
23 |
slords |
1.1 |
|
24 |
|
|
%description |
25 |
|
|
Main purpose ist to make the SME server a dedicated rsync based backup server. |
26 |
|
|
Also providing functions to backup to USB disks or SMB shares in SOHO environments. |
27 |
|
|
|
28 |
|
|
%changelog |
29 |
mweinber |
1.18 |
* Tue May 27 2008 Michael Weinberger 1.0.0-3 |
30 |
|
|
Re-added type 'desktop' to pre-backup event for SME6 compatibility |
31 |
mweinber |
1.17 |
* Tue Apr 22 2008 Michael Weinberger 1.0.0-2 |
32 |
|
|
Bug fix #4210, command "affa --show-schedule" executes postJobCommand |
33 |
slords |
1.16 |
* Fri Apr 04 2008 Michael Weinberger 1.0.0-1 |
34 |
|
|
Final release |
35 |
|
|
man page updated |
36 |
mweinber |
1.15 |
* Fri Apr 04 2008 Michael Weinberger 0.10.0-2 |
37 |
|
|
added --all option to --rise |
38 |
mweinber |
1.13 |
* Mon Mar 10 2008 Michael Weinberger 0.10.0-1 |
39 |
|
|
Increased release number |
40 |
|
|
Added 10 sec timeout in Net::DNS::Resolver->search |
41 |
mweinber |
1.11 |
* Mon Mar 10 2008 Michael Weinberger 0.9.0-11 |
42 |
|
|
Specfile fix |
43 |
mweinber |
1.10 |
* Mon Mar 10 2008 Michael Weinberger 0.9.0-10 |
44 |
|
|
Delete locally created watchdog file after remotecopy |
45 |
|
|
Bugfix 4035 |
46 |
|
|
Added default AutoUnmount property to sample script |
47 |
|
|
Fix man page |
48 |
|
|
Do not delete md5sum in --create-backup-file when verify is skipped by user |
49 |
|
|
Set lock in --create-backup-file |
50 |
mweinber |
1.9 |
* Sun Mar 09 2008 Michael Weinberger 0.9.0-9 |
51 |
|
|
trap signals in --create-backup-file |
52 |
|
|
* Sat Mar 08 2008 Michael Weinberger 0.9.0-8 |
53 |
mweinber |
1.8 |
Permissions in /usr/lib/affa |
54 |
|
|
* Sat Mar 08 2008 Michael Weinberger 0.9.0-7 |
55 |
mweinber |
1.7 |
md5sum in --create-backup-file |
56 |
mweinber |
1.6 |
* Fri Mar 07 2008 Michael Weinberger 0.9.0-6 |
57 |
|
|
Added option --create-backup-file |
58 |
|
|
Using line number as error code in affaErrorExit() |
59 |
|
|
Fixed /etc/profile.d/affa.sh |
60 |
|
|
|
61 |
mweinber |
1.5 |
* Mon Mar 03 2008 Michael Weinberger 0.9.0-5 |
62 |
|
|
- delete new style Dovecot's index files dovecot.index* |
63 |
|
|
- delete dovecot index files on remote server in --full-restore |
64 |
|
|
|
65 |
mweinber |
1.4 |
* Fri Feb 29 2008 Michael Weinberger 0.9.0-4 |
66 |
|
|
set localhost as default remoteHostName in /etc/e-smith/templates//etc/cron.d/affa/00jobs |
67 |
|
|
|
68 |
mweinber |
1.3 |
* Wed Feb 27 2008 Michael Weinberger 0.9.0-3 |
69 |
|
|
removed %post from spec file |
70 |
mweinber |
1.4 |
|
71 |
mweinber |
1.2 |
* Sat Feb 02 2008 Michael Weinberger 0.9.0-2 |
72 |
|
|
Bugfix: Report db was not deleted in deleteJob() |
73 |
|
|
don't use -q on ssh commands with Debug=yes |
74 |
|
|
|
75 |
slords |
1.1 |
* Fri Feb 1 2008 Shad L. Lords <slords@mail.com> 0.9.0-1 |
76 |
|
|
- Fix specfile for building in new buildsystem |
77 |
|
|
|
78 |
|
|
* Fri Jan 18 2008 Michael Weinberger |
79 |
|
|
Version 0.9.0 |
80 |
|
|
Bugfix: run cronSetup() after job delete |
81 |
|
|
Throw error if nothing was backed up (empty archive) |
82 |
|
|
Added rsyncd support for backing up Windows/Cygwin |
83 |
|
|
Added option and property remoteOS. Which remoteOS=cgywin the |
84 |
|
|
send key and revoke key functions use the right path to the |
85 |
|
|
authorized_keys2 file and login as user Administrator |
86 |
|
|
|
87 |
|
|
* Sat Dec 29 2007 Michael Weinberger |
88 |
|
|
Version 0.8.1 |
89 |
|
|
Automount Bugfix [Bug 3165]: Only exit with error on mount failure |
90 |
|
|
when in backup run. Otherwise log the error and continue. |
91 |
|
|
|
92 |
|
|
* Thu Dec 20 2007 Michael Weinberger |
93 |
|
|
Version 0.8.0 |
94 |
|
|
added bash completion script |
95 |
|
|
added option --kill JOB |
96 |
|
|
improved INT and TERM signal handling |
97 |
|
|
replaced all scp commands by rsync |
98 |
|
|
added poperty BandwidthLimit (unit KBytes/sec) |
99 |
|
|
each job write its own known hosts entry using ssh option HostKeyAliasOption |
100 |
|
|
affa --send-key w/o arguments sends the keys for all jobs |
101 |
|
|
removed Property StrictHostKeyChecking |
102 |
|
|
UPDATE FROM VERSIONS<8: run the command 'affa --send-key' to generate |
103 |
|
|
the known hosts entries for all jobs |
104 |
|
|
|
105 |
|
|
* Wed Dec 12 2007 Michael Weinberger |
106 |
|
|
Version 0.7.0 |
107 |
|
|
Modified logging: Job run logs to /var/log/affa/JOBNAME.log, all other |
108 |
|
|
to /var/log/affa/affa.log |
109 |
|
|
Bugfix: Check error status of --send-key and --revoke-key |
110 |
|
|
New: Options --show-schedule |
111 |
|
|
Modified: Option --list-archives now accepts multiple args or none |
112 |
|
|
Fix: install watchdog on source server before every run not only scheduled, |
113 |
|
|
to avoid watchdog triggered if a non-scheduled run take to long time. |
114 |
|
|
|
115 |
|
|
* Wed Nov 28 2007 Michael Weinberger |
116 |
|
|
Version 0.6.8 |
117 |
|
|
Bugfix: Automount was done too late. Daily backup never ran. |
118 |
|
|
|
119 |
|
|
* Wed Nov 21 2007 Michael Weinberger |
120 |
|
|
Version 0.6.7 |
121 |
|
|
Bugfix: Size and No. of files were not shown in --status |
122 |
|
|
Improved deleting of directories |
123 |
|
|
added --check-connections option |
124 |
|
|
Increased width of job column in --stats table |
125 |
|
|
|
126 |
|
|
* Sun Nov 11 2007 Michael Weinberger |
127 |
|
|
Version 0.6.6 |
128 |
|
|
Property rsync--modify-window added |
129 |
|
|
Modified recursive deleting directories |
130 |
|
|
|
131 |
|
|
* Wed Nov 07 2007 Michael Weinberger |
132 |
|
|
Version 0.6.5 |
133 |
|
|
ssh options added to scp commands |
134 |
|
|
added post-backup event |
135 |
|
|
|
136 |
|
|
* Wed Aug 08 2007 Michael Weinberger |
137 |
|
|
Version 0.6.4 |
138 |
|
|
delete dovcot index files after a --rise |
139 |
|
|
|
140 |
|
|
* Thu Jul 05 2007 Michael Weinberger |
141 |
|
|
Version 0.6.3 |
142 |
|
|
Bugfix: with RPMCheck=yes the affa-rpmlist was not found in the |
143 |
|
|
archive. Wrong path to schedule.0 instead of scheduled.running. |
144 |
|
|
Side effect of changes in version 0.5.0. [Bug 3128] |
145 |
|
|
|
146 |
|
|
* Tue Jul 03 2007 Michael Weinberger |
147 |
|
|
Version 0.6.2 |
148 |
|
|
Bugfix: Filesys::DiskFree requires $ENV{LANG}="en_US" [Bug 3119] |
149 |
|
|
Bug reported to bug-Filesys-DiskFree [at] rt.cpan.org |
150 |
|
|
|
151 |
|
|
* Mon Jun 25 2007 Michael Weinberger |
152 |
|
|
Version 0.6.1 |
153 |
|
|
Fix 3080 was not applied. |
154 |
|
|
|
155 |
|
|
* Mon Jun 18 2007 Michael Weinberger |
156 |
|
|
Version 0.6.0 |
157 |
|
|
- Replaced Filesys::DiskSpace by Filesys::DiskFree as the latter |
158 |
|
|
supports CIFS file system |
159 |
|
|
- using Filesys::DiskFree->mount and ->device instead of scanning /proc/mounts |
160 |
|
|
- mkdir RootDir only on job run to avoid making it in an unmounted mountpoint |
161 |
|
|
|
162 |
|
|
* Mon Jun 18 2007 Michael Weinberger |
163 |
|
|
Version 0.5.2 |
164 |
|
|
- Sending ssh key failed. When grep returned an error |
165 |
|
|
the mv command was not executed. Using ';' instead of '&&' |
166 |
|
|
for chaining commands. [Bug 3080] |
167 |
|
|
- /root/.ssh/authorized_keys2: No such file or directory warning. |
168 |
|
|
Run a touch to guarantee, that the file exists. [Bug 3080] |
169 |
|
|
- same issue with --revoke-key |
170 |
|
|
|
171 |
|
|
* Thu Jun 14 2007 Michael Weinberger |
172 |
|
|
Version 0.5.1 |
173 |
|
|
- Bugfix automount: getStatus() unmounts the device while a job is running |
174 |
|
|
- Status table: Last=never, if there are no archives at all |
175 |
|
|
|
176 |
|
|
* Tue Jun 12 2007 Michael Weinberger |
177 |
|
|
Version 0.5.0 |
178 |
|
|
- New property AutomountOptions |
179 |
|
|
- status table: grouped disabled jobs. Show Last='-' for disabled jobs |
180 |
|
|
instead of 'failed' |
181 |
|
|
- unlink lockfile in getLock() |
182 |
|
|
- Changes to improve robustness in case of network outage: |
183 |
|
|
- writing to a temporary archive scheduled.running and linkdest |
184 |
|
|
against the latest existing archive (usually scheduled.0). Then |
185 |
|
|
shift archives and rename scheduled.running to scheduled.0 |
186 |
|
|
- scheduledKeep=1 is now allowed |
187 |
|
|
- also check connection in daily,weekly etc., not only in scheduled run |
188 |
|
|
- don't run daily, weekly, monthly or yearly, when scheduled.0 doesn't exist. |
189 |
|
|
- new option --revoke-key |
190 |
|
|
- added optional option --revoke-key to --delete-job |
191 |
|
|
- avoid multiple adding public key to authorized_keys2 on source server |
192 |
|
|
|
193 |
|
|
* Wed Jun 06 2007 Michael Weinberger |
194 |
|
|
Version 0.4.7 |
195 |
|
|
- use StrictHostKeyChecking=no in sendKeys() |
196 |
|
|
|
197 |
|
|
* Tue Jun 05 2007 Michael Weinberger |
198 |
|
|
Version 0.4.6 |
199 |
|
|
- mailtest: Send also a testmail from the remotehost, when property Watchdog=yes |
200 |
|
|
- removed useless code in mailTestWatchdogRemote() |
201 |
|
|
|
202 |
|
|
* Mon Jun 04 2007 Michael Weinberger |
203 |
|
|
Version 0.4.5 |
204 |
|
|
write job config file to the archive dir |
205 |
|
|
|
206 |
|
|
* Thu May 31 2007 Michael Weinberger |
207 |
|
|
Version 0.4.4 |
208 |
|
|
- added property StrictHostKeyChecking (ssh option) |
209 |
|
|
- string comparison instead of numric for $job{'doneYearly'} ne $thisYear etc. |
210 |
|
|
|
211 |
|
|
* Wed May 30 2007 Michael Weinberger |
212 |
|
|
Version 0.4.3 |
213 |
|
|
- Minor bugfixes: |
214 |
|
|
calculation of RootDirFilesystemUsage in .AFFA-REPORT |
215 |
|
|
improved error handling with rsync status and df in DiskspaceWarn() |
216 |
|
|
|
217 |
|
|
* Thu May 29 2007 Michael Weinberger |
218 |
|
|
- Version 0.4.2 |
219 |
|
|
Infinite loop in execPostJobCommand() if command could not be executed: |
220 |
|
|
Don't call execPostJobCommand() in affaErrorExit() if err==115 |
221 |
|
|
- RPMCheck property was ignored |
222 |
|
|
- added Property chattyOnSuccess |
223 |
|
|
- modified jobconfig-sample.pl to preserve 'doneDaily','doneWeekly', |
224 |
|
|
'doneMonthly','doneYearly' and 'chattyOnSuccess' |
225 |
|
|
- write error codes of affaErrorExit() to log |
226 |
|
|
|
227 |
|
|
* Thu May 24 2007 Michael Weinberger |
228 |
|
|
- Version 0.4.1 |
229 |
|
|
- fixed bug in disk usage calculation |
230 |
|
|
|
231 |
|
|
* Tue May 22 2007 Michael Weinberger |
232 |
|
|
- Version 0.4.0 |
233 |
|
|
- added option --rename-job |
234 |
|
|
- changed syntax of --send-keys |
235 |
|
|
- added option --move-archive |
236 |
|
|
|
237 |
|
|
* Sun May 20 2007 Michael Weinberger |
238 |
|
|
- Version 0.3.3 |
239 |
|
|
- rebuild cronjobs after rise/undorise |
240 |
|
|
- ignore job of own backup, when creating cronjobs (job appears after a rise run) |
241 |
|
|
|
242 |
|
|
* Sun May 20 2007 Michael Weinberger |
243 |
|
|
- Version 0.3.2 |
244 |
|
|
- man: added sshPort propperty |
245 |
|
|
- chdir /tmp to avoid cwd warnings when the cwd disappears while |
246 |
|
|
running rise or undo rise |
247 |
|
|
- bugfix: undorise() did not found own backup archive. Was searching for a wrong name |
248 |
|
|
|
249 |
|
|
* Wed May 16 2007 Michael Weinberger |
250 |
|
|
- Version 0.3.1 minor bugfixes |
251 |
|
|
- checkCrossFS() did not work (used in --rise) |
252 |
|
|
- jobconfig-sample.pl: deleting record before setting props |
253 |
|
|
- Perl errors with --status before a job run |
254 |
|
|
|
255 |
|
|
* Thu May 10 2007 Michael Weinberger |
256 |
|
|
- Version 0.3.0 |
257 |
|
|
- man page completed |
258 |
|
|
- mark archives with indices > keep setting with '*' in --list-acrchive output |
259 |
|
|
- Option --delete-job |
260 |
|
|
- Option --cleanup |
261 |
|
|
- added --job=JOB alternative to --send-keys |
262 |
|
|
|
263 |
|
|
* Wed May 09 2007 Michael Weinberger |
264 |
|
|
- Version 0.2.0 |
265 |
|
|
- added --mailtest option |
266 |
|
|
|
267 |
|
|
* Tue May 08 2007 Michael Weinberger |
268 |
|
|
- Version 0.1.5 |
269 |
|
|
- improved --status output |
270 |
|
|
- removed options --report and --send-report |
271 |
|
|
- added option --show-archives |
272 |
|
|
- added --csv for status and show-archives output in CSV format |
273 |
|
|
- added property 'sshPort' |
274 |
|
|
|
275 |
|
|
* Mon May 07 2007 Michael Weinberger |
276 |
|
|
- Version 0.1.4 |
277 |
|
|
- don't install the remote watchdog, when remotehost is eq localhost |
278 |
|
|
- improved check for remoteHostName eq localhost using DNS |
279 |
|
|
- ssh -o PasswordAuthentication=no in checkConnection() |
280 |
|
|
- added --full-restore |
281 |
|
|
- missing check for HOSTNAME argument in --send-keys added |
282 |
|
|
improved error check |
283 |
|
|
- prevent run of --rise of localhost from own backup |
284 |
|
|
|
285 |
|
|
* Mon Apr 30 2007 Michael Weinberger |
286 |
|
|
- Version 0.1.3 |
287 |
|
|
modified 'use constant* syntax in watchdog script for compatibility |
288 |
|
|
with perl 5.6 on SME6 |
289 |
|
|
|
290 |
|
|
* Fri Apr 27 2007 Michael Weinberger |
291 |
|
|
- Version 0.1.2 |
292 |
|
|
Bugfix: Preserve of ethernet driver setting with --rise did not work. |
293 |
|
|
Also preserve NIC bonding. |
294 |
|
|
|
295 |
|
|
* Mon Apr 23 2007 Michael Weinberger |
296 |
|
|
- Version 0.1.1 |
297 |
|
|
scheduledKeep must be>=2 for --link-dest |
298 |
|
|
set scheduledKeep to 2 if <2 |
299 |
|
|
- get lastrun date from affa-report rather than from report file |
300 |
|
|
- added auto mount function |
301 |
|
|
- added AutomountDevice and AutomountPoint to jobconfig-sample.pl |
302 |
|
|
|
303 |
|
|
* Wed Apr 18 2007 Michael Weinberger |
304 |
|
|
- Version 0.0.8 |
305 |
|
|
dont die if report db does not exist |
306 |
|
|
|
307 |
|
|
* Wed Apr 18 2007 Michael Weinberger |
308 |
|
|
- Version 0.0.7 |
309 |
|
|
run checkConnection() only for scheduled backups |
310 |
|
|
added Size and Disk usage information to --status |
311 |
|
|
|
312 |
|
|
* Tue Apr 17 2007 Michael Weinberger |
313 |
|
|
- Version 0.0.7 |
314 |
|
|
print Servername in --status output |
315 |
|
|
|
316 |
|
|
* Thu Apr 12 2007 Michael Weinberger |
317 |
|
|
- Version 0.0.5 |
318 |
|
|
fixed calculation of lastrun-now |
319 |
|
|
|
320 |
|
|
* Thu Apr 12 2007 Michael Weinberger |
321 |
|
|
- Version 0.0.4 |
322 |
|
|
- added --send-status plus templates |
323 |
|
|
- fixed format error of times in affa --status |
324 |
|
|
- show 'failed', if lastrun is older 1 day in affa --status |
325 |
|
|
- fixed typo. default status=disabled (was disable) |
326 |
|
|
|
327 |
|
|
* Fri Apr 06 2007 Michael Weinberger |
328 |
|
|
- Version 0.0.3 |
329 |
|
|
- watchdog reminder was not deleted on soure |
330 |
|
|
- wrong version mismatch list in rpm compare |
331 |
|
|
|
332 |
|
|
* Thu Apr 05 2007 Michael Weinberger |
333 |
|
|
- added 'rsync--inplace' property |
334 |
|
|
|
335 |
|
|
* Mon Apr 02 2007 Michael Weinberger |
336 |
|
|
- initial release |
337 |
|
|
|
338 |
|
|
%prep |
339 |
|
|
%setup -q -n %{name}-%{version} |
340 |
mweinber |
1.17 |
%patch0 -p1 |
341 |
mweinber |
1.18 |
%patch1 -p1 |
342 |
slords |
1.1 |
|
343 |
|
|
%build |
344 |
|
|
|
345 |
|
|
%install |
346 |
|
|
rm -rf $RPM_BUILD_ROOT |
347 |
|
|
rm -f %{name}-%{version}-filelist |
348 |
|
|
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) |
349 |
|
|
|
350 |
|
|
perl createlinks $RPM_BUILD_ROOT |
351 |
|
|
|
352 |
mweinber |
1.2 |
# Set version String |
353 |
|
|
cp -a $RPM_BUILD_ROOT/sbin/e-smith/affa $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp |
354 |
|
|
VERSIONSTRING=%{version}-`echo %{release}|sed -e 's/\..*$//'` |
355 |
mweinber |
1.11 |
sed -e "s/my \$VERSION.*;/my \$VERSION='$VERSIONSTRING';/" < $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp > $RPM_BUILD_ROOT/sbin/e-smith/affa |
356 |
mweinber |
1.2 |
rm -f $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp |
357 |
|
|
|
358 |
slords |
1.1 |
rm -f %{name}-%{version}-filelist |
359 |
|
|
|
360 |
|
|
find $RPM_BUILD_ROOT -depth -type f -print |\ |
361 |
|
|
sed -e "s@^$RPM_BUILD_ROOT@@g" \ |
362 |
|
|
-e "s@^/sbin/e-smith/@%attr(0750,root,root) &@"\ |
363 |
|
|
-e "s@^/etc/profile.d/@%attr(0755,root,root) &@"\ |
364 |
|
|
-e "s@^/etc/e-smith/templates/@%attr(0644,root,root) &@"\ |
365 |
mweinber |
1.8 |
-e "s@^/usr/lib/affa/COPYING@%attr(0444,root,root) &@"\ |
366 |
|
|
-e "s@^/usr/lib/affa/@%attr(0750,root,root) &@"\ |
367 |
slords |
1.1 |
>> %{name}-%{version}-filelist |
368 |
|
|
|
369 |
|
|
find $RPM_BUILD_ROOT -depth -type l -print |\ |
370 |
|
|
sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-%{version}-filelist |
371 |
|
|
|
372 |
|
|
%clean |
373 |
|
|
rm -rf $RPM_BUILD_ROOT |
374 |
|
|
exit 0 |
375 |
|
|
|
376 |
|
|
|
377 |
|
|
%files -f %{name}-%{version}-filelist |
378 |
|
|
%defattr(-,root,root) |