/[smecontribs]/rpms/smeserver-affa/contribs8/smeserver-affa.spec
ViewVC logotype

Diff of /rpms/smeserver-affa/contribs8/smeserver-affa.spec

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

Revision 1.1 by unnilennium, Tue Feb 5 21:26:53 2013 UTC Revision 1.4 by stephdl, Tue Sep 22 20:33:08 2015 UTC
# Line 1  Line 1 
1  # $Id: smeserver-affa.spec,v 1.20 2008/11/25 16:20:17 slords Exp $  Summary: A rsync-based backup program for linux, adapted to sme server 8
 # Authority: mweinber  
 # Name: Michael Weinberger  
   
 Summary: Makes the SME server a dedicated rsync based backup server  
2  %define name smeserver-affa  %define name smeserver-affa
3  Name: %{name}  Name: %{name}
4  %define version 1.0.0  %define version 3.2.2.3
5  %define release 3  %define release 2
6  Version: %{version}  Version: %{version}
7  Release: %{release}%{?dist}  Release: %{release}%{?dist}
8  License: GNU GPL (GNU General Public License)  Vendor: Michael Weinberger <mweinber AT users DOT sourceforge DOT net> //// adaptation to sme-server Arnaud Guillaume <smeserver-affa AT guedel DOT eu>
9    License: GNU General Public License
10  Group: Applications/Archiving  Group: Applications/Archiving
11  Source: %{name}-%{version}.tar.gz  Source: %{name}-%{version}.tar.gz
12  BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot  BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
13  BuildArch: noarch  BuildArch: noarch
14  AutoReq: no  AutoReq: no
15  Requires: smeserver-release >= 7  Requires: openssh-clients
16    Requires: perl-Config-IniFiles
17  Requires: perl-Filesys-DiskFree  Requires: perl-Filesys-DiskFree
18  BuildRequires: e-smith-devtools  Requires: perl-MailTools
19  Patch0: smeserver-affa-1.0.0-bug4210.patch  Requires: perl-Proc-ProcessTable
20  Patch1: smeserver-affa-1.0.0-desktop.patch  Requires: perl-TimeDate
21    Requires: rsync
22    
23  %description  %description
24  Main purpose ist to make the SME server a dedicated rsync based backup server.  Affa is a rsync-based backup program
25  Also providing functions to backup to USB disks or SMB shares in SOHO environments.  Documentation: http://affa.sf.net
26    with SMEServer + RPMCheck + Watchdog + rise
 %changelog  
 * Tue May 27 2008 Michael Weinberger 1.0.0-3  
   Re-added type 'desktop' to pre-backup event for SME6 compatibility  
 * Tue Apr 22 2008 Michael Weinberger 1.0.0-2  
   Bug fix #4210, command "affa --show-schedule" executes postJobCommand  
 * Fri Apr 04 2008 Michael Weinberger 1.0.0-1  
   Final release  
   man page updated  
 * Fri Apr 04 2008 Michael Weinberger 0.10.0-2  
   added --all option to --rise  
 * Mon Mar 10 2008 Michael Weinberger 0.10.0-1  
   Increased release number  
   Added 10 sec timeout in Net::DNS::Resolver->search  
 * Mon Mar 10 2008 Michael Weinberger 0.9.0-11  
   Specfile fix  
 * Mon Mar 10 2008 Michael Weinberger 0.9.0-10  
   Delete locally created watchdog file after remotecopy  
   Bugfix 4035  
   Added default AutoUnmount property to sample script  
   Fix man page  
   Do not delete md5sum in --create-backup-file when verify is skipped by user  
   Set lock in --create-backup-file  
 * Sun Mar 09 2008 Michael Weinberger 0.9.0-9  
   trap signals in --create-backup-file  
 * Sat Mar 08 2008 Michael Weinberger 0.9.0-8  
   Permissions in /usr/lib/affa  
 * Sat Mar 08 2008 Michael Weinberger 0.9.0-7  
   md5sum in --create-backup-file  
 * Fri Mar 07 2008 Michael Weinberger 0.9.0-6  
   Added option --create-backup-file  
   Using line number as error code in affaErrorExit()  
   Fixed /etc/profile.d/affa.sh  
     
 * Mon Mar 03 2008 Michael Weinberger 0.9.0-5  
 - delete new style Dovecot's index files dovecot.index*  
 - delete dovecot index files on remote server in --full-restore  
   
 * Fri Feb 29 2008 Michael Weinberger 0.9.0-4  
   set localhost as default remoteHostName in /etc/e-smith/templates//etc/cron.d/affa/00jobs  
   
 * Wed Feb 27 2008 Michael Weinberger 0.9.0-3  
   removed %post from spec file  
   
 * Sat Feb 02 2008 Michael Weinberger 0.9.0-2  
   Bugfix: Report db was not deleted in deleteJob()  
   don't use -q on ssh commands with Debug=yes  
   
 * Fri Feb 1 2008 Shad L. Lords <slords@mail.com> 0.9.0-1  
 - Fix specfile for building in new buildsystem  
   
 * Fri Jan 18 2008 Michael Weinberger  
   Version 0.9.0  
   Bugfix: run cronSetup() after job delete  
   Throw error if nothing was backed up (empty archive)  
   Added rsyncd support for backing up Windows/Cygwin  
   Added option and property remoteOS. Which remoteOS=cgywin the  
     send key and revoke key functions use the right path to the  
         authorized_keys2 file and login as user Administrator  
   
 * Sat Dec 29 2007 Michael Weinberger  
   Version 0.8.1  
   Automount Bugfix  [Bug 3165]: Only exit with error on mount failure  
     when in backup run. Otherwise log the error and continue.  
   
 * Thu Dec 20 2007 Michael Weinberger  
   Version 0.8.0  
   added bash completion script  
   added option --kill JOB  
   improved INT and TERM signal handling  
   replaced all scp commands by rsync  
   added poperty BandwidthLimit (unit KBytes/sec)  
   each job write its own known hosts entry using ssh option HostKeyAliasOption  
   affa --send-key w/o arguments sends the keys for all jobs  
   removed Property StrictHostKeyChecking  
   UPDATE FROM VERSIONS<8: run the command 'affa --send-key' to generate  
     the known hosts entries for all jobs  
   
 * Wed Dec 12 2007 Michael Weinberger  
   Version 0.7.0  
   Modified logging: Job run logs to /var/log/affa/JOBNAME.log, all other  
     to /var/log/affa/affa.log  
   Bugfix: Check error status of --send-key  and --revoke-key  
   New: Options --show-schedule  
   Modified: Option --list-archives now accepts multiple args or none  
   Fix: install watchdog on source server before every run not only scheduled,  
     to avoid watchdog triggered if a non-scheduled run take to long time.  
   
 * Wed Nov 28 2007 Michael Weinberger  
   Version 0.6.8  
   Bugfix: Automount was done too late. Daily backup never ran.  
   
 * Wed Nov 21 2007 Michael Weinberger  
   Version 0.6.7  
   Bugfix: Size and No. of files were not shown in --status  
   Improved deleting of directories  
   added --check-connections option  
   Increased width of job column in --stats table  
   
 * Sun Nov 11 2007 Michael Weinberger  
   Version 0.6.6  
   Property rsync--modify-window added  
   Modified recursive deleting directories  
   
 * Wed Nov 07 2007 Michael Weinberger  
   Version 0.6.5  
   ssh options added to scp commands  
   added post-backup event  
   
 * Wed Aug 08 2007 Michael Weinberger  
   Version 0.6.4  
   delete dovcot index files after a --rise  
   
 * Thu Jul 05 2007 Michael Weinberger  
   Version 0.6.3  
   Bugfix: with RPMCheck=yes the affa-rpmlist was not found in the  
   archive. Wrong path to schedule.0 instead of scheduled.running.  
   Side effect of changes in version 0.5.0. [Bug 3128]  
   
 * Tue Jul 03 2007 Michael Weinberger  
   Version 0.6.2  
   Bugfix: Filesys::DiskFree requires $ENV{LANG}="en_US" [Bug 3119]  
   Bug reported to bug-Filesys-DiskFree [at] rt.cpan.org  
   
 * Mon Jun 25 2007 Michael Weinberger  
   Version 0.6.1  
   Fix 3080 was not applied.  
   
 * Mon Jun 18 2007 Michael Weinberger  
   Version 0.6.0  
 - Replaced Filesys::DiskSpace by Filesys::DiskFree as the latter  
   supports CIFS file system  
 - using Filesys::DiskFree->mount and ->device instead of scanning /proc/mounts  
 - mkdir RootDir only on job run to avoid making it in an unmounted mountpoint  
   
 * Mon Jun 18 2007 Michael Weinberger  
   Version 0.5.2  
 - Sending ssh key failed. When grep returned an error  
   the mv command was not executed. Using ';' instead of '&&'  
   for chaining commands. [Bug 3080]  
 - /root/.ssh/authorized_keys2: No such file or directory warning.  
   Run a touch to guarantee, that the file exists. [Bug 3080]  
 - same issue with --revoke-key  
   
 * Thu Jun 14 2007 Michael Weinberger  
   Version 0.5.1  
 - Bugfix automount: getStatus() unmounts the device while a job is running  
 - Status table: Last=never, if there are no archives at all  
   
 * Tue Jun 12 2007 Michael Weinberger  
   Version 0.5.0  
 - New property AutomountOptions  
 - status table: grouped disabled jobs. Show Last='-' for disabled jobs  
   instead of 'failed'  
 - unlink lockfile in getLock()  
 - Changes to improve robustness in case of network outage:  
   - writing to a temporary archive scheduled.running and linkdest  
     against the latest existing archive (usually scheduled.0). Then  
     shift archives and rename scheduled.running to scheduled.0  
   - scheduledKeep=1 is now allowed  
   - also check connection in daily,weekly etc., not only in scheduled run  
   - don't run daily, weekly, monthly or yearly, when scheduled.0 doesn't        exist.  
 - new option --revoke-key  
 - added optional option --revoke-key to --delete-job  
 - avoid multiple adding public key to authorized_keys2 on source server  
   
 * Wed Jun 06 2007 Michael Weinberger  
   Version 0.4.7  
 - use StrictHostKeyChecking=no in sendKeys()  
   
 * Tue Jun 05 2007 Michael Weinberger  
   Version 0.4.6  
 - mailtest: Send also a testmail from the remotehost, when property Watchdog=yes  
 - removed useless code in mailTestWatchdogRemote()  
   
 * Mon Jun 04 2007 Michael Weinberger  
   Version 0.4.5  
   write job config file to the archive dir  
   
 * Thu May 31 2007 Michael Weinberger  
   Version 0.4.4  
 - added property StrictHostKeyChecking (ssh option)  
 - string comparison instead of numric for $job{'doneYearly'} ne $thisYear etc.  
   
 * Wed May 30 2007 Michael Weinberger  
   Version 0.4.3  
 - Minor bugfixes:  
   calculation of RootDirFilesystemUsage in .AFFA-REPORT  
   improved error handling with rsync status and df in DiskspaceWarn()  
   
 * Thu May 29 2007 Michael Weinberger  
 - Version 0.4.2  
   Infinite loop in execPostJobCommand() if command could not be executed:  
   Don't call execPostJobCommand() in affaErrorExit() if err==115  
 - RPMCheck property was ignored  
 - added Property chattyOnSuccess  
 - modified jobconfig-sample.pl to preserve 'doneDaily','doneWeekly',  
   'doneMonthly','doneYearly' and 'chattyOnSuccess'  
 - write error codes of affaErrorExit() to log  
   
 * Thu May 24 2007 Michael Weinberger  
 - Version 0.4.1  
 - fixed bug in disk usage calculation  
   
 * Tue May 22 2007 Michael Weinberger  
 - Version 0.4.0  
 - added option --rename-job  
 - changed syntax of --send-keys  
 - added option --move-archive  
   
 * Sun May 20 2007 Michael Weinberger  
 - Version 0.3.3  
 - rebuild cronjobs after rise/undorise  
 - ignore job of own backup, when creating cronjobs (job appears after a rise run)  
   
 * Sun May 20 2007 Michael Weinberger  
 - Version 0.3.2  
 - man: added sshPort propperty  
 - chdir /tmp to avoid cwd warnings when the cwd disappears while  
   running rise or undo rise  
 - bugfix: undorise() did not found own backup archive. Was searching for a wrong name  
   
 * Wed May 16 2007 Michael Weinberger  
 - Version 0.3.1 minor bugfixes  
 - checkCrossFS() did not work (used in --rise)  
 - jobconfig-sample.pl: deleting record before setting props  
 - Perl errors with --status before a job run  
   
 * Thu May 10 2007 Michael Weinberger  
 - Version 0.3.0  
 - man page completed  
 - mark archives with indices > keep setting with '*' in --list-acrchive output  
 - Option --delete-job  
 - Option --cleanup  
 - added --job=JOB alternative to --send-keys  
   
 * Wed May 09 2007 Michael Weinberger  
 - Version 0.2.0  
 - added --mailtest option  
   
 * Tue May 08 2007 Michael Weinberger  
 - Version 0.1.5  
 - improved --status output  
 - removed options --report and --send-report  
 - added option --show-archives  
 - added --csv for status and show-archives output in CSV format  
 - added property 'sshPort'  
   
 * Mon May 07 2007 Michael Weinberger  
 - Version 0.1.4  
 - don't install the remote watchdog, when remotehost is eq localhost  
 - improved check for remoteHostName eq localhost using DNS  
 - ssh -o PasswordAuthentication=no in checkConnection()  
 - added --full-restore  
 - missing check for HOSTNAME argument in --send-keys added  
   improved error check  
 - prevent run of --rise of localhost from own backup  
   
 * Mon Apr 30 2007 Michael Weinberger  
 - Version 0.1.3  
   modified 'use constant* syntax in watchdog script for compatibility  
   with perl 5.6 on SME6  
   
 * Fri Apr 27 2007 Michael Weinberger  
 - Version 0.1.2  
   Bugfix: Preserve of ethernet driver setting with --rise did not work.  
   Also preserve NIC bonding.  
   
 * Mon Apr 23 2007 Michael Weinberger  
 - Version 0.1.1  
   scheduledKeep must be>=2 for --link-dest  
   set scheduledKeep to 2 if <2  
 - get lastrun date from affa-report rather than from report file  
 - added auto mount function  
 - added AutomountDevice and AutomountPoint to jobconfig-sample.pl  
   
 * Wed Apr 18 2007 Michael Weinberger  
 - Version 0.0.8  
   dont die if report db does not exist  
   
 * Wed Apr 18 2007 Michael Weinberger  
 - Version 0.0.7  
   run checkConnection() only for scheduled backups  
   added Size and Disk usage information to --status  
   
 * Tue Apr 17 2007 Michael Weinberger  
 - Version 0.0.7  
   print Servername in --status output  
   
 * Thu Apr 12 2007 Michael Weinberger  
 - Version 0.0.5  
   fixed calculation of lastrun-now  
   
 * Thu Apr 12 2007 Michael Weinberger  
 - Version 0.0.4  
 - added --send-status plus templates  
 - fixed format error of times in affa --status  
 - show 'failed', if lastrun is older 1 day in affa --status  
 - fixed typo. default status=disabled (was disable)  
   
 * Fri Apr 06 2007 Michael Weinberger  
 - Version 0.0.3  
 - watchdog reminder was not deleted on soure  
 - wrong version mismatch list in  rpm compare  
   
 * Thu Apr 05 2007 Michael Weinberger  
 - added 'rsync--inplace' property  
   
 * Mon Apr 02 2007 Michael Weinberger  
 - initial release  
