From 2ffee03dc47fdaa24c0af1b096f13f37db8490c0 Mon Sep 17 00:00:00 2001 From: atratsevskiy Date: Fri, 31 Jul 2009 14:19:24 +0000 Subject: [PATCH] git-svn-id: http://svn.calculate.ru/calculate/trunk@2277 c91db197-33c1-4113-bf15-f8a5c547ca64 --- install/calculate | 62 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 8 deletions(-) diff --git a/install/calculate b/install/calculate index 2afdeea..66f7236 100755 --- a/install/calculate +++ b/install/calculate @@ -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",