|
|
|
@ -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(
|
|
|
|
|