diff options
Diffstat (limited to '')
-rw-r--r-- | portato/backend/portage/system_22.py | 3 | ||||
-rw-r--r-- | portato/gui/queue.py | 6 | ||||
-rw-r--r-- | portato/gui/windows/main.py | 8 |
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: |