16
my $arg = shift(@ARGV);
18
$ip_dir = shift(@ARGV);
19
} elsif ($arg eq '-t') {
20
$template_dir = shift(@ARGV);
24
if (not defined($ip_dir) || not defined($template_dir)) { die "Need to specify a location for input and template data\n"; }
29
open($file, "$template_dir/control.langpacks") or die "Couldn't find control.langpacks";
30
$lp_avail_desc = <$file>;
32
open($file, "$template_dir/control.langpacks.unavail") or die "Couldn't find control.langpacks.unavail";
33
$lp_unavail_desc = <$file>;
39
open($all_file, "$ip_dir/locales.all") or die "Failed to open $ip_dir/locales.all";
40
open($shipped_file, "$ip_dir/locales.shipped") or die "Failed to open $ip_dir/locales.shipped";
42
if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) {
47
$pkgname =~ s/([^:]*):*([^:]*)/$1/;
48
$desc =~ s/([^:]*):*([^:]*)/$2/;
49
if ($desc eq "") { die "Malformed locales.all"; }
50
$all{$pkgname} = $desc;
54
while (<$shipped_file>) {
55
if ((not $_ =~ /^$/) && (not $_ =~ /^#.*/)) {
60
$locale =~ s/([^:]*):*([^:]*)/$1/;
61
$pkgname =~ s/([^:]*):*([^:]*)/$2/;
62
if ($pkgname eq "") { die "Malformed locales.shipped"; }
63
$shipped{$pkgname} = 1;
69
my @pkglist = keys(%all);
70
@pkglist = sort(@pkglist);
71
foreach my $pkg (@pkglist) {
72
my $desc = $all{$pkg};
74
$entry = exists $shipped{$pkg} ? $lp_avail_desc : $lp_unavail_desc;
75
$entry =~ s/\@LANGCODE\@/$pkg/g;
76
$entry =~ s/\@LANG\@/$desc/g;