Commit 6d5a5cea authored by Cosimo Cecchi's avatar Cosimo Cecchi

trivial: remove old perl scripts and other cruft

Most of these don't work, and I don't think anybody uses them.
parent 9318a48b
This file is here to detect the fact that we are building a CVS
version and not a tarball. Do _not_ add it to any Makfile.am rules
that would cause it to be distributed in release tarballs!
......@@ -31,7 +31,6 @@ EXTRA_DIST= \
intltool-merge.in \
intltool-update.in \
Makefile.shared \
add-include-prefix \
$(NULL)
DISTCLEANFILES = \
......@@ -51,7 +50,7 @@ distclean-local:
ChangeLog:
@echo Creating $@
@if test -d "$(srcdir)/.git"; then \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log NAUTILUS_2_26_2.. --stat -M -C --name-status --date=short --no-color) | fmt --split-only > $@.tmp \
(GIT_DIR=$(top_srcdir)/.git ./missing --run git log --stat -M -C --name-status --date=short --no-color) | fmt --split-only > $@.tmp \
&& mv -f $@.tmp $@ \
|| ($(RM) $@.tmp; \
echo Failed to generate ChangeLog, your ChangeLog may be outdated >&2; \
......
We put plans for renaming in here so we can think about them for a
while. Note that when we rename a class, it usually involves renaming
some functions and files too.
When we rename files in the repository, we do it by this process:
1) copy the file in the repository by logging in and using cp (to retain history)
2) check out to get the new file
3) cvs rm to remove the old file on commit
4) fix all build problems
5) commit
This retains the history in both the old and new locations.
Remove a lot of nautilus prefixes since nothing outside libnautilus is
intended for use with other programs, so it doesn't need namespacing.
------
macros
------
---------------
directory names
---------------
----------
file names
----------
*-ui.xml -> *.ui
src/file-manager/fm-* -> ?
nautilus-authn-manager.c -> nautilus-authentication-manager.c
----------------------------
classes and other data types
----------------------------
FM* -> ?
--------------
function names
--------------
For tasks outside the porting effort, we track them as bugs in
http://bugzilla.gnome.org. For the porting effort, please let
darin@bentspoon.com know what you are working on.
- Visit all the GNOME2_CONVERSION_COMPLETE and fix each issue
(details forthcoming)
- Visit all the destroy and move things into finalize or dispose
and make them callable twice as appropriate.
- Change things that use destroy handlers to use weak references
instead.
- Figure out why we get NULL font problems in Pango when the progress
dialog comes up.
- Split themes into a separate tarball/package?
- Add mnemonics for all preferences, so you can use the keyboard to
drive the preferences dialog.
Monitor for UNMOUNT file change event and close window
Break out file activation from fm-directory-view.c
File actication cancellation not implemented yet
convert delete to use trash_or_delete code
recursive deletes
progress for trash/delete
Automount location when loading it in a window and its not mounted.
"translate" gnome-vfs errors and update error handling
fm-directory-view.c: pre_copy_move stuff leaks as it waits for uris that are not in the target directory.
sed -e 's/^/ /' -e 's/ */ /g' -e 's/ / -I /g' -e 's/ -I $//'
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# Nautilus
#
# Copyright (C) 2000 Eazel, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this library; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Darin Adler <darin@bentspoon.com>,
#
# check-FIXME.pl: Search for FIXMEs in the sources and correlate them
# with bugs in the bug database.
use diagnostics;
use strict;
# default to all the files starting from the current directory
my %skip_files;
if (!@ARGV)
{
@ARGV = `find . \\( \\( -name po -prune -false \\) -or \\( -name CVS -prune -false \\) -or \\( -name macros -prune -false \\) -or \\( -name '*' -and -type f \\) \\) -and ! \\( -name '*~' -or -name '#*' -or -name 'ChangeLog*' -or -name Entries \\) -print`;
%skip_files =
(
"./HACKING" => 1,
"./TODO" => 1,
"./aclocal.m4" => 1,
"./check-FIXME.pl" => 1,
"./config.sub" => 1,
"./libtool" => 1,
"./ltconfig" => 1,
"./ltmain.sh" => 1,
);
}
#locate all of the open FIXMEs in the bug database
my $pwd=`pwd`;
chomp $pwd;
my $repository_file = $pwd."/CVS/Repository";
open FILE, " cat $repository_file | ";
my $product = <FILE>;
chomp $product;
close FILE;
print "Searching the bugzilla database's product $product for open FIXME bugs\n";
if (!grep /$product/, ( "nautilus", "gnome-vfs", "medusa", "oaf")) {
print "Can't find your product in the bugzilla.gnome.org database\n";
}
my $bugzilla_query_bug_url = "http://bugzilla.gnome.org/buglist.cgi?";
$product =~ s/\-/\+/g;
my @cgi_options = ("bug_status=NEW",
"bug_status=ASSIGNED",
"bug_status=REOPENED",
"long_desc=fixme",
"long_desc_type=substring",
"product=$product");
my $open_fixmes_url = $bugzilla_query_bug_url.join "&", @cgi_options;
`wget -q -O - "$open_fixmes_url"` =~ /<INPUT TYPE\=HIDDEN NAME\=buglist VALUE\=([0-9:]+)>/;
my $buglist_text = $1;
my %bugs_in_bugzilla;
foreach my $bug (split /:/, $buglist_text) {
$bugs_in_bugzilla{$bug} = "UNFOUND";
}
print "Locating all of the FIXME's listed in source\n";
# locate all of the target lines
my $no_bug_lines = "";
my %bug_lines;
foreach my $file (@ARGV)
{
chomp $file;
next if $skip_files{$file};
next unless -T $file;
open(FILE, $file) || die "can't open $file";
while (<FILE>)
{
next if !/FIXME/;
if (/FIXME\s*:?\s*bugzilla.gnome.org\s+(\d+)/)
{
$bug_lines{$1} .= "$file:$.:$_";
}
else
{
$no_bug_lines .= "$file:$.:$_";
}
}
close(FILE);
}
# list database bugs we can't find in nautilus
printf "%d FIXMES in the database still in $product\n", keys %bug_lines;
foreach my $bug_number (keys %bug_lines) {
$bugs_in_bugzilla{$bug_number} = "FOUND";
}
print "\n";
foreach my $bug_number (keys %bugs_in_bugzilla) {
if ($bugs_in_bugzilla{$bug_number} eq "UNFOUND") {
# Also check that the
my $bug_url = "http://bugzilla.gnome.org/show_bug.cgi?id=".$bug_number;
my $bug_page = `wget -q -O - $bug_url`;
if (!($bug_page =~ /This is not a FIXME bug/i)) {
$bug_page =~ /<A HREF=\"bug_status.html\#assigned_to\">Assigned To:<\/A><\/B><\/TD>\s+<TD>([^<]+)<\/TD>/s;
print "Bug $bug_number isn't in the source anymore. Contact owner $1.\n";
}
}
}
# list the ones without bug numbers
if ($no_bug_lines ne "")
{
my @no_bug_list = sort split /\n/, $no_bug_lines;
print "\n", scalar(@no_bug_list), " FIXMEs don't have bug numbers:\n\n";
foreach my $line (@no_bug_list)
{
print $line, "\n";
}
}
# list the ones with bugs that are not open
print "\n", scalar(keys %bug_lines), " FIXMEs with bug numbers.\n";
sub numerically { $a <=> $b; }
foreach my $bug (sort numerically keys %bug_lines)
{
# Check and see if the bug is open.
my $page = `wget -q -O - http://bugzilla.gnome.org/show_bug.cgi?id=$bug`;
$page =~ tr/\n/ /;
my $status = "unknown";
$status = $1 if $page =~ m|Status:.*</TD>\s*<TD>([A-Z]+)</TD>|;
next if $status eq "NEW" || $status eq "ASSIGNED" || $status eq "REOPENED";
# This a bug that is not open, so report it.
my @bug_line_list = sort split /\n/, $bug_lines{$bug};
print "\nBug $bug is $status:\n\n";
foreach my $line (@bug_line_list)
{
print $line, "\n";
}
}
print "\n";
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# Nautilus
#
# Copyright (C) 2000 Eazel, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this library; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Darin Adler <darin@bentspoon.com>,
#
# check-POTFILES.pl: Checks for files mentioned in POTFILES.in that
# are not present in the Makefile.am files for those directories.
use diagnostics;
use strict;
my @directories = (".");
my %exceptions =
(
'$(APPLETS_SUBDIRS)' => 'applets',
'$(AUTHENTICATE_HELPER_SUBDIRS)' => 'authenticate',
'$(INSTALL_SERVICE)' => 'install',
'$(MOZILLA_COMPONENT_SUBDIRS)' => 'mozilla',
'$(NULL)' => '',
'$(RPMVIEW_COMPONENT_SUBDIRS)' => 'rpmview',
'$(SERVICE_SUBDIRS)' => 'services',
'intl' => '',
'po' => '',
);
my %files;
# collect all files mentioned in Makefile.am files
while (@directories)
{
my $directory = pop @directories;
my $prefix = "";
$prefix = "$directory/" if $directory ne ".";
my $in_subdirs = 0;
my $file = $prefix . "Makefile.am";
open FILE, $file or die "can't open $file\n";
while (<FILE>)
{
if (s/^SUBDIRS\s*=//)
{
$in_subdirs = 1;
}
if ($in_subdirs)
{
while (s/^\s*([^\s\\]+)//)
{
if (defined $exceptions{$1})
{
if ($exceptions{$1})
{
push @directories, $prefix . $exceptions{$1};
}
}
else
{
push @directories, $prefix . $1;
}
}
if (/^\s*$/)
{
$in_subdirs = 0;
}
elsif (!/^\s*\\$/)
{
die "can't parse SUBDIRS in $directory\n";
}
}
while (s/([-_a-zA-Z0-9]+\.(c|h|xml|cpp|oaf\.in|desktop\.in))\W//)
{
$files{$prefix . $1} = $1;
}
}
close FILE;
}
open POTFILES, "po/POTFILES.in" or die "can't open POTFILES.in\n";
while (<POTFILES>)
{
chomp;
if (! defined $files{$_})
{
print "$_ is in POTFILES.in but not Makefile.am\n";
}
}
close POTFILES;
#!/usr/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# Nautilus
#
# Copyright (C) 2000, 2001 Eazel, Inc.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this library; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Author: Maciej Stachowiak <mjs@eazel.com>
#
# check-THANKS.pl: Checks for users mentioned in one of the ChangeLogs
# but not in THANKS or AUTHORS; ensure that THANKS and AUTHORS do not
# overlap.
use diagnostics;
use strict;
# Map from alternate names of some users to canonical versions
my %name_map =
(
"T???=82??=B5ivo Leedj???=A2??=82??=ACrv" => "Tõivo Leedjärv",
"Tõivo Leedjärv" => "Tõivo Leedjärv",
"Sanlig adral" => "Sanlig Badral",
"Rahul Balerao" => "Rahul Bhalerao",
"Richard Hestilow" => "Rachel Hestilow",
"Martin Norback" => "Martin Norbäck",
"Martin Norb??ck" => "Martin Norbäck",
"Josep Puigdemont" => "Josep Puigdemont Casamajó",
"Josep Puigdemont i Casamajó" => "Josep Puigdemont Casamajó",
"?smund Skj?veland" => "Åsmund Skjæveland",
"Alexander Larsson" => "Alex Larsson",
"?ygimantas Beru?ka" => "Žygimantas Beručka",
"Beru?ka" => "Beručka",
"Carlos Perell?? Mar??n" => "Carlos Perelló Marín",
"Carlos Perello Marin" => "Carlos Perelló Marín",
"Carlos Perelló Marín" => "Carlos Perelló Marín",
"Ch4ristian Rose" => "Christian Rose",
"Danilo ? egan" => "Danilo Šegan",
"Danilo ?egan" => "Danilo Šegan",
"Danilo Å egan" => "Danilo Šegan",
"Darin as Andy" => "Darin Adler",
"Diego Gonzalez Gonzalez" => "Diego Gonzalez",
"Diego González" => "Diego Gonzalez",
"Eskil Olsen" => "Eskil Heyn Olsen",
"Gustavo Giráldez" => "Gustavo Giráldez",
"I?aki Larra?aga" => "Inaki Larranaga Murgoitio",
"Inaki Laranaga Murgoitio" => "Inaki Larranaga Murgoitio",
"Inaki Larranaga" => "Inaki Larranaga Murgoitio",
"J. Shane Culpepper" => "J Shane Culpepper",
"Jesus Bravo Alvarez" => "Jesús Bravo Álvarez",
"M?tin ?mirov" => "Mətin Əmirov",
"Michael Engber" => "Mike Engber",
"Michael K. Fleming" => "Mike Fleming",
"Pavel Císler" => "Pavel Cisler",
"Pavel" => "Pavel Cisler",
"Rebecka Schulman" => "Rebecca Schulman",
"Robin Slomkowski" => "Robin * Slomkowski",
"Shane Culpepper" => "J Shane Culpepper",
"Szabolcs BAN" => "Szabolcs Ban",
"Takuo KITAME" => "Takuo Kitame",
"Matic Zgur" => "Matic Žgur",
"Nelson Benitez" => "Nelson Benítez",
"arik devens" => "Arik Devens",
"Samúel Jón Gunnarsson" => "Samuel Jan Gunnarsson",
"Sam?=BAel J?=B3n Gunnarsson" => "Samuel Jan Gunnarsson",
"Sam?el J?n Gunnarsson" => "Samuel Jan Gunnarsson",
"Soeren Sandmann Pedersen" => "Soeren Sandmann",
"Soren Sandmann" => "Soeren Sandmann",
"Takeshi AiHANA" => "Takeshi AIHANA",
"Miguel Rodríguez Pérez" => "Rodriguez Perez"
);
# Map from alternate email addresses of some users to canonical versions
my %email_map =
(
'uws+gnome@xs4all.nl' => 'wbolster@gnome.org',
'wbolster@cvs.gnome.org' => 'wbolster@gnome.org',
'wbolster@svn.gnome.org' => 'wbolster@gnome.org',
'randrianiriana@gmaial.com' => 'thierryr@svn.gnome.org',
'thierry@randrianiriana.org' => 'thierryr@svn.gnome.org',
'thierryR@svn.gnome.org' => 'thierryr@svn.gnome.org',
'aihana@gnome.gr.jp' => 'takeshi.aihana@gmail.com',
'takehsi.aihana@gmail.com' => 'takeshi.aihana@gmail.com',
'sunil@atc.tcs.com' => 'sunilmohan@fsf.org.in',
'sunil@atc.tcs.co.in' => 'sunilmohan@fsf.org.in',
'ssp@localhost.localdomain' => 'sandmann@redhat.com',
'rozobeh@sharif.edu' => 'roozbeh@farsiweb.info',
'runa@bengalinux.org' => 'runabh@gmail.com',
'rajeshkajha@yahoo.com' => 'rranjan@redhat.com',
'amd@store20.com' => 'plaes@svn.gnome.org',
'gforcada@svn.gnome.org' => 'gforcada@gnome.org',
'bpepple@fedoraproject.org' => 'bdpepple@gmail.com',
'yaihr@gmail.com' => 'yairhr@gmail.com',
'chyla@buy.pl' => 'chyla@gnome.pl',
'mail@zbigniew.chyla.pl' => 'chyla@gnome.pl',
'uid0@tuxfamily.org' => 'zygis@gnome.org',
'uid0@akl.lt' => 'zygis@gnome.org',
'sandmann@daimi.au.dk' => 'sandmann@redhat.com',
'badral@chinggis.com' => 'Badral@openmn.org',
'badral@users.sf.net' => 'Badral@openmn.org',
'badral@chinggis.com' => 'Badral@openmn.org',
'ptvirtan@cc.hut.fi' => 'pauli.virtanen@hut.fi',
'pauli.virtanen@saunalahti.fi' => 'pauli.virtanen@hut.fi',
'frolix68@yahoo.gr' => 'nikosx@gmail.com',
'mdamt@mnots.eu' => 'mdamt@gnome.org',
'mvd@mylinux.ua' => 'dziumanenko@gmail.com',
'martin.wehner@epost.de' => 'martin.wehner@gmail.com',
'josep@imatge-sintetica.com' => 'josep.puigdemont@gmail.com',
'laca@ireland.sun.com' => 'laca@sun.com',
'Louise.Miller@ireland.sun.com' => 'louise.miller@sun.com',
'dooteo@zundan.com' => 'dooteo@euskalgnu.org',
'doteo@euskalgnu.org' => 'dooteo@euskalgnu.org',
'ihar.hrachyshka@gmail.com' => 'booxter@lacinka.org',
'iharh@gnome.org' => 'booxter@lacinka.org',
'ifelix@svn.gnome.org' => 'ifelix25@gmail.com',
'hendi@gnome-de.org' => 'hendrikr@gnome.org',
'dave@ximian.com' => 'dave@novell.com',
'dcamp@novell.com' => 'dave@novell.com',
'davidz@redhat.com' => 'david@fubar.dk',
'dggonz@yahoo.com' => 'diego@pemas.net',
'cyphra@nano.tecknolabs.com' => 'serrador@openshine.com',
'dsegan@gmx.net' => 'danilo@gnome.org',
'cosimoc@svn.gnome.org' => 'cosimoc@gnome.org',
'chpe@cvs.gnome.org' => 'chpe@gnome.org',
'chpe@svn.gnome.org' => 'chpe@gnome.org',
'aflinta@svn.gnome.org' => 'aflinta@gmail.com',
'peter.ani@hotmail.com' => 'peter.ani@gmail.com',
'abel@oaka.org' => 'abelcheung@gmail.com',
'maddog@linux.org.hk' => 'abelcheung@gmail.com',
'alla@lysator.liu.se' => 'alexl@redhat.com',
'almer1@dds.nl' => 'almer@gnome.org',
'andersca@codefactory.se' => 'andersca@gnome.org',
'andersca@gnu.org' => 'andersca@gnome.org',
'andy@eazel.com' => 'andy@differnet.com',
'arik@gnome.org' => 'arik@eazel.com',
'at@ue-spacy.com' => 'tagoh@gnome.gr.jp',
'baulig@suse.de' => 'martin@home-of-linux.org',
'car0969@gamma2.uta.edu' => 'bratsche@gnome.org',
'carlos@gnome-db.org' => 'carlos@hispalinux.es',
'cgabriel@softwarelibero.org' => 'cgabriel@cgabriel.org',
'chief_wanker@eazel.com' => 'eskil@eazel.com',
'darin@eazel.com' => 'darin@bentspoon.com',
'dan@eazel.com' => 'd-mueth@uchicago.edu',
'hp@pobox.com' => 'hp@redhat.com',
'josh@eazel.com' => 'josh@whitecape.org',
'jrb@webwynk.net' => 'jrb@redhat.com',
'jsh@eazel.com' => 'jsh@pixelslut.com',
'kabalak@gmx.net' => 'kabalak@kabalak.net',
'kabalak@gtranslator.org' => 'kabalak@kabalak.net',
'kmaraas@gnu.org' => 'kmaraas@gnome.org',
'kmaraas@online.no' => 'kmaraas@gnome.org',
'linux@chrisime.de' => 'chrisime@gnome.org',
'linuxfan@ionet..net' => 'josh@whitecape.org',
'linuxfan@ionet.net' => 'josh@whitecape.org',
'mathieu@gnome.org' => 'mathieu@eazel.com',
'mathieu@gnu.org' => 'mathieu@eazel.com',
'mawa@iname.com' => 'mawarkus@gnome.org',
'mjs@eazel.com' => 'mjs@noisehavoc.org',
'ramiro@eazel.com' => 'ramiro@fateware.com',
'raph@gimp.org' => 'raph@acm.org',
'rslomkow@rslomkow.org' => 'rslomkow@eazel.com',
'seth@eazel.com' => 'snickell@stanford.edu',
'sopwith@eazel.com' => 'sopwith@redhat.com',
'yakk@yakk.net' => 'ian@eazel.com',
'yakk@yakk.net.au' => 'ian@eazel.com',
'alexl@cgf.boston.redhat.com' => 'alexl@redhat.com',
'alexl@redhat.co,' => 'alexl@redhat.com',
'alexl@redhat' => 'alexl@redhat.com'
);
# Some ChangeLog lines that carry no credit (incorrect changes that
# had to be reverted, changes done for someone else, etc.)
my %no_credit =
(
'2000-09-08 Daniel Egger <egger@suse.de>' => 1,
'2000-09-06 Daniel Egger <egger@suse.de>' => 1,
'2001-04-25 Changwoo Ryu <cwryu@debian.org>' => 1,
);
open CHANGELOGS, "cat `find . -name intl -prune -or -name 'ChangeLog*' -and \! -name '*~' -print`|" or die;
my @lines;
while (<CHANGELOGS>)
{
chomp;
if (/@/)
{
next if $no_credit{$_};
if (/^\d\d\d\d-\d\d-\d\d/)
{
# Normal style ChangeLog comment
s/^\d\d\d\d-\d\d-\d\d[ \t]*//;
}
elsif (/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun).*\d\d\d\d/)
{
# Old style ChangeLog comment
s/^.*20\d\d\s*//;
}
elsif (/^\s+Patch from.+<\S+\@\S+>/i)
{
# Body of comment says 'Patch from', followed by name and email.
s/^\s+Patch from:?\s+//i;
}
else
{
next; # ignore unknown lines for now
}
my $name = $_;
$name =~ s/[ \t]*<.*[\n\r]*$//;
$name = $name_map{$name} if $name_map{$name};
my $email = $_;
$email =~ s/^.*<//;
$email =~ s/>.*$//;
$email =~ s/[ \t\n\r]*$//;
$email =~ s/helixcode/ximian/;
$email = $email_map{$email} if $email_map{$email};
push @lines, "${name} <${email}>";
}
}
close CHANGELOGS;
my @changelog_people;
my $last_line = "";
foreach my $line (sort @lines)
{
push @changelog_people, $line unless $line eq $last_line;
$last_line = $line;
}
open AUTHORS, "AUTHORS" or die;
my @authors;
while (<AUTHORS>) {
chomp;
push @authors, $_;
}
close AUTHORS;
open THANKS, "THANKS" or die;
my @thanks_people;
my @non_translation_thanks_people;
my $in_translations = 0;
while (<THANKS>) {
chomp;
s/ - .*$//;
push @thanks_people, $_;
$in_translations = 1 if /contributed translations/;
push @non_translation_thanks_people, $_ if !$in_translations;
}
close THANKS;
my $found_about_authors = 0;
my @about_authors;
if (open ABOUT, "src/nautilus-window-menus.c")
{
while (<ABOUT>)
{
if (/const char \*authors/)
{
$found_about_authors = 1;
last;
}
}
if ($found_about_authors)
{
while (<ABOUT>)
{
last unless /^\s+\"(.*)\",\s*\n/;
push @about_authors, $1;
}
}
close ABOUT;
}
my @uncredited;
foreach my $person (@changelog_people)
{
if (! (grep {$_ eq $person} @thanks_people) &&
! (grep {$_ eq $person} @authors))
{
push @uncredited, $person;
}
}
my @double_credited;
foreach my $person (@authors)
{
if (grep {$_ eq $person} @non_translation_thanks_people)
{
push @double_credited, $person;
}
}
my @author_names;
foreach my $person (@authors)
{
$person =~ s/\s*<.*//;
push @author_names, $person;
}
my @not_in_about;
foreach my $person (@author_names)
{
push @not_in_about, $person unless grep {$_ eq $person} @about_authors;
}
my @only_in_about;
foreach my $person (@about_authors)
{
push @only_in_about, $person unless grep {$_ eq $person} @author_names;
}
my $printed = 0;
if (@uncredited)
{
print "\nThe following people are in the ChangeLog but not credited in THANKS or AUTHORS:\n\n";
foreach my $person (@uncredited)
{
print "${person}\n";
}
$printed = 1;
}
if (@double_credited)
{
print "\nThe following people are listed in both THANKS and AUTHORS:\n\n";
foreach my $person (@double_credited)
{
print "${person}\n";
}
$printed = 1;
} else {
if (!$found_about_authors)
{
print "\nDidn't find authors section in nautilus-window-menus.c\n";
$printed = 1;
}
if (@not_in_about)
{