summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomás Touceda <chiiph@torproject.org>2011-09-03 22:21:34 -0300
committerTomás Touceda <chiiph@torproject.org>2011-09-03 22:21:34 -0300
commit0efda8ed80c76b5cdd1cca3a06b857fc1eb2809e (patch)
treee6cbcecad74306778ba3e5b4dd812d8ba891beb7
parent7d87a55747e82c7b23daa48581135c35b553aeaf (diff)
Improve handling of updates to thp bundles
It only installs thp packages that aren't already installed as they should be. It also outputs READY for bundles that have at least one package in them that's installable under this restrictions.
-rwxr-xr-xlib/thandy/ClientCLI.py11
-rwxr-xr-xlib/thandy/packagesys/ThpPackages.py3
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/thandy/ClientCLI.py b/lib/thandy/ClientCLI.py
index f568a2c..828d853 100755
--- a/lib/thandy/ClientCLI.py
+++ b/lib/thandy/ClientCLI.py
@@ -157,13 +157,14 @@ def update(args):
# if i != None:
# i.install()
- logCtrl("READY", BUNDLE=",".join(thpTransactions.keys()))
-
for bundle in thpTransactions:
+ tr = thandy.packagesys.ThpPackages.ThpTransaction(thpTransactions[bundle],
+ alreadyInstalled,
+ repoRoot)
+ if tr.isReady():
+ logCtrl("READY", BUNDLE=bundle)
if install:
- thandy.packagesys.ThpPackages.ThpTransaction(thpTransactions[bundle],
- alreadyInstalled,
- repoRoot).install()
+ tr.install()
return
diff --git a/lib/thandy/packagesys/ThpPackages.py b/lib/thandy/packagesys/ThpPackages.py
index dd1d399..49ce19e 100755
--- a/lib/thandy/packagesys/ThpPackages.py
+++ b/lib/thandy/packagesys/ThpPackages.py
@@ -134,6 +134,9 @@ class ThpTransaction(object):
self._db,
self._repo_root))
+ def isReady(self):
+ return (len(self._installers) > 0)
+
def _orderByDep(self):
""" Orders packages with a topological order by its dependencies """
return self._installers