summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2008-07-10 01:46:34 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2008-07-10 01:46:34 +0200
commit1aaa1b04303219e7e4624a98bc8c42ce6dbff2e5 (patch)
treec3ba8d5ad12a731e3cb7911ba12f866d8348bb85
parente87c645c65d1735716fa4832cec910feb82d92cc (diff)
downloadportato-1aaa1b04303219e7e4624a98bc8c42ce6dbff2e5.tar.gz
portato-1aaa1b04303219e7e4624a98bc8c42ce6dbff2e5.tar.bz2
portato-1aaa1b04303219e7e4624a98bc8c42ce6dbff2e5.zip
Make the queue's update_world set-sensitive too
Diffstat (limited to '')
-rw-r--r--portato/backend/portage/system_22.py3
-rw-r--r--portato/gui/queue.py6
-rw-r--r--portato/gui/windows/main.py8
3 files changed, 11 insertions, 6 deletions
diff --git a/portato/backend/portage/system_22.py b/portato/backend/portage/system_22.py
index 18e3b4e..a329ab0 100644
--- a/portato/backend/portage/system_22.py
+++ b/portato/backend/portage/system_22.py
@@ -38,6 +38,9 @@ class PortageSystem_22 (PortageSystem):
self.SET_TREE : syssets.TreeSet
}
+ def get_update_option (self):
+ return ["--update", "--oneshot"] # --oneshot to not record the used sets in world file
+
def has_set_support (self):
return True
diff --git a/portato/gui/queue.py b/portato/gui/queue.py
index c04d449..8b5a8dc 100644
--- a/portato/gui/queue.py
+++ b/portato/gui/queue.py
@@ -488,9 +488,11 @@ class EmergeQueue:
self.doEmerge(s,list, it, caller = self.unmerge)
- def update_world(self, force = False, newuse = False, deep = False, options = None):
+ def update_world(self, sets = ("world",), force = False, newuse = False, deep = False, options = None):
"""Does an update world. newuse and deep are the arguments handed to emerge.
+ @param sets: The sets to update.
+ @type sets: string[]
@param force: If False, '-pv' is send to emerge. Default: False.
@type force: boolean
@param newuse: If True, append newuse options
@@ -512,7 +514,7 @@ class EmergeQueue:
else:
it = {}
- self.doEmerge(opts, ["world"], it, caller = self.update_world)
+ self.doEmerge(opts, sets, it, caller = self.update_world)
def sync (self, command = None):
"""Calls "emerge --sync".
diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py
index 5f270b9..a68fe17 100644
--- a/portato/gui/windows/main.py
+++ b/portato/gui/windows/main.py
@@ -1394,7 +1394,7 @@ class MainWindow (Window):
elif self.queueTree.is_in_unmerge(iter):
self.queue.unmerge(force = True)
else:
- self.queue.update_world(force=True, newuse = self.cfg.get_boolean("newuse"), deep = self.cfg.get_boolean("deep"))
+ self.queue.update_world(sets = self.updateSets, force=True, newuse = self.cfg.get_boolean("newuse"), deep = self.cfg.get_boolean("deep"))
return True
@@ -1420,13 +1420,13 @@ class MainWindow (Window):
watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
self.window.window.set_cursor(watch)
try:
- sets = ("world", "system") # default
+ self.updateSets = ("world", "system") # default
if system.has_set_support():
confsets = [x.strip() for x in self.cfg.get("updatesets").split(",")]
syssets = system.get_sets()
- sets = [s for s in confsets if s in syssets]
+ self.updateSets = [s for s in confsets if s in syssets]
- updating = system.update_world(sets = sets, newuse = self.cfg.get_boolean("newuse"), deep = self.cfg.get_boolean("deep"))
+ updating = system.update_world(sets = self.updateSets, newuse = self.cfg.get_boolean("newuse"), deep = self.cfg.get_boolean("deep"))
debug("updating list: %s --> length: %s", [(x.get_cpv(), y.get_cpv()) for x,y in updating], len(updating))
gobject.idle_add(cb_idle_append, updating)
finally: