Фикс пути установки видео драйверов
master 3.7.3.1
root 1 year ago
parent 201c725438
commit 4433d1d6ea

@ -968,9 +968,9 @@ class Builder(Update):
root_user = 0
logfile = self._get_log_file()
deo = self.get_default_emerge_opts()
system_ini = SystemIni(self.clVars.Get('cl_builder_linux_datavars'))
driver_list = list(self.NvidiaDriver(builder_path, system_ini))
zz_builder_data = ''
if os.path.isdir(path.join(self.clVars.Get('cl_chroot_path'), 'var/db/repos/gentoo')):
distrdir = path.join(builder_path, 'var/calculate/distfiles')
pkgdir = path.join(builder_path, 'var/calculate/packages')
@ -985,6 +985,13 @@ class Builder(Update):
pkgdir_files = []
distdir_files = []
repeat_driver_list = []
try:
with open(path.join(builder_path, 'etc/portage/make.conf/zz-builder')) as inf:
zz_builder_data = inf.read()
with open(path.join(builder_path, 'etc/portage/make.conf/zz-builder'), 'w') as ouf:
ouf.write(zz_builder_data.replace(self.clVars.Get('cl_builder_pkgdir'), '/var/calculate/packages'))
except Exception:
self.printWARNING(_('Unable to change chroot pkgdir for video drivers'))
while driver_list or repeat_driver_list:
drv_name, drv_mask, drv_atom = driver_list.pop(0)
self.startTask(_("Calculating dependencies for %s") %
@ -999,6 +1006,7 @@ class Builder(Update):
self.startTask(_("Fetching binary packages and sources tarballs") %
[x for x in package_list if x['PN'] == drv_name][0])
ef = EmergeFetcher(self.chrootize(builder_path, EmergeCommand(
["=%s" % x for x in package_list], emerge_default_opts=deo,
extra_params=["-Of", "--ask=n"], logfile="%s.2" % logfile)))
@ -1011,6 +1019,12 @@ class Builder(Update):
fn))
else:
for fn in package.files:
d_path = path.join(builder_path, distrdir)
p_path = path.join(builder_path, pkgdir, fn)
try:
shutil.move(p_path, d_path)
except shutil.Error:
pass
distdir_files.append(fn)
if ef.failed():
raise BuilderError(_("Failed to get %s") % drv_name)
@ -1021,6 +1035,10 @@ class Builder(Update):
raise BuilderError(
_("Failed to fetch files for %s") % drv_name)
repeat_driver_list.append([drv_name, drv_mask, drv_atom])
finally:
if zz_builder_data:
with open(path.join(builder_path, 'etc/portage/make.conf/zz-builder'), 'w') as ouf:
ouf.write(zz_builder_data)
if not driver_list and repeat_driver_list:
driver_list = repeat_driver_list
@ -1044,7 +1062,6 @@ class Builder(Update):
if fn not in source:
removeFileWithEmptyDirectory(path.join(target_dn, fn),
stopDirectory=target_dn)
return True
def create_video_data(self, builder_path, repository_data):

@ -821,6 +821,8 @@ class VariableClBuilderPkgdir(Variable):
"""
def fallback(self):
a = self.Get('cl_builder_base_path')
b = self.Get('cl_builder_id_path')
return path.join(self.Get('cl_builder_base_path'),
self.Get('cl_builder_id_path'))

Loading…
Cancel
Save