Проблема: есть комп, инета - нету
Поэтому
1. /usr/calculate/share/distfiles
Присутствие всех исходников, необходимых для сборки системы, обязательно! Несём с работы, от друзей, из интернет-кафэ.
2. Патчим /usr/calculate/install/calculate
!!! Использован [sys-apps/calculate-1.3.2]{style=“text-align:center;”}
--- calculate 2009-12-02 12:14:13.000000000 +0500
+++ calculate 2009-12-29 10:52:46.741742129 +0500
@@ -267,6 +267,7 @@
"P" => '', "profile" => '',
"l" => '', "list" => '',
"c" => '', "configure" => '',
+ "n" => '', "nosync" => '',
"D" => '', "dependence" => '',
"m" => '', "make" => '',
"p" => '', "pack" => '',
@@ -422,6 +423,10 @@
if(!defined $data{arg}{'configure'}){$data{arg}{'configure'} = $data{arg}{'c'}}
$data{builder}++;
}
+ if(defined $data{arg}{n} || defined $data{arg}{'nosync'}){
+ if(!defined $data{arg}{'nosync'}){$data{arg}{'nosync'} = $data{arg}{'n'}}
+ $data{builder}++;
+ }
if(defined $data{arg}{D} || defined $data{arg}{'dependence'}){
if(!defined $data{arg}{'dependence'}){$data{arg}{'dependence'} = $data{arg}{'D'}}
$data{CHECKSYSTEM_NOMES}++; $data{builder}++; $data{builder_chroot}++; #флаг того что директория chroot должна быть создана предварительно
@@ -534,6 +539,7 @@
printmes("\n".gettext('System building').":\n");
printmes(" -l, --list\t\t"); printmes(gettext('show the package list incoming in the distributive file')."\n");
printmes(" -c, --configure\t"); printmes(gettext('prepare system for building')."\n");
+ printmes(" -n, --nosync\t\t"); printmes(gettext('do not update portage and calculate overlay')."\n");
printmes(" -D, --dependence\t"); printmes(gettext('check of dependences')."\n");
printmes(" -m, --make\t\t"); printmes(gettext('make system')."\n");
printmes(" -p, --pack\t\t"); printmes(gettext('pack the distribution package into the archive file')."\n");
@@ -3913,14 +3919,16 @@
#-------------------------------------
# выполним настройки в текущей системе
#-------------------------------------
- printmes(" ".gettext('Load')); printmes(" calculate overlay...");
- if(!`layman -l | grep calculate`){
- system "layman -S &>/dev/null";
- system "layman -a calculate &>/dev/null";
- }else{
- system "layman -S &>/dev/null";
+ if(!defined $data{arg}{n} && !defined $data{arg}{nosync}){
+ printmes(" ".gettext('Load')); printmes(" calculate overlay...");
+ if(!`layman -l | grep calculate`){
+ system "layman -S &>/dev/null";
+ system "layman -a calculate &>/dev/null";
+ }else{
+ system "layman -S &>/dev/null";
+ }
+ printmes(" ".gettext('done').".\n");
}
- printmes(" ".gettext('done').".\n");
#Скопируем calculate overlay
printmes(" ".gettext('Transfer calculate overlay to system')); printmes("...");
@@ -4002,8 +4010,21 @@
#chroot layman -S
if($data{stage} =~m/iso$/){
- printmes(" ".gettext('Perform calculate overlay update')); printmes("...");
- if(system "$data{path} chroot $data{chroot} layman -S &>/dev/null"){
+ if(!defined $data{arg}{n} && !defined $data{arg}{nosync}){
+ printmes(" ".gettext('Perform calculate overlay update')); printmes("...");
+ if(system "$data{path} chroot $data{chroot} layman -S &>/dev/null"){
+ beep();
+ printmes(" ".gettext('error')."!\n");
+ }else{
+ printmes(" ".gettext('done').".\n");
+ }
+ }
+ }
+
+ #chroot emerge --sync
+ if(!defined $data{arg}{n} && !defined $data{arg}{nosync}){
+ printmes(" ".gettext('Perform portages update')); printmes("...");
+ if(system "$data{emergerun1} --sync $data{emergerun2} &>/dev/null"){
beep();
printmes(" ".gettext('error')."!\n");
}else{
@@ -4011,15 +4032,6 @@
}
}
- #chroot emerge --sync
- printmes(" ".gettext('Perform portages update')); printmes("...");
- if(system "$data{emergerun1} --sync $data{emergerun2} &>/dev/null"){
- beep();
- printmes(" ".gettext('error')."!\n");
- }else{
- printmes(" ".gettext('done').".\n");
- }
-
#chroot emerge sys-apps/portage
printmes(" ".gettext('Execute')); printmes(" emerge sys-apps/portage...");
if(system "$data{emergerun1} sys-apps/portage $data{emergerun2} &>/dev/null"){
3. Запускаем конфигурирование с опцией -n
или --nosync
Calculate не будет “ломиться” в Интернет для обновления оверлея и портэджа.
no-sync.patch (3.87 KB)