3 # Copyright (C) 2016 Martin Thomas <mtdev@hamtam.de>
4 # LGPL version 2 or later.
9 use File
::Find
qw(find);
12 my ($dir, $directory, $f, $w, $tmp);
13 my (@files, @dirs, $file, $filename);
23 $encoding = ":encoding(UTF-8)";
28 $header = "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n";
29 $header .= "Upstream-Name: uclibc-ng\n";
30 $header .= 'Upstream-Contact: Waldemar Brodkorb <wbx@uclibc-ng.org>'."\n";
31 $header .= "Source: git://uclibc-ng.org/git/uclibc-ng\n\n";
33 # my $emailregex='\b[[:alnum:]._%+-]+@[[:alnum:].-]+.[[:alpha:]]{2,6}\b';
38 find
({ wanted
=> sub { push @files, $_ } , no_chdir
=> 1 }, @dirs);
42 @files=list_dirs
($directory);
44 foreach $file (@files) {
46 # $encoding = guess_encoding($file);
47 open(my $fh, "< $encoding", $file)
48 or die "Could not open file '$file' $!";
49 while (my $row = <$fh>) {
51 if ($row =~ m/[Cc]opyright / )
53 $row =~ s/^[\s\/\*#!;.\"\\]*//; #remove leading
54 $row =~ s/\s+$//; #remove trailing
55 push @copyright, { file
=> $file, raw
=> $row};
64 @copyrightout = sort { $a->{raw
} cmp $b->{raw
} } @copyright;
68 foreach (@copyrightout) {
69 if ( $tmp eq $_->{'raw'} )
71 $output[$i]{"files"} .= "\n"." $_->{'file'}";
76 $output[$i]{"header"} .= "Copyright: $_->{'raw'}\n";
77 $output[$i]{"header"} .= "License: GNU Lesser General Public License 2.1\n";
78 $output[$i]{"files"} .= "Files: ".$_->{'file'};
86 print "$output[$i]->{'files'}\n";
87 print "$output[$i]->{'header'}\n";