do not include conflicted packages into index

This commit is contained in:
S.Çağlar Onur
2007-02-10 22:08:43 +00:00
parent b2d017e451
commit a04cd3d53d
2 changed files with 10 additions and 2 deletions
+2
View File
@@ -21,6 +21,7 @@ import pisi.pxml.autoxml as autoxml
import pisi.lockeddbshelve as shelve import pisi.lockeddbshelve as shelve
from pisi.itembyrepodb import ItemByRepoDB from pisi.itembyrepodb import ItemByRepoDB
import pisi.itembyrepodb as itembyrepodb import pisi.itembyrepodb as itembyrepodb
from pisi.conflict import Conflict
class Error(pisi.Error): class Error(pisi.Error):
pass pass
@@ -43,6 +44,7 @@ class Distribution(xmlfile.XmlFile):
t_BinaryName = [autoxml.Text, autoxml.optional] # name of repository (binary distro) t_BinaryName = [autoxml.Text, autoxml.optional] # name of repository (binary distro)
t_Architecture = [autoxml.Text, autoxml.optional] # architecture identifier t_Architecture = [autoxml.Text, autoxml.optional] # architecture identifier
t_Conflicts = [ [Conflict], autoxml.optional, "Conflicts/Package"]
class Component(xmlfile.XmlFile): class Component(xmlfile.XmlFile):
"representation for component declarations" "representation for component declarations"
+6
View File
@@ -104,7 +104,13 @@ class Index(XmlFile):
if fn == 'distribution.xml': if fn == 'distribution.xml':
self.add_distro(os.path.join(root, fn)) self.add_distro(os.path.join(root, fn))
conflicts_list = []
for i in self.distribution.conflicts:
conflicts_list.append("%s" % i)
for pkg in util.filter_latest_packages(packages): for pkg in util.filter_latest_packages(packages):
pkg_name = util.parse_package_name(os.path.basename(pkg))[0]
if pkg_name not in conflicts_list:
ctx.ui.info(_('Adding %s to package index') % pkg) ctx.ui.info(_('Adding %s to package index') % pkg)
self.add_package(pkg, deltas, repo_uri) self.add_package(pkg, deltas, repo_uri)