#!/usr/bin/perl
use strict;
use warnings;

my $use_sshlogin = 1;

# This has to be defined somehow
my $REQUIRED_RSYNC_VERSION = "2.6.7";


# Code to check:
sub check_rsync_version {
	if( ! `which rsync` ){
		return;
	}

	my ($rsync_version) = `rsync --version` =~ m/version\s+(\d+(\.\d+)*)\s/s;
	my @actual_rsync_version = split(qr(\.), $rsync_version);
	my @required_rsync_version = split(qr(\.), $REQUIRED_RSYNC_VERSION);

	my $i;
	for($i = 0; $i < scalar(@required_rsync_version) ; $i++){
		if( ! defined $actual_rsync_version[$i] ){
			return;
		}
		elsif( $required_rsync_version[$i] > $actual_rsync_version[$i] ){
			return;
		}
		elsif( $required_rsync_version[$i] < $actual_rsync_version[$i] ){
			return 1;
		}
		elsif( $i == scalar(@required_rsync_version)-1 && $required_rsync_version[$i] == $actual_rsync_version[$i]){
			return 1;
		}
	}

}

if( $use_sshlogin && ! check_rsync_version() ){
	die qq/Required rsync with minimum version: $REQUIRED_RSYNC_VERSION/;
}

