pjs/tools/relic/make-id-list

86 строки
2.9 KiB
Perl
Executable File
Исходник Ответственный История

#!/usr/bin/perl -w
#
# This is a script to take a long list of Initial Developers on stdin and
# output a de-duped, munged list suitable for putting into about:licence or
# other similar place in order to comply with the MPL section 3.3
# Equivalence mappings; having these is easier than updating hundreds of files
# to make them all use the same variant of each name.
my %equivalents = (
"ActiveState Tool Corporation" => "ActiveState Tool Corp",
"Activestate Tool Corp" => "ActiveState Tool Corp",
"ActiveState Tool Corp." => "ActiveState Tool Corp",
"Crocodile Clips Ltd." => "Crocodile Clips Ltd",
"IBM" => "IBM Corporation",
"IBM Corp" => "IBM Corporation",
"International Business Machines Corporation" => "IBM Corporation",
"a mozilla.org contributor" => "Mozilla Foundation",
"Mozilla" => "Mozilla Foundation",
"Mozilla.com" => "Mozilla Corporation",
"The Mozilla Foundation" => "Mozilla Foundation",
"the Mozilla Foundation" => "Mozilla Foundation",
"Mozilla.org" => "Mozilla Foundation",
"the Mozilla Organization" => "Mozilla Foundation",
"mozilla.org" => "Mozilla Foundation",
"Netscape" => "Netscape Communications Corporation",
"Netscape Corp" => "Netscape Communications Corporation",
"Netscape Communications" => "Netscape Communications Corporation",
"Netscape Communications, Inc" => "Netscape Communications Corporation",
"Netscape Communications Corp" => "Netscape Communications Corporation",
"Netscape Communications Corp." => "Netscape Communications Corporation",
"Netscape Communications Corp, Inc" => "Netscape Communications Corporation",
"Novell" => "Novell Inc",
"Novell, Inc" => "Novell Inc",
"Red Hat Software" => "Red Hat Inc",
"Red Hat" => "Red Hat Inc",
"Red Hat, Inc" => "Red Hat Inc",
"RSA Security INC" => "RSA Security Inc",
"RSA Security" => "RSA Security Inc",
"RSA Security, Inc" => "RSA Security Inc",
"Sun Microsystem" => "Sun Microsystems Inc",
"Sun Microsystems" => "Sun Microsystems Inc",
"Sun Microsystems, Inc." => "Sun Microsystems Inc",
"Sun Microsystems, Inc" => "Sun Microsystems Inc",
"bmlk\@gmx.de" => "Bernd Mielke",
"davel\@mozilla.com" => "Dave Liebreich",
"Digital Creations 2" => "Digital Creations 2 Inc",
"Douglas F. Turner II" => "Doug Turner",
"Frank Schoenheit" => "Frank Sch<63>nheit",
"Håkan Waara" => "H<>kan Waara",
"Kenneth Herron" => "Ken Herron",
"sqlite3", "The sqlite Project",
"The University Of Queensland" => "The University of Queensland",
);
# 'indevs' == "Initial Developers"
my %indevs;
while (<>)
{
chomp;
my @candidates = split(" and ", $_);
foreach my $indev (@candidates)
{
# Chop off email addresses and suchlike
$indev =~ s/[<,\(].*$//;
$indev =~ s/^\s*//;
$indev =~ s/\s*$//;
$indev = $equivalents{$indev} || $indev;
$indevs{$indev} = 1;
}
}
# Print out the list in a form suitable for pasting into about:licence.
print join (", ", sort {lc $a cmp lc $b} keys %indevs);