1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#!/usr/bin/perl
# Copyright (C) 2016 Martin Thomas <mtdev@hamtam.de>
# LGPL version 2 or later.
use strict;
use warnings;
use IO::Dir;
use File::Find qw(find);
use Encode::Guess;
my ($dir, $directory, $f, $w, $tmp);
my (@files, @dirs, $file, $filename);
my $header;
my $files;
my $encoding;
my @copyright;
my @copyrightout;
my @ctext;
my @uniqcpr;
my $i;
$encoding = ":encoding(UTF-8)";
$encoding = "";
$directory="./";
$header = "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\n";
$header .= "Upstream-Name: uclibc-ng\n";
$header .= 'Upstream-Contact: Waldemar Brodkorb <wbx@uclibc-ng.org>'."\n";
$header .= "Source: git://uclibc-ng.org/git/uclibc-ng\n";
# my $emailregex='\b[[:alnum:]._%+-]+@[[:alnum:].-]+.[[:alpha:]]{2,6}\b';
sub list_dirs {
my @dirs = @_;
my @files;
find({ wanted => sub { push @files, $_ } , no_chdir => 1 }, @dirs);
return @files;
}
@files=list_dirs($directory);
foreach $file (@files) {
if ( -f $file ){
# $encoding = guess_encoding($file);
open(my $fh, "< $encoding", $file)
or die "Could not open file '$file' $!";
while (my $row = <$fh>) {
chomp $row;
if ($row =~ m/[Cc]opyright / )
{
$row =~ s/^[\s\/\*#!;.\"\\]*//;
$row =~ s/\s+$//;
push @copyright, { file => $file, text => $row};
last;
}
}
close $fh
}
}
@copyrightout = sort { $a->{text} cmp $b->{text} } @copyright;
$tmp="";
$i=0;
foreach (@copyrightout) {
if ( $tmp eq $_->{'text'} )
{
print " $_->{'file'}\n";
}
else
{
print "\n";
print $header;
print "Copyright: $_->{'text'}\n";
print "License: GNU Lesser General Public License 2.1\n";
print "Files: $_->{'file'}\n";
}
$tmp=$_->{'text'};
++$i;
}
|