summaryrefslogtreecommitdiff
path: root/check-POTFILES.pl
diff options
context:
space:
mode:
authorDarin Adler <darin@src.gnome.org>2000-09-15 17:39:49 +0000
committerDarin Adler <darin@src.gnome.org>2000-09-15 17:39:49 +0000
commit4c197a238feacb7a0d8ee1ec2f94b2c5903d5906 (patch)
tree4ee71e515b12d73473b6c935a8aab14ef0035645 /check-POTFILES.pl
parent42e1899a883cbd492ee839db68bc7fcdb9ce3135 (diff)
downloadnautilus-4c197a238feacb7a0d8ee1ec2f94b2c5903d5906.tar.gz
Another try at fixing the Tinderbox.
* po/POTFILES.in: Removed files that are not in Makefile.am, since they won't be in the tarball/RPM. * check-POTFILES.pl: Added a new script to check for files that are mentioned in POTFILES.in, but not in the Makefile.am files. * check-headers-in-Makefile.pl: Fixed to use SUBDIRS instead of looking for all Makefile.am files. * components/adapter/.cvsignore: Listed generated files.
Diffstat (limited to 'check-POTFILES.pl')
-rwxr-xr-xcheck-POTFILES.pl106
1 files changed, 106 insertions, 0 deletions
diff --git a/check-POTFILES.pl b/check-POTFILES.pl
new file mode 100755
index 000000000..be0dd4e9b
--- /dev/null
+++ b/check-POTFILES.pl
@@ -0,0 +1,106 @@
+#!/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@eazel.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 =
+ (
+ '$(AUTHENTICATE_HELPER_SUBDIRS)' => 'authenticate',
+ '$(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]+\.[ch])\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;