~ubuntu-branches/ubuntu/oneiric/enigmail/oneiric-updates

« back to all changes in this revision

Viewing changes to toolkit/mozapps/installer/windows/nsis/check-locales.pl

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack
  • Date: 2010-04-10 01:42:24 UTC
  • Revision ID: james.westby@ubuntu.com-20100410014224-fbq9ui5x3b0h2t36
Tags: 2:1.0.1-0ubuntu1
* First releaase of enigmail 1.0.1 for tbird/icedove 3
  (LP: #527138)
* redo packaging from scratch 
  + add debian/make-orig target that uses xulrunner provided
    buildsystem + enigmail tarball to produce a proper orig.tar.gz
  + use debhelper 7 with mozilla-devscripts
  + use debian source format 3.0 (quilt)
  + patch enigmail to use frozen API only
    - add debian/patches/frozen_api.diff
  + patch build system to not link against -lxul - which isnt
    available for sdks produced by all-static apps like tbird
    - add debian/patches/build_system_dont_link_libxul.diff
  + add minimal build-depends to control

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl -w
 
2
# ***** BEGIN LICENSE BLOCK *****
 
3
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
 
4
#
 
5
# The contents of this file are subject to the Mozilla Public License Version
 
6
# 1.1 (the "License"); you may not use this file except in compliance with
 
7
# the License. You may obtain a copy of the License at
 
8
# http://www.mozilla.org/MPL/
 
9
#
 
10
# Software distributed under the License is distributed on an "AS IS" basis,
 
11
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 
12
# for the specific language governing rights and limitations under the
 
13
# License.
 
14
#
 
15
# The Original Code is Mozilla Installer locale verification.
 
16
#
 
17
# The Initial Developer of the Original Code is Mozilla Foundation
 
18
# Portions created by the Initial Developer are Copyright (C) 2006
 
19
# the Initial Developer. All Rights Reserved.
 
20
#
 
21
# Contributor(s):
 
22
#  Robert Strong <robert.bugzilla@gmail.com>
 
23
#
 
24
# Alternatively, the contents of this file may be used under the terms of
 
25
# either the GNU General Public License Version 2 or later (the "GPL"), or
 
26
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 
27
# in which case the provisions of the GPL or the LGPL are applicable instead
 
28
# of those above. If you wish to allow use of your version of this file only
 
29
# under the terms of either the GPL or the LGPL, and not to allow others to
 
30
# use your version of this file under the terms of the MPL, indicate your
 
31
# decision by deleting the provisions above and replace them with the notice
 
32
# and other provisions required by the GPL or the LGPL. If you do not delete
 
33
# the provisions above, a recipient may use your version of this file under
 
34
# the terms of any one of the MPL, the GPL or the LGPL.
 
35
#
 
36
# ***** END LICENSE BLOCK *****
 
37
 
 
38
# Note: this was written using compare-locales.pl as a template.
 
39
 
 
40
$failure = 0;
 
41
 
 
42
sub readProperties
 
43
{
 
44
    my ($file) = @_;
 
45
 
 
46
    open PROPS, "<$file" || die ("Couldn't open file $file");
 
47
 
 
48
    local $/ = undef;
 
49
    my $contents = <PROPS>;
 
50
    close PROPS;
 
51
 
 
52
    $contents =~ s/\\$$//gm;
 
53
 
 
54
    return $contents =~ /^\s*([^#!\n]*)$/gm;
 
55
}
 
56
 
 
57
sub checkProperties
 
58
{
 
59
    my ($path) = @_;
 
60
 
 
61
    my @invalid;
 
62
 
 
63
    my @entities = readProperties("$gSourceDir/$path");
 
64
 
 
65
    foreach my $entity (@entities) {
 
66
        if ($entity =~ m|.*(\$\(\^Name\)).*| ||
 
67
            $entity =~ m|.*(\$\(\^NameDA\)).*| ||
 
68
            $entity =~ m|.*(\$\{BrandFullName\}).*| ||
 
69
            $entity =~ m|.*(\$\{BrandShortName\}).*|) {
 
70
            push @invalid, "$entity\n    *** incorrect variable usage please refer to en-US";
 
71
        }
 
72
    }
 
73
 
 
74
    if (@invalid) {
 
75
        $failure = 1;
 
76
        print "Properties in $path using invalid values:\n";
 
77
        if (@invalid) {
 
78
            print "  In $gSourceDir: (change these in your localization)\n";
 
79
            map { print "    $_\n"; } @invalid;
 
80
        }
 
81
    }
 
82
}
 
83
 
 
84
sub checkDir
 
85
{
 
86
    my ($path) = @_;
 
87
 
 
88
    my (@entries);
 
89
 
 
90
    opendir(DIR, "$gSourceDir/$path") ||
 
91
        die ("Couldn't list $gSourceDir/$path");
 
92
    @entries = grep(!(/^(\.|CVS)/ || /~$/), readdir(DIR));
 
93
    closedir(DIR);
 
94
 
 
95
    foreach my $file (@entries) {
 
96
        if (-d "$gSourceDir/$path/$file") {
 
97
            checkDir("$path/$file");
 
98
        } else {
 
99
            if ($file =~ /\.properties$/) {
 
100
               checkProperties("$path/$file");
 
101
            }
 
102
        }
 
103
    }
 
104
}
 
105
 
 
106
local ($gSourceDir) = @ARGV;
 
107
($gSourceDir) || die("Specify one directory to verify");
 
108
 
 
109
if (!-d $gSourceDir) {
 
110
    die("Not a directory");
 
111
}
 
112
 
 
113
checkDir(".");
 
114
 
 
115
exit $failure;