|
|
|
@ -970,7 +970,6 @@ class Builder(Update):
|
|
|
|
|
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,13 +984,7 @@ 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") %
|
|
|
|
@ -1009,7 +1002,8 @@ class Builder(Update):
|
|
|
|
|
|
|
|
|
|
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)))
|
|
|
|
|
extra_params=["-Of", "--ask=n"], logfile="%s.2" % logfile,
|
|
|
|
|
env={'DISTDIR': 'var/calculate/distfiles', 'PKGDIR': 'var/calculate/packages'})))
|
|
|
|
|
try:
|
|
|
|
|
for package in ef:
|
|
|
|
|
pkg_name = str(package)
|
|
|
|
@ -1019,13 +1013,6 @@ class Builder(Update):
|
|
|
|
|
fn))
|
|
|
|
|
else:
|
|
|
|
|
for fn in package.files:
|
|
|
|
|
d_path = path.join(builder_path, distrdir)
|
|
|
|
|
try:
|
|
|
|
|
for file_name in find(path.join(builder_path, pkgdir)):
|
|
|
|
|
if fn in file_name:
|
|
|
|
|
shutil.move(file_name, d_path)
|
|
|
|
|
except (shutil.Error, FileNotFoundError):
|
|
|
|
|
pass
|
|
|
|
|
distdir_files.append(fn)
|
|
|
|
|
if ef.failed():
|
|
|
|
|
raise BuilderError(_("Failed to get %s") % drv_name)
|
|
|
|
@ -1036,10 +1023,6 @@ 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
|
|
|
|
@ -1063,6 +1046,14 @@ class Builder(Update):
|
|
|
|
|
if fn not in source:
|
|
|
|
|
removeFileWithEmptyDirectory(path.join(target_dn, fn),
|
|
|
|
|
stopDirectory=target_dn)
|
|
|
|
|
for dir in find(pkgdir, filetype='d'):
|
|
|
|
|
for fn in os.listdir(dir):
|
|
|
|
|
try:
|
|
|
|
|
shutil.move(path.join(dir, fn), pkgdir)
|
|
|
|
|
except (shutil.Error, FileNotFoundError):
|
|
|
|
|
continue
|
|
|
|
|
removeDir(dir)
|
|
|
|
|
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def create_video_data(self, builder_path, repository_data):
|
|
|
|
|