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

@ -968,9 +968,9 @@ class Builder(Update):
root_user = 0 root_user = 0
logfile = self._get_log_file() logfile = self._get_log_file()
deo = self.get_default_emerge_opts() deo = self.get_default_emerge_opts()
system_ini = SystemIni(self.clVars.Get('cl_builder_linux_datavars')) system_ini = SystemIni(self.clVars.Get('cl_builder_linux_datavars'))
driver_list = list(self.NvidiaDriver(builder_path, system_ini)) 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')): if os.path.isdir(path.join(self.clVars.Get('cl_chroot_path'), 'var/db/repos/gentoo')):
distrdir = path.join(builder_path, 'var/calculate/distfiles') distrdir = path.join(builder_path, 'var/calculate/distfiles')
pkgdir = path.join(builder_path, 'var/calculate/packages') pkgdir = path.join(builder_path, 'var/calculate/packages')
@ -985,6 +985,13 @@ class Builder(Update):
pkgdir_files = [] pkgdir_files = []
distdir_files = [] distdir_files = []
repeat_driver_list = [] 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: while driver_list or repeat_driver_list:
drv_name, drv_mask, drv_atom = driver_list.pop(0) drv_name, drv_mask, drv_atom = driver_list.pop(0)
self.startTask(_("Calculating dependencies for %s") % self.startTask(_("Calculating dependencies for %s") %
@ -999,6 +1006,7 @@ class Builder(Update):
self.startTask(_("Fetching binary packages and sources tarballs") % self.startTask(_("Fetching binary packages and sources tarballs") %
[x for x in package_list if x['PN'] == drv_name][0]) [x for x in package_list if x['PN'] == drv_name][0])
ef = EmergeFetcher(self.chrootize(builder_path, EmergeCommand( ef = EmergeFetcher(self.chrootize(builder_path, EmergeCommand(
["=%s" % x for x in package_list], emerge_default_opts=deo, ["=%s" % x for x in package_list], emerge_default_opts=deo,
extra_params=["-Of", "--ask=n"], logfile="%s.2" % logfile))) extra_params=["-Of", "--ask=n"], logfile="%s.2" % logfile)))
@ -1011,6 +1019,12 @@ class Builder(Update):
fn)) fn))
else: else:
for fn in package.files: 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) distdir_files.append(fn)
if ef.failed(): if ef.failed():
raise BuilderError(_("Failed to get %s") % drv_name) raise BuilderError(_("Failed to get %s") % drv_name)
@ -1021,6 +1035,10 @@ class Builder(Update):
raise BuilderError( raise BuilderError(
_("Failed to fetch files for %s") % drv_name) _("Failed to fetch files for %s") % drv_name)
repeat_driver_list.append([drv_name, drv_mask, drv_atom]) 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: if not driver_list and repeat_driver_list:
driver_list = repeat_driver_list driver_list = repeat_driver_list
@ -1044,7 +1062,6 @@ class Builder(Update):
if fn not in source: if fn not in source:
removeFileWithEmptyDirectory(path.join(target_dn, fn), removeFileWithEmptyDirectory(path.join(target_dn, fn),
stopDirectory=target_dn) stopDirectory=target_dn)
return True return True
def create_video_data(self, builder_path, repository_data): def create_video_data(self, builder_path, repository_data):

@ -821,6 +821,8 @@ class VariableClBuilderPkgdir(Variable):
""" """
def fallback(self): 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'), return path.join(self.Get('cl_builder_base_path'),
self.Get('cl_builder_id_path')) self.Get('cl_builder_id_path'))

Loading…
Cancel
Save