diff options
author | Tomás Touceda <chiiph@torproject.org> | 2011-09-03 22:21:34 -0300 |
---|---|---|
committer | Tomás Touceda <chiiph@torproject.org> | 2011-09-03 22:21:34 -0300 |
commit | 0efda8ed80c76b5cdd1cca3a06b857fc1eb2809e (patch) | |
tree | e6cbcecad74306778ba3e5b4dd812d8ba891beb7 /lib | |
parent | 7d87a55747e82c7b23daa48581135c35b553aeaf (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.
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/thandy/ClientCLI.py | 11 | ||||
-rwxr-xr-x | lib/thandy/packagesys/ThpPackages.py | 3 |
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 |