# HG changeset patch # User Matthias Förste # Date 1336077214 -7200 # Node ID 7484e32fdc72c7da87954593e2845b5a0618f0ae # Parent bba8b3344c26dbf17388ffaa5dc99a656b5c4661 [perltidy] diff -r bba8b3344c26 -r 7484e32fdc72 wgnd-watch.pl --- a/wgnd-watch.pl Thu May 03 15:14:47 2012 +0200 +++ b/wgnd-watch.pl Thu May 03 22:33:34 2012 +0200 @@ -24,9 +24,10 @@ use warnings; my $VERSION = '0.1'; -my $ME = $0; +my $ME = $0; use File::Basename; + # File::Rsync in squeeze does not support --xattrs yet #use File::Rsync; use Getopt::Long; @@ -58,27 +59,27 @@ } my %opts = ( - daemon => 1, - map => 'wgnd-watch.map.pl', + daemon => 1, + map => 'wgnd-watch.map.pl', pidfile => '/var/run/wgnd-watch.pid' ); GetOptions( - "map=s" => \$opts{map}, - "daemon!" => \$opts{daemon}, + "map=s" => \$opts{map}, + "daemon!" => \$opts{daemon}, "pidfile=s" => \$opts{pidfile}, - "h|help!" => sub { pod2usage( -verbose => 0, -exitval => 0 ) }, - "m|man!" => sub { + "h|help!" => sub { pod2usage(-verbose => 0, -exitval => 0) }, + "m|man!" => sub { pod2usage( -verbose => 2, -exitval => 0, - -noperldoc => ( `perldoc -V 2>/dev/null`, $? != 0 )[-1] + -noperldoc => (`perldoc -V 2>/dev/null`, $? != 0)[-1] ); }, ) or pod2usage(); our $source; -use lib ('.', $ENV{HOME}, '/etc'); +use lib ('.', $ENV{HOME}, '/etc'); require $opts{map}; $0 = "$ME @ARGV"; @@ -90,17 +91,17 @@ open STDIN, "/dev/null" or die "Can't redir STDOUT: $!\n"; - defined (my $pid = fork) or die "Can't fork: $!\n"; + defined(my $pid = fork) or die "Can't fork: $!\n"; if ($pid) { dolog "Child is [$pid]"; exit 0; } POSIX::setsid() - or die "Can't setsid: $!\n"; + or die "Can't setsid: $!\n"; open(STDERR, ">&STDOUT") or die "Can't dup stdout: $!\n"; open(P, '>', $opts{pidfile}) - or die "Can't open '>', '$opts{pidfile}': $!\n"; + or die "Can't open '>', '$opts{pidfile}': $!\n"; print P $$; close P; $master = $$; @@ -108,30 +109,34 @@ } my $inotify = new Linux::Inotify2 - or die "Can't create new inotify object: $!\n"; + or die "Can't create new inotify object: $!\n"; my @rsync = qw(/usr/bin/rsync -ihv -aAX); for (keys %{$source}) { # add watchers - $inotify->watch ("$_", IN_CREATE, sub { + $inotify->watch( + "$_", + IN_CREATE, + sub { my $pid = fork; if (not defined $pid) { warn "Can't fork: $!\n"; } elsif ($pid == 0) { - my $e = shift; + my $e = shift; my $name = $e->fullname; - dolog "$name was created\n" if $e->IN_CREATE; - dolog "$name is no longer mounted\n" if $e->IN_UNMOUNT; - dolog "$name is gone\n" if $e->IN_IGNORED; + dolog "$name was created\n" if $e->IN_CREATE; + dolog "$name is no longer mounted\n" if $e->IN_UNMOUNT; + dolog "$name is gone\n" if $e->IN_IGNORED; dolog "events for $name have been lost\n" if $e->IN_Q_OVERFLOW; - exec @rsync, $source->{$e->{w}->{name}}, $name; + exec @rsync, $source->{ $e->{w}->{name} }, $name; warn "Can't exec: $!\n"; } - }) or die "Can't add watch: $!\n"; + } + ) or die "Can't add watch: $!\n"; } while (1) { @@ -146,7 +151,10 @@ END { - unlink $opts{pidfile} if $opts{daemon} and defined $master and $master eq $$; + unlink $opts{pidfile} + if $opts{daemon} + and defined $master + and $master eq $$; dolog "exit"; closelog;