git-svn-id: http://svn.calculate.ru/calculate/trunk@1991 c91db197-33c1-4113-bf15-f8a5c547ca64

master
atratsevskiy 15 years ago
parent c18fca0269
commit 30123e410d

@ -2,6 +2,9 @@ CHANGE LOG
1.1.0 RC4
* В xorg.conf параметр BusID добавляется тольков случае если видеокарт в системе две и более.
* Добавлен параметр --set-type=flash|hdd|usb-hdd, где можно изменить тип носителя при установке.
* Добавлена поддержка установки CLDX 9.7
* Добавлено изменение переменной LINGUAS при установке или удалении профиля, согласно выбранному языку системы.
1.1.0 RC3
* Добавлена поддержка .diff файлов в профилях
@ -13,6 +16,7 @@ CHANGE LOG
* Испралено отключение Numlock в ноутбуках в консоли
* Изменен метод определения USB-Flash и USB-HDD
* Добавлена проверка на запущенный демон hald при определении устройств
* Добавлена поддержка установки CLD 9.7
1.1.0 RC2
* Устранены различные ошибки при сборке и установке системы

@ -333,6 +333,7 @@ sub getarg{
"video_resolution",
"lang",
"timezone",
"type",
"clock",
"composite",
"system",
@ -493,7 +494,7 @@ sub getarg{
printmes(gettext('Similarly for optional arguments').".\n\n");
printmes(gettext('Location').":\n");
printmes(" -s, --os=[CLD|CLDX|CLSG|CDS] "); printmes(gettext('select operation system')); printmes(" (Calculate Linux Desktop KDE, Calculate Linux Desktop XFCE, Calculate Linux Scratch GNOME, Calculate Directory Server)\n");
printmes(" -s, --os=[CLD|CLDX|CLS|CDS] "); printmes(gettext('select operation system')); printmes(" (Calculate Linux Desktop KDE, Calculate Linux Desktop XFCE, Calculate Linux Scratch, Calculate Directory Server)\n");
printmes(" -d, --disk=DISK\t"); printmes(gettext('installation or building system volume')."\n");
printmes(" -f, --force\t\t"); printmes(gettext('do not prompt before overwriting')."\n");
@ -594,6 +595,13 @@ sub checkerrors{
# флаг запущенного демона hald
$data{hal} = ""; if(!system "lshal &>/dev/null"){$data{hal} = "on";}
#----------------------------------------------------------------------
# Определим тип носителя
#----------------------------------------------------------------------
if(!$data{'type'}){
$data{type} = check_removable();
}
#----------------------------------------------------------------------
# Предопределим диск для установки
# инициируем: $data{data_install_set}, $data{partitions_dev}, $data{partitions_fdisk}
@ -614,7 +622,7 @@ sub checkerrors{
beep(); return "";
}
if(check_removable() ne "flash"){
if($data{type} ne "flash"){
#проверим размер диска
my $disk = $data{arg}{'disk'};
$disk =~m/\/([^\/]+)$/;
@ -706,7 +714,7 @@ sub checkerrors{
beep(); return "";
} }
if(check_removable() eq "flash" && !$data{partitions_dev}){
if($data{type} eq "flash" && !$data{partitions_dev}){
printmes(gettext('To install on USB-Flash, specify the device, not partition. For example "calculate -d /dev/sdb"')); printmes(".\n");
beep(); return "";
}
@ -728,13 +736,12 @@ sub welcome{
%{$data{ver}} = (
CLD => "Calculate Linux Desktop",
CLDX => "Calculate Linux Desktop",
CLSG => "Calculate Linux Scratch",
CLS => "Calculate Linux Scratch",
CDS => "Calculate Directory Server",
);
%{$data{ver_desktop}} = (
CLD => "KDE",
CLDX => "XFCE",
CLSG => "GNOME",
);
#если передан параметр выбора системы, установим значения
@ -1051,9 +1058,6 @@ sub checksystem{
'en_US' => ["en_US.UTF-8", "us", "", "LatArCyrHeb-16", "", "us",
"", "us", "us", "en_US", "en_US"],
);
#поддержка языков в приложениях
#$data{linguas} = "be be_BY da de en en_GB es fr it nb nn pl pt_BR ru se sv uk";
$data{linguas} = "en de es fr it pl pt_BR ru uk";
@{$data{other}}{lang} = ["en_US", "de_DE", "es_ES", "fr_FR", "it_IT", "pl_PL", "pt_BR", "ru_RU", "uk_UA"];
@ -1070,6 +1074,17 @@ sub checksystem{
#проверим на корректность введенного значения и на наличие поддержки
if(!$lang{$data{lang}}){$data{lang}="en_US";}
#поддержка языков в приложениях
if($data{pass} eq 'builder'){
#$data{linguas} = "be be_BY da de en en_GB es fr it nb nn pl pt_BR ru se sv uk";
$data{linguas} = "en de es fr it pl pt_BR ru uk";
}else{
foreach(keys %lang){
if($_ eq $data{'lang'}){
$data{linguas} = "en ".$lang{$_}[9];
last;
} } }
#установим раскладку
my $changekb;
if($data{boot}{keybd}){$changekb = $data{boot}{keybd};}
@ -1473,7 +1488,7 @@ sub checksystem{
my $find = "\/".lc($data{'calculate'})."\-.*\-$data{march}\.";
my $ver = lc($data{'calculate'})."-\([^-]+)-$data{march}"; #шаблон сравнения
my $mask;
if(check_removable() eq 'flash'){
if($data{type} eq 'flash'){
$mask = "iso";
}elsif(defined $data{arg}{iso}){
$mask = "tar\.7z|tar\.lzma|tar\.bz2";
@ -1901,9 +1916,9 @@ sub checksystem{
# USB устройства
# $data{'removableinstall'}, $data{grub_delay}
#----------------------------------------------------------------------
if(check_removable()){
if($data{type} ne 'hdd'){
$data{'removableinstall'} = 'on';
if(check_removable() eq 'flash'){
if($data{type} eq 'flash'){
printmes(" (USB-Flash)");
}else{
printmes(" (USB-HDD)");
@ -2037,7 +2052,7 @@ sub checksystem{
elsif($format =~m/reiserfs/){$data{'format'} = 'reiserfs';}
# elsif($format =~m/reiser4/){$data{'format'} = 'reiser4';}
elsif($format =~m/xfs/){$data{'format'} = 'xfs';}
elsif(check_removable() eq "flash"){$data{'format'} = 'vfat';}
elsif($data{type} eq "flash"){$data{'format'} = 'vfat';}
else{$data{'format'} = 'reiserfs';}
}
@ -2777,8 +2792,8 @@ sub checkready{
(($data{calculate} eq "CLD" &&
number_ver($data{linuxver}) > number_ver('9.7.9')) ||
($data{calculate} eq "CLDX" &&
number_ver($data{linuxver}) > number_ver('9.6.9')) ||
($data{calculate} eq "CLSG" &&
number_ver($data{linuxver}) > number_ver('9.7.9')) ||
($data{calculate} eq "CLS" &&
number_ver($data{linuxver}) > number_ver('9.6.9')) ||
($data{calculate} eq "CDS" &&
number_ver($data{linuxver}) > number_ver('9.7.9'))
@ -2898,7 +2913,7 @@ sub extract{
printmes(gettext('Prepare installation volume')); printmes("\n");
}
if($data{partitions_dev} && check_removable() ne "flash"){
if($data{partitions_dev} && $data{type} ne "flash"){
printmes(" ".gettext('Perform hard disk partition')); printmes("... ");
#выполним разбиение диска
if(system("$data{path} cat /usr/calculate/install/config/fdisk.$data{calculate} | fdisk $data{partitions_dev} &>/dev/null")){
@ -2945,7 +2960,7 @@ sub extract{
}else{
$data{data_install_set} = "$data{partitions_dev}5";
}
}elsif($data{partitions_dev} && check_removable() eq "flash"){
}elsif($data{partitions_dev} && $data{type} eq "flash"){
printmes(" ".gettext('Perform hard disk partition')); printmes("... ");
#выполним разбиение диска
if(system("$data{path} cat /usr/calculate/install/config/fdisk.flash | fdisk $data{partitions_dev} &>/dev/null")){
@ -3002,7 +3017,7 @@ sub extract{
if(!$data{builder}){
if($data{load} ne "ram" && $data{linux} !~m/iso$/){printmes(" ");}
printmes(gettext('Unpacking system image into new volume'));
if(($data{load} eq "ram" || $data{linux} =~m/iso$/) && check_removable() ne "flash"){
if(($data{load} eq "ram" || $data{linux} =~m/iso$/) && $data{type} ne "flash"){
print("\n");
}else{ printmes("... ");}
if($data{linux} =~m/7z$/){$unpack = "7za x -so $data{linuxdir}/$data{linux} 2>/dev/null | tar xf - -C $data{mount}";}
@ -3019,12 +3034,12 @@ sub extract{
#установка с ISO на жесткий диск
(($data{load} eq "ram" || $data{linux} =~m/iso$/) &&
-e "/mnt/cdrom/livecd.squashfs" &&
check_removable() ne "flash" &&
$data{type} ne "flash" &&
system("$data{path} unsquashfs -d $data{mount} -f /mnt/cdrom/livecd.squashfs")) ||
#установка с ISO на флешку
(($data{load} eq "ram" || $data{linux} =~m/iso$/) &&
-e "/mnt/cdrom/livecd.squashfs" &&
check_removable() eq "flash" &&
$data{type} eq "flash" &&
system("$data{path} rsync -a /mnt/cdrom/ $data{mount}")) ||
#установка с DVD при загрузке в память системы
(($data{load} eq "ram" || $data{linux} =~m/iso$/) &&
@ -3052,7 +3067,7 @@ sub extract{
printmes(" ".gettext('done').".\n");
return "";
}
if(($data{load} ne "ram" && $data{linux} !~m/iso$/) || check_removable() eq "flash"){
if(($data{load} ne "ram" && $data{linux} !~m/iso$/) || $data{type} eq "flash"){
printmes(gettext('done').".\n");
}
@ -3087,7 +3102,7 @@ sub extract{
#
#------------------------------------------------------------------------------
sub profiles{
if(check_removable() ne "flash"){
if($data{type} ne "flash"){
printmes(gettext('Update config')."\n");
foreach(@{$data{profile_install}}, @{$data{profile_share}}){
profile($_);
@ -3105,7 +3120,7 @@ sub setup{
printmes(gettext('System setup')."\n");
#подготовим флешку к загрузке
if(check_removable() eq "flash"){
if($data{type} eq "flash"){
printmes(" ".gettext('Setting')); printmes(" syslinux...");
system "$data{path} mv $data{'chroot'}/isolinux $data{'chroot'}/syslinux";
system "$data{path} mv $data{'chroot'}/syslinux/isolinux.cfg $data{'chroot'}/syslinux/syslinux.cfg";
@ -3243,7 +3258,7 @@ sub loader{
if($data{mbr} eq "on"){
printmes(" ".gettext('Change boot record')); printmes("...");
if(check_removable() ne "flash"){
if($data{type} ne "flash"){
if(system "$data{path} chroot $data{'chroot'} /sbin/grub --device-map=/boot/grub/device.map --batch <<EOF &>/dev/null\n".
"root ($data{grubinstall})\n".
"setup (hd0)\n".
@ -3271,7 +3286,7 @@ sub loader{
}
#пропишем syslinux в автозагрузку
if(check_removable() eq "flash"){
if($data{type} eq "flash"){
printmes(" ".gettext('Create a boot partition')); printmes("...");
if(system "$data{path} syslinux $data{rootinstall}"){
printmes(" ".gettext('error').".\n");
@ -3290,7 +3305,7 @@ sub loader{
#
#------------------------------------------------------------------------------
sub reboot{
if(check_removable() ne "flash"){
if($data{type} ne "flash"){
printmes(" ".gettext('Detect logged in users')); printmes("... "); printmes(gettext('done').".\n");
if(`$data{path} w -hs` || $data{load} eq "ram"){
printmes("\n".gettext('To apply changes you have to reboot').".\n");
@ -6487,7 +6502,7 @@ sub beep{
# Соберем бинарные пакеты дополнений (nVideo драйвера)
#------------------------------------------------------------------------------
sub makepkg{
if($data{system} eq "server" || $data{calculate} eq "CLDX" || $data{calculate} eq "CLSG"){return 1;}
if($data{system} eq "server" || $data{calculate} eq "CLDX" || $data{calculate} eq "CLS"){return 1;}
printmes(gettext('Make nvidia drivers')."\n");
@ -6567,7 +6582,7 @@ sub swapon{
#------------------------------------------------------------------------------
sub check_removable{
my $dev = $data{arg}{'disk'};
if(!$dev || !$data{hal}){return "";}
if(!$dev || !$data{hal}){return "hdd";}
$dev =~m#^(/dev/[^\/0-9]+)[0-9]?[0-9]?$#;
my $disk = $1;
@ -6579,7 +6594,7 @@ sub check_removable{
if( $isflash eq "true" ) { return "flash"; }
else { return "usb-hdd"; }
}
return "";
return "hdd";
}
#------------------------------------------------------------------------------

@ -1,6 +1,6 @@
PKGDIR="#-pkgdir-#"
MAKEOPTS="#-makeopts-#"
LINGUAS="#-linguas-#"
#?pass=profile&linuxver<9.6.2#
PORTDIR_OVERLAY=""
source /usr/local/portage/layman/make.conf

Loading…
Cancel
Save