Исправлено скачивание бинраных пакетов для nvidia, при подготовке

legacy27 3.6.9.1
parent 3173b5415e
commit 75862b4a1e

@ -846,19 +846,24 @@ class Builder(Update):
Id = 'nvidia-drivers' Id = 'nvidia-drivers'
Package = 'x11-drivers/nvidia-drivers' Package = 'x11-drivers/nvidia-drivers'
Eclass = 'usr/portage/eclass/nvidia-driver.eclass' Eclass = 'usr/portage/eclass/nvidia-driver.eclass'
SkipVers = ('71', '96', '173', '304', '340') SkipVers = ('72.0.0', '97.0.0', '177.0.0', '305.0.0', '341.0.0')
def generate(self): def generate(self):
nvidia_eclass = path.join(self.builder_path, self.Eclass) nvidia_eclass = path.join(self.builder_path, self.Eclass)
mask_prefix = "mask_" eclassdata = readFile(nvidia_eclass)
for mask in (x for x in readLinesFile(nvidia_eclass) reBlock = re.compile(
if x.startswith(mask_prefix)): r"if has \$\{nvidia_gpu\}\s+\\([^;]+);\s*then(.*?)fi", re.S)
# пропустить сборку для 71, 96 и 173 reMask = re.compile('>=x11-drivers/nvidia-drivers[^"]+')
if any(mask.startswith("%s%s" % (mask_prefix, x)) for block in reBlock.findall(eclassdata):
for x in self.SkipVers): nvidia_ids, mask_data = block
continue m = reMask.search(mask_data)
mask = mask.partition('=')[2].strip("\n") if m:
yield (self.Id, mask, mask.replace('>=', '<')) mask_str = m.group()
maskver = mask_str.rpartition("-")[2].strip()
# пропустить сборку для 71, 96, 304,. 340
if maskver in self.SkipVers:
continue
yield (self.Id, mask_str, mask_str.replace('>=', '\\<'))
def pretend_package_install(self, atom, chroot_path, logfile=None): def pretend_package_install(self, atom, chroot_path, logfile=None):
""" """
@ -936,7 +941,7 @@ class Builder(Update):
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") %
drv_atom.strip('"').replace("<", "&lt;")) drv_atom.strip('"').replace("\\","").replace("<", "&lt;"))
package_list = self.pretend_package_install(drv_atom, builder_path, package_list = self.pretend_package_install(drv_atom, builder_path,
logfile=logfile) logfile=logfile)

Loading…
Cancel
Save