diff options
author | Darin Adler <darin@src.gnome.org> | 2000-09-15 17:39:49 +0000 |
---|---|---|
committer | Darin Adler <darin@src.gnome.org> | 2000-09-15 17:39:49 +0000 |
commit | 4c197a238feacb7a0d8ee1ec2f94b2c5903d5906 (patch) | |
tree | 4ee71e515b12d73473b6c935a8aab14ef0035645 /check-POTFILES.pl | |
parent | 42e1899a883cbd492ee839db68bc7fcdb9ce3135 (diff) | |
download | nautilus-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-x | check-POTFILES.pl | 106 |
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; |