Репозитории ALT
S: | 2.1.41-alt23 |
5.1: | 2.1.41-alt9 |
4.1: | 2.1.41-alt3.M41.1 |
4.0: | 2.1.35-alt5 |
3.0: | 2.1.25-alt3 |
+backports: | 2.1.29-alt4.0.M30 |
Группа :: Система/Основа
Пакет: menu
Главная Изменения Спек Патчи Исходники Загрузить Gear Bugs and FR Repocop
#!/usr/bin/perl
$topdir="/etc/menu-methods";
$dirname="$topdir/multi";
$langname="$topdir/lang.h";
@langs;
opendir DIR,$dirname;
while (defined($filename= readdir(DIR))){
if (!(($filename eq ".")||($filename eq ".."))){
open MENU, "$dirname/$filename" or die "cannot open file $filename";
$top=<MENU>;close MENU;
if ($top =~ m@#!/usr/sbin/install-menu@) {#check for menu file
open LANG,$langname or die "cannot open lang.h";
foreach (<LANG>){#find language definitions
chomp $_;
if (/languages/){
s/function.+languages\(\)\=\"(.*)\"/$1/;
@langs=split ":";
}
}
close LANG;
$number=1;
foreach $lang (@langs){
open MENU, "$dirname/$filename" or die "cannot open $filename";
open NEWMENU, ">$topdir/$filename$number" or die "cannot open $filename.$_";
chmod 0755, "$topdir/$filename$number";
foreach (<MENU>){
if(/genmenu/){
s/[a-z=\s]+\"(.*)\"/$1/;
chomp $_;
print NEWMENU "genmenu=\"$_.$lang\"\n";
}elsif (/\!include/){
print NEWMENU;
print NEWMENU "function lang()=\"$lang\"\n";
}else{
print NEWMENU;
}
}
close MENU;
close NEWMENU;
$number++;
}
}
}
}