Правка приоритета проврки версии для пакетов с совпадающими именами
master 3.7.4.1
root 6 months ago
parent 1607a86927
commit 8fded04afb

@ -2514,7 +2514,10 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction,
fullname = "%s/%s" % (category, pkgname)
if not fullname in self.installProg or \
type(self.installProg[fullname]) != dict:
self.installProg[fullname] = self.installProg[pkgname] = {}
if not category == 'virtual' and pkgname not in self.installProg:
self.installProg[fullname] = self.installProg[pkgname] = {}
else:
self.installProg[fullname] = {}
if force or not slot in self.installProg[fullname]:
self.installProg[fullname][slot] = ver
return self.installProg
@ -2539,11 +2542,14 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction,
return self.sharePkg(pkgs)
def pkg(self, nameProg, slot=None):
def pkg(self, nameProg, slot=None, category=None):
if len(self.installProg) > 0:
if type(list(self.installProg.values())[0]) != dict:
self.installProg.clear()
self.getInstallPkgGentoo()
# если у пакета указана категория, то отдаем приоритет ему
if f"{category}/{nameProg}" in self.installProg:
nameProg = f"{category}/{nameProg}"
if nameProg in self.installProg:
versions = self.installProg[nameProg]
if slot:
@ -2574,7 +2580,7 @@ class templateFunction(_error, _warning, _shareTemplate, _shareTermsFunction,
if not category in self.installCategory:
self.getInstallPkgGentoo(category=category)
self.installCategory.append(category)
replace = self.pkg(nameProg, slot=slot or None)
replace = self.pkg(nameProg, slot=slot or None, category=category or None)
if replace and uses:
pkg_use, pkg_iuse = getPkgUses("%s/%s" % (category, nameProg),
replace, prefix=self.objVar.Get(

Loading…
Cancel
Save