|
|
|
@ -1509,7 +1509,7 @@ sub checksystem{
|
|
|
|
|
#my $time = timelocal(localtime);
|
|
|
|
|
#my ($month, $year) = (localtime($time))[4,5]; $month += 1; $year-=100;
|
|
|
|
|
#$data{linuxver} = "$year.$month";
|
|
|
|
|
$data{linuxver} = "10.0";
|
|
|
|
|
$data{linuxver} = "10.2";
|
|
|
|
|
|
|
|
|
|
my $point, $subver;
|
|
|
|
|
while (-e
|
|
|
|
@ -4038,75 +4038,10 @@ sub configure{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#chroot emerge sys-kernel/gentoo-sources если система собирается не из CLS
|
|
|
|
|
#chroot emerge sys-kernel/calculate-sources если система собирается не из CLS
|
|
|
|
|
if($data{stage} !~m/iso$/){
|
|
|
|
|
printmes(" ".gettext('Install the kernel')); printmes("...");
|
|
|
|
|
if(system "$data{emergerun1} sys-kernel/gentoo-sources $data{emergerun2} &>/dev/null"){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
} }
|
|
|
|
|
|
|
|
|
|
#скопируем настройки ядра
|
|
|
|
|
#имя файла настроек ядра
|
|
|
|
|
$data{kernel_config_name} = "config?system=$data{system}&march=$data{march}";
|
|
|
|
|
|
|
|
|
|
#определим путь к настройкам ядра
|
|
|
|
|
$data{kernel_config_loadpath} = "/usr/calculate/share/builder/kernel";
|
|
|
|
|
if(!-e "$data{kernel_config_loadpath}/$data{kernel_config_name}"){
|
|
|
|
|
$data{kernel_config_loadpath} = "$data{dir}/install/builder/kernel";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#путь установок ядра для сохранения
|
|
|
|
|
$data{kernel_config_savepath} = "/usr/calculate/share/builder/kernel";
|
|
|
|
|
|
|
|
|
|
#путь установок ядра в собираемой системе
|
|
|
|
|
$data{kernel_config_build} = "$data{chroot}/usr/src/linux/.config";
|
|
|
|
|
|
|
|
|
|
#скопируем настройки ядра если система собирается не из CLS
|
|
|
|
|
if(-e "$data{kernel_config_loadpath}/$data{kernel_config_name}"
|
|
|
|
|
&& $data{stage} !~m/iso$/
|
|
|
|
|
){
|
|
|
|
|
system "$data{path} cp '$data{kernel_config_loadpath}/$data{kernel_config_name}' '$data{kernel_config_build}'";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#выполним make oldconfig если система собирается не из CLS
|
|
|
|
|
if($data{stage} !~m/iso$/){
|
|
|
|
|
printmes(" ".gettext('Execute')); printmes(" make oldconfig...\n");
|
|
|
|
|
if(system qq|$data{path} chroot $data{chroot} /bin/bash -c "cd /usr/src/linux && make oldconfig"|){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
} }
|
|
|
|
|
|
|
|
|
|
#выполним make menuconfig
|
|
|
|
|
if($data{menuconfig} eq 'on'){
|
|
|
|
|
#chroot make menuconfig
|
|
|
|
|
printmes(" ".gettext('Execute')); printmes(" make menuconfig...\n");
|
|
|
|
|
beep();
|
|
|
|
|
if(system qq|$data{path} chroot $data{chroot} /bin/bash -c "cd /usr/src/linux && make menuconfig"|){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
} }
|
|
|
|
|
|
|
|
|
|
#выполним make modules_prepare если система собирается не из CLS
|
|
|
|
|
if($data{stage} !~m/iso$/){
|
|
|
|
|
printmes(" ".gettext('Execute')); printmes(" make modules_prepare...\n");
|
|
|
|
|
if(system qq|$data{path} chroot $data{chroot} /bin/bash -c "cd /usr/src/linux && make modules_prepare"|){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
} }
|
|
|
|
|
|
|
|
|
|
#сохраним измененные настройки ядра если система собирается не из CLS
|
|
|
|
|
if(-e "$data{kernel_config_build}" && $data{stage} !~m/iso$/){
|
|
|
|
|
printmes(" ".gettext('Save kernel config')); printmes("...");
|
|
|
|
|
if(system "$data{path} mkdir -p $data{kernel_config_savepath} && cp -f '$data{kernel_config_build}' '$data{kernel_config_savepath}/$data{kernel_config_name}'"){
|
|
|
|
|
printmes(" ".gettext('Install the kernel sources')); printmes("...");
|
|
|
|
|
if(system "USE=\"-vmlinuz\" $data{emergerun1} sys-kernel/calculate-sources $data{emergerun2} &>/dev/null"){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
@ -4137,34 +4072,11 @@ sub configure{
|
|
|
|
|
system "$data{path} rm -f $data{chroot}/etc/runlevels/boot/network";
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#chroot emerge sys-fs/aufs2
|
|
|
|
|
printmes(" ".gettext('Execute')); printmes(" emerge sys-fs/aufs2...");
|
|
|
|
|
if(system "$data{emergerun1} sys-fs/aufs2 $data{emergerun2} &>/dev/null"){
|
|
|
|
|
printmes(" ".gettext('error')."!\n");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#удалим ссылку net.eth0, т.к. во всех десктопах, кроме CLS будет использоваться networkmanager
|
|
|
|
|
if($data{calculate} ne "CDS" && $data{calculate} ne "CLS"){system "$data{path} rm -f $data{chroot}/etc/init.d/net.eth0";}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#если система собирается не из CLS либо изменены параметры ядра
|
|
|
|
|
if($data{stage} !~m/iso$/){
|
|
|
|
|
#chroot make -jX && make modules_install
|
|
|
|
|
printmes(" ".gettext('Execute')); printmes(" make $data{makeopts} && make $data{makeopts} modules_install...\n");
|
|
|
|
|
if(system qq|$data{path} chroot $data{chroot} /bin/bash -c "cd /usr/src/linux && make $data{makeopts} && make $data{makeopts} modules_install"|){
|
|
|
|
|
#выходим но не прерываем сборку
|
|
|
|
|
printmes("\n".gettext('error')."! ");
|
|
|
|
|
umountbuild(); return '';
|
|
|
|
|
}else{
|
|
|
|
|
printmes(" ".gettext('done').".\n");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#если система собирается не из CLS
|
|
|
|
|
if($data{stage} !~m/iso$/){
|
|
|
|
|
if($data{system} eq 'desktop'){
|
|
|
|
|