|
|
|
@ -22,7 +22,7 @@ use Time::Local;
|
|
|
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
|
my %data; #объявим хэш переменных
|
|
|
|
|
$data{"calcver"} = "1.1.1 RC1";
|
|
|
|
|
$data{"calcver"} = "1.2.0 RC1";
|
|
|
|
|
|
|
|
|
|
#Определим путь к программе
|
|
|
|
|
if(!getpath()){exit;};
|
|
|
|
@ -741,8 +741,8 @@ sub welcome{
|
|
|
|
|
%{$data{ver}} = (
|
|
|
|
|
CLD => "Calculate Linux Desktop",
|
|
|
|
|
CLDX => "Calculate Linux Desktop",
|
|
|
|
|
CLS => "Calculate Linux Scratch",
|
|
|
|
|
CDS => "Calculate Directory Server",
|
|
|
|
|
CLS => "Calculate Linux Scratch",
|
|
|
|
|
);
|
|
|
|
|
%{$data{ver_desktop}} = (
|
|
|
|
|
CLD => "KDE",
|
|
|
|
@ -770,40 +770,40 @@ sub welcome{
|
|
|
|
|
$data{'calculatename'} = $data{ver}{$data{calculate}};
|
|
|
|
|
if(!$data{'calculatename'}){$data{'calculatename'} = $data{calculate}}
|
|
|
|
|
|
|
|
|
|
#старым способом (из issue-файла)
|
|
|
|
|
}else{
|
|
|
|
|
my $path = "/etc/issue";
|
|
|
|
|
my $chk;
|
|
|
|
|
if($data{builder} && `$data{path} mount | grep "$data{'chroot'} "` && -e $data{'chroot'}.$path){
|
|
|
|
|
$path = $data{'chroot'}.$path;
|
|
|
|
|
$chk = 'continue';
|
|
|
|
|
}elsif(-e $path){
|
|
|
|
|
$chk = 'building';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#если файл с версией системы найден, определим версию
|
|
|
|
|
if($chk && `$data{path} cat $path | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){
|
|
|
|
|
my $issuename = $1; #имя дистрибутива извлеченное из issue
|
|
|
|
|
foreach(keys %{$data{ver}}){
|
|
|
|
|
if($data{ver}{$_} eq $issuename){
|
|
|
|
|
$data{'calculate'} = $_;
|
|
|
|
|
$data{'calculatename'} = $data{ver}{$data{calculate}};
|
|
|
|
|
last;
|
|
|
|
|
} }
|
|
|
|
|
#если имя не определено, но оно новое и мы его уже передали параметром --configure
|
|
|
|
|
#if($data{builder} && !$data{'calculate'} && $chk eq 'continue'){
|
|
|
|
|
if(!$data{'calculate'}){
|
|
|
|
|
$data{'calculatename'} = $issuename;
|
|
|
|
|
if($issuename=~m/ /){
|
|
|
|
|
#сократим название, разделенное пробелами
|
|
|
|
|
foreach(split / /, $issuename){
|
|
|
|
|
$data{'calculate'} .= substr($_, 0, 1);
|
|
|
|
|
}
|
|
|
|
|
}else{
|
|
|
|
|
$data{'calculate'} = $issuename;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#старым способом (из issue-файла)
|
|
|
|
|
# my $path = "/etc/issue";
|
|
|
|
|
# my $chk;
|
|
|
|
|
# if($data{builder} && `$data{path} mount | grep "$data{'chroot'} "` && -e $data{'chroot'}.$path){
|
|
|
|
|
# $path = $data{'chroot'}.$path;
|
|
|
|
|
# $chk = 'continue';
|
|
|
|
|
# }elsif(-e $path){
|
|
|
|
|
# $chk = 'building';
|
|
|
|
|
# }
|
|
|
|
|
#
|
|
|
|
|
# #если файл с версией системы найден, определим версию
|
|
|
|
|
# if($chk && `$data{path} cat $path | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){
|
|
|
|
|
# my $issuename = $1; #имя дистрибутива извлеченное из issue
|
|
|
|
|
# foreach(keys %{$data{ver}}){
|
|
|
|
|
# if($data{ver}{$_} eq $issuename){
|
|
|
|
|
# $data{'calculate'} = $_;
|
|
|
|
|
# $data{'calculatename'} = $data{ver}{$data{calculate}};
|
|
|
|
|
# last;
|
|
|
|
|
# } }
|
|
|
|
|
# #если имя не определено, но оно новое и мы его уже передали параметром --configure
|
|
|
|
|
# #if($data{builder} && !$data{'calculate'} && $chk eq 'continue'){
|
|
|
|
|
# if(!$data{'calculate'}){
|
|
|
|
|
# $data{'calculatename'} = $issuename;
|
|
|
|
|
# if($issuename=~m/ /){
|
|
|
|
|
# #сократим название, разделенное пробелами
|
|
|
|
|
# foreach(split / /, $issuename){
|
|
|
|
|
# $data{'calculate'} .= substr($_, 0, 1);
|
|
|
|
|
# }
|
|
|
|
|
# }else{
|
|
|
|
|
# $data{'calculate'} = $issuename;
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
#устанавливаемая или собираемая система по умолчанию
|
|
|
|
|
if(!$data{'calculate'}){
|
|
|
|
@ -1347,22 +1347,22 @@ sub checksystem{
|
|
|
|
|
$data{ospatchsplit} = "-";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#для совместимости со старыми инсталляциями, проверим файл /etc/issue
|
|
|
|
|
}elsif(-e "/etc/issue" && `$data{path} cat /etc/issue | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){
|
|
|
|
|
$data{linuxold} = $1;
|
|
|
|
|
{
|
|
|
|
|
my ($os, $patch) = split /-/, $2; #обрежем обновления
|
|
|
|
|
if($os > 0){
|
|
|
|
|
$data{os} = "$os";
|
|
|
|
|
if($patch){$data{ospatch} = $patch;}
|
|
|
|
|
} }
|
|
|
|
|
if(!$data{linuxold}){$data{linuxold} = $data{calcname};}
|
|
|
|
|
printmes("$data{linuxold} $data{os}\n");
|
|
|
|
|
|
|
|
|
|
if($data{ospatch}){
|
|
|
|
|
printmes(" ".gettext('Update')); printmes(": $data{ospatch}\n");
|
|
|
|
|
$data{ospatchsplit} = "-";
|
|
|
|
|
}
|
|
|
|
|
# #для совместимости со старыми инсталляциями, проверим файл /etc/issue
|
|
|
|
|
# }elsif(-e "/etc/issue" && `$data{path} cat /etc/issue | grep "Welcome to "`=~m#Welcome to \\n.\\O \(([a-zA-Z ]+) ([^\s\)]+)#){
|
|
|
|
|
# $data{linuxold} = $1;
|
|
|
|
|
# {
|
|
|
|
|
# my ($os, $patch) = split /-/, $2; #обрежем обновления
|
|
|
|
|
# if($os > 0){
|
|
|
|
|
# $data{os} = "$os";
|
|
|
|
|
# if($patch){$data{ospatch} = $patch;}
|
|
|
|
|
# } }
|
|
|
|
|
# if(!$data{linuxold}){$data{linuxold} = $data{calcname};}
|
|
|
|
|
# printmes("$data{linuxold} $data{os}\n");
|
|
|
|
|
#
|
|
|
|
|
# if($data{ospatch}){
|
|
|
|
|
# printmes(" ".gettext('Update')); printmes(": $data{ospatch}\n");
|
|
|
|
|
# $data{ospatchsplit} = "-";
|
|
|
|
|
# }
|
|
|
|
|
}elsif(-e "/etc/gentoo-release"){
|
|
|
|
|
$data{linuxold} = "Gentoo Linux";
|
|
|
|
|
printmes("$data{linuxold}\n");
|
|
|
|
|