refusal sets

master
Трацевский Александр 14 years ago
parent 0029ca5190
commit 0c775aa5b9

@ -1,8 +1,8 @@
CHANGE LOG
1.3.13
1.4.0
* Changed path to resources from /usr/calculate to /var/calculate
* The use of man-db when building systems.
* Added support sets.
1.3.12
* Fix creating format a digest file.

@ -22,7 +22,7 @@ use Time::Local;
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#------------------------------------------------------------------------------
my %data; #объявим хэш переменных
$data{"calcver"} = "1.3.13";
$data{"calcver"} = "1.4.0";
#Определим путь к программе
if(!getpath()){exit;};
@ -4052,6 +4052,7 @@ sub configure{
#printmes(" ".gettext('New release number')); printmes("...");
$data{laymandir} = "/var/lib/layman";
if(!-e $data{laymandir}){$data{laymandir} = "/usr/local/portage/layman";}
#если система собирается не из CLS
if($data{stage} !~m/iso$/){
@ -4157,6 +4158,16 @@ sub configure{
}
}
# #Скопируем /etc/portage/bashrc
# printmes(" ".gettext('Copy')); printmes(" /etc/portage/bashrc...");
# if(system "$data{path} cp -H --remove-destination /etc/portage/bashrc $data{chroot}/etc/portage/bashrc"
# ){
# beep();
# printmes(" ".gettext('error')."!\n");
# }else{
# printmes(" ".gettext('done').".\n");
# }
#chroot emerge --sync
printmes(" ".gettext('Perform portages update')); printmes("...");
if(system "$data{emergerun1} --sync $data{emergerun2} &>/dev/null"){
@ -4516,7 +4527,7 @@ sub emerge_pretend{
push @check, `$data{emergerun1} -p --color n @packages $data{emergerun2} $softly 2>&1`;
if(!defined $data{arg}{'unmask'}){
#вторая проверка на случай сборки на базе CLS
push @check, `$data{emergerun1} -p --color n -uD \@world $data{emergerun2} $softly 2>&1`;
push @check, `$data{emergerun1} -p --color n -uD world $data{emergerun2} $softly 2>&1`;
}
foreach(@check){
if(m/Error: The above package list contains packages which cannot be/ ||
@ -4578,26 +4589,27 @@ sub make{
#отобразим выполненные действия
if(getini("run.make.step.system", "chroot")){
foreach(my $i = 0; $i < getini("run.make.step.system", "chroot"); $i ++){
printmes(" ".gettext('Execute')); printmes(" emerge -e \@system...");
printmes(" ".gettext('Execute')); printmes(" emerge -e system...");
printmes(" ".gettext('done')); printmes(".\n");
} }
if(getini("run.make.step.newuse", "chroot")){
printmes(" ".gettext('Execute')); printmes(" emerge --newuse -D \@world...");
printmes(" ".gettext('Execute')); printmes(" emerge --newuse -D world...");
printmes(" ".gettext('done')); printmes(".\n");
}
if(getini("run.make.step.update", "chroot")){
printmes(" ".gettext('Execute')); printmes(" emerge -upD \@world...");
printmes(" ".gettext('Execute')); printmes(" emerge -upD world...");
printmes(" ".gettext('done')); printmes(".\n");
}
#получим список пакетов world = ""
my @world = packages();
my $finish = '';
while(!$finish){
if($data{stage} !~m/iso$/ && getini("run.make.step.system", "chroot") < 2){
printmes(" ".gettext('Execute')); printmes(" emerge -e \@system...\n");
printmes(" ".gettext('Execute')); printmes(" emerge -e system...\n");
putini("run.make" => "system", "chroot"); #сохраним выполняемое действие
if(system "$data{emergerun1} -e \@system $data{emergerun2} --nodie"){
if(system "$data{emergerun1} -e system $data{emergerun2} --nodie"){
beep();
printmes(" ".gettext('error')."!\n"); return '';
}else{
@ -4610,8 +4622,8 @@ sub make{
printmes(" ".gettext('done').".\n");
}
}elsif($data{stage} =~m/iso$/ && !getini("run.make.step.newuse", "chroot")){
printmes(" ".gettext('Execute')); printmes(" emerge --newuse -D \@world...\n");
if(system "$data{emergerun1} --newuse -D \@world $data{emergerun2} --nodie"){
printmes(" ".gettext('Execute')); printmes(" emerge --newuse -D world...\n");
if(system "$data{emergerun1} --newuse -D world $data{emergerun2} --nodie"){
beep(); printmes(" ".gettext('error')."!\n"); return '';
}else{
#отметим успешное выполнение
@ -4619,8 +4631,8 @@ sub make{
printmes(" ".gettext('done').".\n");
}
}elsif($data{stage} =~m/iso$/ && !getini("run.make.step.update", "chroot")){
printmes(" ".gettext('Execute')); printmes(" emerge -uD \@world...\n");
if(system "$data{emergerun1} -uD \@world $data{emergerun2} --nodie"){
printmes(" ".gettext('Execute')); printmes(" emerge -uD world...\n");
if(system "$data{emergerun1} -uD world $data{emergerun2} --nodie"){
beep(); printmes(" ".gettext('error')."!\n"); return '';
}else{
#отметим успешное выполнение
@ -4637,7 +4649,7 @@ sub make{
#The end check USE flags
printmes(" ".gettext('Execute')); printmes(" emerge --newuse -D world...\n");
if(system "$data{emergerun1} --newuse -D \@world $data{emergerun2} --nodie"){
if(system "$data{emergerun1} --newuse -D world $data{emergerun2} --nodie"){
beep(); printmes(" ".gettext('error')."!\n"); return '';
}else{
printmes(" ".gettext('done').".\n");
@ -4679,7 +4691,7 @@ sub packsystem{
if($data{system} eq 'desktop' && $data{calculate} ne 'CLS' && !$data{createiso}){
#Добавим пользователя guest
system "$data{path} chroot $data{'chroot'} groupadd --gid 999 guest";
system "$data{path} chroot $data{'chroot'} useradd --uid 999 --gid 999 --shell /bin/bash --groups users,wheel,audio,cdrom,video,cdrw,usb,plugdev,games,lp guest";
system "$data{path} chroot $data{'chroot'} useradd --uid 999 --gid 999 --shell /bin/bash --groups audio,cdrom,plugdev,video,wheel guest";
#system "$data{path} chroot $data{'chroot'} mkdir -m 0700 /home/guest && chown guest. /home/guest";
#Установим пароль пользователя guest
@ -7120,7 +7132,7 @@ 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/var/calculate/remote/distfiles/* $chroot/var/lib/gentoo/news/* $chroot/var/lib/portage/world $chroot/root/.viminfo $chroot/root/.bash_history $chroot/root/.subversion $chroot/var/calculate/tmp/* $chroot/var/lib/gentoo/news/news-gentoo.unread");
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/var/calculate/remote/distfiles/* $chroot/var/lib/gentoo/news/* $chroot/var/lib/portage/world $chroot/root/.viminfo $chroot/root/.bash_history $chroot/root/.subversion $chroot/var/calculate/tmp/*");
foreach(
"$chroot/var/tmp/portage",
"$chroot/tmp",
@ -7132,9 +7144,9 @@ sub clearlog{
}
#Заново сформируем world
#foreach(packages()){
# system "echo '$_' >> $chroot/var/lib/portage/world";
#}
foreach(packages()){
system "echo '$_' >> $chroot/var/lib/portage/world";
}
printmes(" ".gettext('done')); printmes(".\n");
}

Loading…
Cancel
Save