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

master
atratsevskiy 15 years ago
parent f4b3e11c84
commit e8c3c5b12d

@ -3750,8 +3750,15 @@ sub profile{
#уберем ссылки на несуществующие файлы
`$data{path} file "$_"`=~m/\`([^']+)'/;
my $dest = $1;
#проверяем на существование только абсолютный путь!
if($dest=~m/^[\/]/ && !-e "$data{'chroot'}$data{scratch_ws}$dest"){next;}
#проверяем на существование только абсолютный путь
if($dest=~m/^[\/]/){
if($data{pass} eq 'install' && $data{scratch_ws}){
#проверим существование в squash образе
if(!checksquash($dest)){next;}
}else{
#проверим в системе
if(!-e "$data{'chroot'}$data{scratch_ws}$dest"){next;}
} }
#выделим путь из профиля
my $allocation = $data{'chroot'}.$data{scratch_ws}.substr($_, length($profile));
#проверим имя файла фрофиля перед переносом в систему
@ -6768,6 +6775,15 @@ sub unsquash{
system("$data{path} unsquashfs -n -d $data{mount}$data{scratch_ws} -f $squash @_ &>/dev/null");
}
#------------------------------------------------------------------------------
# Проверим наличие файла в образе
#------------------------------------------------------------------------------
sub checksquash{
my $file = $_[0];
my $squash = "$data{mount}/livecd.squashfs";
return !system("$data{path} unsquashfs -ls $squash $file | grep -P '^squashfs-root$file' &>/dev/null");
}
#------------------------------------------------------------------------------
# удалим временные файлы
#------------------------------------------------------------------------------

Loading…
Cancel
Save