diff options
author | Olivier Thauvin <nanardon@mandriva.org> | 2007-08-21 13:07:22 +0000 |
---|---|---|
committer | Olivier Thauvin <nanardon@mandriva.org> | 2007-08-21 13:07:22 +0000 |
commit | 25981d8ed90ad9ce04a9d462f12b713f7652e09c (patch) | |
tree | 17b101cd9624dbf8ff2e6c1c8dd69b74f3e29166 /find-lang.pl | |
parent | bad3b34ff1b860b0c593504e3692d60512c1813a (diff) | |
download | rpm-setup-25981d8ed90ad9ce04a9d462f12b713f7652e09c.tar rpm-setup-25981d8ed90ad9ce04a9d462f12b713f7652e09c.tar.gz rpm-setup-25981d8ed90ad9ce04a9d462f12b713f7652e09c.tar.bz2 rpm-setup-25981d8ed90ad9ce04a9d462f12b713f7652e09c.tar.xz rpm-setup-25981d8ed90ad9ce04a9d462f12b713f7652e09c.zip |
- when a file/dir is owned by multiple language, we assume it should be always installed
Diffstat (limited to 'find-lang.pl')
-rw-r--r-- | find-lang.pl | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/find-lang.pl b/find-lang.pl index 91cfe19..382ed80 100644 --- a/find-lang.pl +++ b/find-lang.pl @@ -15,12 +15,19 @@ GetOptions( 'with-html' => \my $withhtml, 'without-mo' => \my $withoutmo, 'with-man' => \my $withman, + 'debug' => \my $debug, ) or pod2usage(); my ($buildroot, @searchname) = @ARGV; +$buildroot or die "No buildroot given\n"; $buildroot =~ s:/+$::; # removing trailing / my ($pkgname) = @searchname or die "Main name to find missing\n"; -$buildroot or die "No buildroot given\n"; + +sub debug { + $debug or return; + my ($msg, @val) = @_; + printf("DEBUG: $msg\n", @val); +} my %finallist; # filename => attr, easy way to perform uniq @@ -63,7 +70,13 @@ File::Find::find( my $rpmlang = $lang eq 'C' ? "" : "%lang($lang)"; parent_to_own($parent, $file, $rpmlang); - $finallist{$file} = "$rpmlang "; + if (defined($finallist{$file})) { + # Own multiple time, match all lang, so no %lang() + $finallist{$file} = ""; + } else { + $finallist{$file} = "$rpmlang "; + } + debug("File %s will be %s", $file, $finallist{$file}); }, $buildroot || '/' @@ -83,9 +96,14 @@ sub parent_to_own { my ($parent, $file, $lang) = @_; my @subdir = grep { $_ } split('/', substr($file, length($parent))); pop(@subdir); - #$finallist{$parent} = "$lang %dir"; while (my $part = shift(@subdir)) { $parent .= "/$part"; - $finallist{$parent} = "$lang %dir "; + if (defined($finallist{$parent})) { + # Own multiple time, match all lang, so no %lang() + $finallist{$parent} = "%dir "; + } else { + $finallist{$parent} = "$lang %dir "; + } + debug("File %s will be %s", $parent, $finallist{$parent}); } } |