27    
28  %prep  %prep
29  %setup -q -n %{name}-%{version}  %setup -q -n %{name}-%{version}
 %patch0 -p1  
 %patch1 -p1  
30    
31  %build  %build
32    
33  %install  %install
34  rm -rf $RPM_BUILD_ROOT  rm -rf $RPM_BUILD_ROOT
35  rm -f %{name}-%{version}-filelist  rm -f %{name}-%{version}-filelist
36  (cd root   ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)  (cd root   ;find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
37    
 perl createlinks $RPM_BUILD_ROOT  
38    
39  # Set version String  # Set version String
40  cp -a $RPM_BUILD_ROOT/sbin/e-smith/affa $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp  cp -a $RPM_BUILD_ROOT/sbin/affa $RPM_BUILD_ROOT/sbin/affa.tmp
41  VERSIONSTRING=%{version}-`echo %{release}|sed -e 's/\..*$//'`  VERSIONSTRING=%{version}-`echo %{release}|sed -e 's/\..*$//'`
42  sed -e "s/my \$VERSION.*;/my \$VERSION='$VERSIONSTRING';/" < $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp > $RPM_BUILD_ROOT/sbin/e-smith/affa  sed -e "s/my \$VERSION.*;/my \$VERSION='$VERSIONSTRING';/" < $RPM_BUILD_ROOT/sbin/affa.tmp > $RPM_BUILD_ROOT/sbin/affa
43  rm -f $RPM_BUILD_ROOT/sbin/e-smith/affa.tmp  rm -f $RPM_BUILD_ROOT/sbin/affa.tmp
44    
45  rm -f %{name}-%{version}-filelist  rm -f %{name}-%{version}-filelist
46    
47  find $RPM_BUILD_ROOT -depth -type f -print |\  find $RPM_BUILD_ROOT -depth -type f -print |\
48   sed -e "s@^$RPM_BUILD_ROOT@@g" \   sed -e "s@^$RPM_BUILD_ROOT@@g" \
49   -e "s@^/sbin/e-smith/@%attr(0750,root,root) &@"\   -e "s@^/sbin/@%attr(0750,root,root) &@"\
50   -e "s@^/etc/profile.d/@%attr(0755,root,root) &@"\   -e "s@^/etc/profile.d/@%attr(0555,root,root) &@"\
51   -e "s@^/etc/e-smith/templates/@%attr(0644,root,root) &@"\   -e "s@^/etc/sudoers.d/@%attr(0440,root,root) &@"\
52   -e "s@^/usr/lib/affa/COPYING@%attr(0444,root,root) &@"\   -e "s@^/etc/cron.d/@%attr(0444,root,root)%config(noreplace) &@"\
53   -e "s@^/usr/lib/affa/@%attr(0750,root,root) &@"\   -e "s@^/usr/lib/affa/LICENSE@%attr(0444,root,root) &@"\
54     -e "s@^/usr/lib/affa/WARRANTY@%attr(0444,root,root) &@"\
55     -e "s@^/usr/man/man1/@%attr(0444,root,root) &@"\
56     -e "s@^/etc/affa/scripts/@%attr(0750,root,root)%config(noreplace) &@"\
57     -e "s@^/etc/affa/@%attr(0640,root,root)%config(noreplace) &@"\
58   >> %{name}-%{version}-filelist   >> %{name}-%{version}-filelist
59    
60    
61    find $RPM_BUILD_ROOT -depth -type d -print |\
62     sed -e "s@^$RPM_BUILD_ROOT@%dir @g" >> %{name}-%{version}-filelist
63    
64  find $RPM_BUILD_ROOT -depth -type l -print |\  find $RPM_BUILD_ROOT -depth -type l -print |\
65   sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-%{version}-filelist   sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-%{version}-filelist
66    
67  %clean  %clean
68  rm -rf $RPM_BUILD_ROOT  rm -rf $RPM_BUILD_ROOT
 exit 0  
   
69    
70  %files -f %{name}-%{version}-filelist  %files -f %{name}-%{version}-filelist
71  %defattr(-,root,root)  %defattr(-,root,root)
72    
73    %pre
74    exit 0
75    
76    %post
77    exit 0
78    
79    %preun
80    exit 0
81    
82    %postun
83    exit 0
84    
85    %changelog
86    * Tue Sep 22 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.2.2.3-2.sme
87    - Initial release to contribs8
88    
89    * Tue Sep 22 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 3.2.2.3-1
90    - fixed column ExecTime shift
91    - Adjusted column indices in report
92    - Fixed typo in remoteHostName [SME: 9062]
93    - Code done by mats schuh <m.schuh@neckargeo.net>
94    
95    * Tue Jan 13 2015 mats schuh <m.schuh@neckargeo.net> 3.2.2.2-1
96    - Added TotalBytesSent to archive reports and fixed report layout
97    
98    * Sun Dec 07 2014 Arnaud Guillaume 3.2.2.2
99    - integration of the patch of Mats Schuh in order to enable check for external disk label before unmount
100    * Sat Aug 23 2014 Arnaud Guillaume 3.2.2.1
101    - adapted to the new release of rsync (bug by calculating the number and the size of the transfered files)
102    * Sat Apr 05 2014 Arnaud Guillaume 3.2.2.0
103    - first adaptation for sme server8
104    * Sun Mar 04 2012 Michael Weinberger 3.2.2
105    - Improved NRPE and sudoers config
106    - Fixed bug in DiskUsageRaw()
107    - Added NRPE command affa_diskusagenrpe
108    * Fri Mar 02 2012 Michael Weinberger 3.2.1
109    - Bugfix: command_prefix definiton was not added to /etc/nagios/affa-nrpe.cfg
110    * Thu Mar 01 2012 Michael Weinberger 3.2.0
111    - Bugfix: remoteRsyncBinary and localRsyncBinary was not used
112    * Sun Feb 26 2012 Michael Weinberger 3.1.7
113    - Bugfixes in showSchedule()
114    * Sun Feb 26 2012 Michael Weinberger 3.1.6
115    - added ICINGA/Nagios auto-configuration
116    * Fri Feb 24 2012 Michael Weinberger 3.1.4
117    - do not show Dedup interrupted in --status after the very first run
118    - improved --nrpe function
119    - added script yum_install_packages.sh
120    * Tue Oct 11 2011 Michael Weinberger 3.1.3
121    - MINOR IMPROVEMENTS
122      --send-key: mkdir of RemoteAuthorizedKeysFile. Avoid errors if dir does not exist
123      --log-tail: show last rotated if current log is empty or too short
124      --check-conncetions: allow jobs as arguments
125    * Sun Aug 29 2011 Michael Weinberger 3.1.2
126    - Bugfix: postJobCommand and postJobCommandRemote were not executed
127    * Sat Aug 13 2011 Michael Weinberger 3.1.1
128    - process state 'rsync interrupted' and 'dedup interrupted'
129    - --resume-interrupted
130    - resume interrupted jobs after server boot
131    * Sun Aug 07 2011 Michael Weinberger 3.1.0-1
132    - introduced status 'interrupted'(with --status)
133    * Fri Aug 05 2011 Michael Weinberger 3.1.0-0
134    - Release of 3.1.0
135    * Thu Aug 04 2011 Michael Weinberger 3.0.2-14
136    - de-duplicate, execPreJobCommand and execPostJobCommand only on scheduled run
137    - removed Command arg from sample scripts
138    - Fixed: Concatenated config in /tmp was world readable
139    - De-duplication info added to --show-schedule
140    * Tue Aug 02 2011 Michael Weinberger 3.0.2-6
141    - De-Duplication (freedup)
142    - De-Dup info in --status and --list-archives
143    - --status: only show enabled jobs. All with --all
144    - Fix: property globalStatus was not working
145    - Running state rsync or de-deduplicating display in --status
146    - Show de-deduplicating busy in --list-archives for scheduled.0
147    - new property dedupKill. When set no, --kill does not kill a job when de-duplicating
148    - new option --show-property
149    
150    * Wed Jul 27 2011 Michael Weinberger 3.0.1-7
151    - Bug fixes: RemoteUser was not always used in ssh commands
152    
153    * Sun Jul 24 2011 Michael Weinberger 3.0.1-6
154    - fixed bug in affa --status
155    - GlobalAffaConfig was mounted as Samba share
156    - call setupSamba() only in cronSetup()
157    - updated man
158    
159    * Sat Jul 23 2011 Michael Weinberger 3.0.1-5
160    - new key NRPEtrigger
161    - full affa path required when starting re-run from cronjob
162    - improved deletion of shift out archives, --delete-job and --cleanup
163    - added --single-transaction to /etc/affa/scripts/mysql-dump-tables
164    
165    * Wed Jul 20 2011 Michael Weinberger 3.0.0-0
166    - generic linux version made from Affa 2.0 (SME Version)
167    
168    * Mon Apr 02 2007 Michael Weinberger
169    - bash version re-written in Perl
170    


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

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