[Uludag-commits] r14630 - branches/pisi-1.1/pisi
uludag-commits at pardus.org.tr
uludag-commits at pardus.org.tr
2 Tem 2007 Pzt 14:03:35 EEST
Author: faik
Date: Mon Jul 2 14:03:35 2007
New Revision: 14630
Modified:
branches/pisi-1.1/pisi/operations.py
Log:
- replaced packages should be calculated after order
Modified: branches/pisi-1.1/pisi/operations.py
=================================================================
--- branches/pisi-1.1/pisi/operations.py (original)
+++ branches/pisi-1.1/pisi/operations.py Mon Jul 2 14:03:35 2007
@@ -207,6 +207,20 @@
if 'pisi' in order and pisi_installed:
upgrade_pisi()
+def remove_replaced_packages(order, replaces):
+
+ replaced = []
+ inorder = set(order).intersection(replaces.values())
+
+ if inorder:
+ for pkg in replaces.keys():
+ if replaces[pkg] in inorder:
+ replaced.append(pkg)
+
+ if replaced:
+ if remove(replaced, ignore_dep=True, ignore_safety=True):
+ raise Error(_("Replaced package remains"))
+
def remove_conflicting_packages(conflicts):
if remove(conflicts, ignore_dep=True, ignore_safety=True):
raise Error(_("Conflicts remain"))
@@ -393,15 +407,10 @@
# Handling of replacement packages
if x in replaces.values():
Ap.append(x)
- pkg = ctx.packagedb.get_package(x)
- for r in pkg.replaces:
- if pisi.replace.installed_package_replaced(r):
- replaced.append(r.package)
continue
if x in replaces.keys():
Ap.append(replaces[x])
- replaced.append(x)
continue
if not ctx.installdb.is_installed(x):
@@ -486,9 +495,8 @@
if conflicts:
remove_conflicting_packages(conflicts)
- # remove replaced or obsoleted packages
- if replaced:
- remove(replaced, ignore_dep=True, ignore_safety=True)
+ if replaces:
+ remove_replaced_packages(order, replaces)
for path in paths:
ctx.ui.info(util.colorize(_("Installing %d / %d") % (paths.index(path)+1, len(paths)), "yellow"))
Uludag-commits mesaj listesiyle ilgili
daha fazla bilgi