Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37495752
en ru br
Репозитории 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
www.altlinux.org/Changes

Группа :: Система/Основа
Пакет: 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++;
}
}
}
}
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin