From 435c66def797c969cf1110447df40923613e963c Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 23 Feb 2013 17:21:01 +0000 Subject: [PATCH] automatic agpl compliance: fixes --- cgi-auth-flexible.pm | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/cgi-auth-flexible.pm b/cgi-auth-flexible.pm index 8c3cb49..bb359c1 100644 --- a/cgi-auth-flexible.pm +++ b/cgi-auth-flexible.pm @@ -50,6 +50,7 @@ use Data::Dumper; use File::Copy; use Cwd qw/realpath/; + #---------- public utilities ---------- sub flatten_params ($) { @@ -236,6 +237,7 @@ sub srcdump_process_item ($$$$$$) { my $upwards = $item; for (;;) { $upwards =~ s#/+$##; + $upwards =~ s#/+\.$##; last unless $upwards =~ m#[^/]#; foreach my $try (@{ $v->{S}{srcdump_vcs_dirs} }) { #print STDERR "TRY $item $upwards $try\n"; @@ -244,13 +246,17 @@ sub srcdump_process_item ($$$$$$) { next; } #print STDERR "VCS $item $upwards $try\n"; - return if $dirsdone->{$upwards}++; + if ($dirsdone->{$upwards}++) { + $outfn->("srcdump_process_item: did $upwards,". + " skipping $item"); + return; + } #print STDERR "VCS $item $upwards $try GO\n"; $try =~ m/\w+/ or die; return $v->_ch(('srcdump_byvcs_'.lc $&), $dumpdir, $upwards, $outfn); } - $upwards =~ s#/*[^/]+##; + $upwards =~ s#/*[^/]+$##; } return $v->_ch('srcdump_novcs', $dumpdir, $item, $outfn); } @@ -264,7 +270,7 @@ sub srcdump_novcs ($$$$$) { $script .= " \\! -name '$excl'"; } $script .= " -print0"; - return srcdump_dir_cpio($c,$v,$dumpdir,$item,$outfn,$script); + return srcdump_dir_cpio($c,$v,$dumpdir,$item,$outfn,'novcs',$script); } elsif (-f _) { return srcdump_file($c,$v,$dumpdir,$item,$outfn); } else { @@ -275,7 +281,7 @@ sub srcdump_novcs ($$$$$) { sub srcdump_byvcs_git ($$$$$) { my ($c, $v, $dumpdir, $dir, $outfn) = @_; #print STDERR "BYVCS GIT $dir\n"; - return srcdump_dir_cpio($c,$v,$dumpdir,$dir,$outfn," + return srcdump_dir_cpio($c,$v,$dumpdir,$dir,$outfn,'git'," git ls-files -z git ls-files -z --others --exclude-from=.gitignore find .git -print0 @@ -288,9 +294,9 @@ sub srcdump_file ($$$$) { copy($file,$outfile) or die "$file $outfile $!"; } -sub srcdump_dir_cpio ($$$$$) { - my ($c,$v,$dumpdir,$dir,$outfn,$script) = @_; - my $outfile = $outfn->("srcdump_dir_cpio saved $dir", "tar"); +sub srcdump_dir_cpio ($$$$$$$) { + my ($c,$v,$dumpdir,$dir,$outfn,$how,$script) = @_; + my $outfile = $outfn->("srcdump_dir_cpio $how saved $dir", "tar"); #print STDERR "CPIO $dir >$script<\n"; my $pid = fork(); defined $pid or die $!; @@ -359,14 +365,14 @@ sub srcdump_dirscan_prepare ($$) { } if (!lstat "$item") { die "stat $item $!" unless $!==&ENOENT; - $outfn->("srcdump_dirscan_prepare stat ENOENT: skipping $item"); + $outfn->("srcdump_dirscan_prepare stat ENOENT, skipping $item"); next; }; if (-l _) { $item = realpath($item); if (!defined $item) { die "realpath $item $!" unless $!==&ENOENT; - $outfn->("srcdump_dirscan_prepare realpath ENOENT:". + $outfn->("srcdump_dirscan_prepare realpath ENOENT,". " skipping $item"); } } -- 2.30.2