|
|
|
@ -786,6 +786,40 @@ sub welcome{
|
|
|
|
|
if(!$data{'calculatename'}){$data{'calculatename'} = $data{calculate}}
|
|
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
#старым способом (из 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'}){
|
|
|
|
|
$data{'calculate'} = "CLD";
|
|
|
|
@ -1366,6 +1400,23 @@ sub checksystem{
|
|
|
|
|
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");
|
|
|
|
@ -3077,8 +3128,6 @@ sub extract{
|
|
|
|
|
my $squashfs;
|
|
|
|
|
if(-e "/mnt/cdrom/$data{squash_cur}"){$squashfs = "/mnt/cdrom/$data{squash_cur}";}
|
|
|
|
|
elsif(-e "/mnt/$data{squash_cur}"){$squashfs = "/mnt/$data{squash_cur}";}
|
|
|
|
|
elsif(-e "/mnt/scratch/flash/$data{squash_cur}"){$squashfs = "/mnt/scratch/flash/$data{squash_cur}";}
|
|
|
|
|
|
|
|
|
|
if(
|
|
|
|
|
#установка из архива
|
|
|
|
|
(($data{load} ne "ram" && $data{linux} !~m/iso$/) && system($unpack)) ||
|
|
|
|
@ -4646,10 +4695,6 @@ sub cleardir{
|
|
|
|
|
#
|
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
|
sub update_profile{
|
|
|
|
|
# if($data{ospatch}){
|
|
|
|
|
# $data{patch} = "-$data{ospatch}";
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
#проверим на наличие профили
|
|
|
|
|
foreach(split /,/, $data{arg}{'profile'}){
|
|
|
|
|
my $path, $profile;
|
|
|
|
@ -5117,7 +5162,7 @@ sub umount_build_dirs{
|
|
|
|
|
sub createiso{
|
|
|
|
|
#проверим что система загружена в Scratch режиме и на флешке
|
|
|
|
|
if(defined $data{arg}{rescratch} &&
|
|
|
|
|
($data{scratch} eq "off" || !$data{load} ne "ram")){
|
|
|
|
|
($data{scratch} ne "on" || $data{load} ne "ram")){
|
|
|
|
|
printmes(gettext('Error')."! ");
|
|
|
|
|
printmes(gettext('The computer must be load in to the flash from Scratch mode')); printmes(".\n");
|
|
|
|
|
return "";
|
|
|
|
@ -5225,7 +5270,7 @@ sub createiso{
|
|
|
|
|
printmes(" ".gettext('Packing system into squashfs format')); printmes("...");
|
|
|
|
|
if(system("/usr/bin/mksquashfs $data{tmpdir}/livecd/calculate/ $squashfile &>/dev/null")){
|
|
|
|
|
printmes(" ".gettext('error').".\n");
|
|
|
|
|
breakiso();
|
|
|
|
|
breakiso();
|
|
|
|
|
return "";
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done')); printmes(".\n");
|
|
|
|
@ -6786,6 +6831,7 @@ sub unsquash{
|
|
|
|
|
sub clearlog{
|
|
|
|
|
$chroot = $_[0];
|
|
|
|
|
printmes(" ".gettext('Delete temporary files')); printmes("...");
|
|
|
|
|
|
|
|
|
|
system("$data{path} rm -rf $chroot/etc/resolv.conf $chroot/etc/mtab $chroot/var/log/emerge* $chroot/var/log/genkernel.log $chroot/var/log/lastlog $chroot/var/log/prelink.log $chroot/var/log/wtmp $chroot/var/.locks $chroot/var/.svn-src $chroot/usr/calculate/share/distfiles/* $chroot/var/lib/gentoo/news/* $chroot/root/.viminfo $chroot/root/.bash_history");
|
|
|
|
|
foreach(
|
|
|
|
|
"$chroot/var/tmp/portage",
|
|
|
|
|