summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <egon@top>2005-11-29 18:06:20 +0100
committerMichael Vogt <egon@top>2005-11-29 18:06:20 +0100
commit33cf8b013e776c5c1249c2b91c8cf1e34ef739a4 (patch)
tree545d4d5cf2b2ae1b7a44a97501401b40b821855c
parenta79e4fc80ef854844e560e5b547d1398ab149360 (diff)
downloadpython-apt-33cf8b013e776c5c1249c2b91c8cf1e34ef739a4.tar.gz
* code cleanup, make it all more structured
-rw-r--r--SoftwareProperties/SoftwareProperties.py2
-rw-r--r--UpdateManager/Common/__init__.py3
-rw-r--r--UpdateManager/Common/utils.py8
-rw-r--r--UpdateManager/UpdateManager.py804
-rw-r--r--UpdateManager/__init__.py1
-rw-r--r--po/da.po50
-rw-r--r--po/de.po46
-rw-r--r--po/el.po38
-rw-r--r--po/en_CA.po48
-rw-r--r--po/es.po48
-rw-r--r--po/fi.po46
-rw-r--r--po/fr.po48
-rw-r--r--po/hu.po46
-rw-r--r--po/ja.po46
-rw-r--r--po/pl.po48
-rw-r--r--po/pt_BR.po38
-rw-r--r--po/ro.po46
-rw-r--r--po/rw.po44
-rw-r--r--po/sv.po44
-rw-r--r--po/xh.po38
-rw-r--r--po/zh_CN.po46
-rwxr-xr-xsetup.py29
-rw-r--r--update-manager55
23 files changed, 1251 insertions, 371 deletions
diff --git a/SoftwareProperties/SoftwareProperties.py b/SoftwareProperties/SoftwareProperties.py
index 5c6e8fef..b5aa944f 100644
--- a/SoftwareProperties/SoftwareProperties.py
+++ b/SoftwareProperties/SoftwareProperties.py
@@ -33,7 +33,7 @@ import os
#sys.path.append("@prefix/share/update-manager/python")
-from UpdateManager.Common import SimpleGladeApp
+from UpdateManager.Common.SimpleGladeApp import SimpleGladeApp
import aptsources
import dialog_add
import dialog_edit
diff --git a/UpdateManager/Common/__init__.py b/UpdateManager/Common/__init__.py
index 312e52dd..139597f9 100644
--- a/UpdateManager/Common/__init__.py
+++ b/UpdateManager/Common/__init__.py
@@ -1 +1,2 @@
-from SimpleGladeApp import SimpleGladeApp
+
+
diff --git a/UpdateManager/Common/utils.py b/UpdateManager/Common/utils.py
new file mode 100644
index 00000000..92fe16b0
--- /dev/null
+++ b/UpdateManager/Common/utils.py
@@ -0,0 +1,8 @@
+
+def str_to_bool(str):
+ if str == "0" or str.upper() == "FALSE":
+ return False
+ return True
+
+def utf8(str):
+ return unicode(str, 'latin1').encode('utf-8')
diff --git a/UpdateManager/UpdateManager.py b/UpdateManager/UpdateManager.py
new file mode 100644
index 00000000..3c04db7f
--- /dev/null
+++ b/UpdateManager/UpdateManager.py
@@ -0,0 +1,804 @@
+
+import pygtk
+pygtk.require('2.0')
+import gtk
+import gtk.gdk
+import gtk.glade
+import gobject
+import gnome
+import apt_pkg
+import gettext
+import copy
+import string
+import sys
+import os
+import os.path
+import urllib2
+import re
+import thread
+import tempfile
+import time
+import rfc822
+import gconf
+import pango
+import subprocess
+import pwd
+import xml.sax.saxutils
+from gettext import gettext as _
+
+from Common.utils import *
+from Common.SimpleGladeApp import SimpleGladeApp
+
+# FIXME:
+# - cary a reference to the update-class around in the ListStore
+# - kill "all_changes" and move the changes into the "Update" class
+
+# list constants
+(LIST_INSTALL, LIST_CONTENTS, LIST_NAME, LIST_SHORTDESC,
+ LIST_VERSION, LIST_LONG_DESCR, LIST_PKG) = range(7)
+
+# actions for "invoke_manager"
+(INSTALL, UPDATE) = range(2)
+
+SYNAPTIC_PINFILE = "/var/lib/synaptic/preferences"
+
+METARELEASE_URI = "http://changelogs.ubuntu.com/meta-release"
+#METARELEASE_URI = "http://people.ubuntu.com/~mvo/meta-release-test"
+METARELEASE_FILE = "/var/lib/update-manager/meta-release"
+
+CHANGELOGS_URI="http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
+
+
+
+class Update:
+
+ def __init__(self, package, cache, records, depcache):
+ #package = cache[name]
+ name = package.Name
+ version = depcache.GetCandidateVer(package)
+ file, index = version.FileList.pop(0)
+ records.Lookup((file, index))
+
+ self.name = name
+ self.version = version.VerStr
+ self.shortdesc = records.ShortDesc
+ self.longdesc = ""
+ self.size = version.Size
+
+ longdesc = records.LongDesc
+ lines = longdesc.split("\n")
+ lines.pop(0)
+ for line in lines:
+ line = line[1:]
+ first_char = string.strip(line)[0]
+ if line == ".":
+ self.longdesc = self.longdesc + "\n"
+ else:
+ self.longdesc = self.longdesc + line + "\n"
+
+class UpdateList:
+ def __init__(self, parent_window):
+ self.pkgs = []
+ self.num_updates = 0
+ self.parent_window = parent_window
+
+ def saveDistUpgrade(self, cache, depcache):
+ """ this functions mimics a upgrade but will never remove anything """
+ depcache.Upgrade(True)
+ if depcache.DelCount > 0:
+ # nice try, falling back
+ for pkg in cache.Packages:
+ depcache.MarkKeep(pkg)
+ assert depcache.BrokenCount == 0 and depcache.DelCount == 0
+ depcache.Upgrade()
+
+ def update(self, cache, records, depcache):
+ held_back = []
+ broken = []
+ self.saveDistUpgrade(cache, depcache)
+ for pkg in cache.Packages:
+ if depcache.MarkedUpgrade(pkg) or depcache.MarkedInstall(pkg):
+ self.pkgs.append(Update(pkg, cache, records, depcache))
+ self.num_updates = self.num_updates + 1
+ elif depcache.IsInstBroken(pkg) or depcache.IsNowBroken(pkg):
+ broken.append(pkg.Name)
+ elif pkg.CurrentVer != None and depcache.IsUpgradable(pkg):
+ #print "MarkedKeep: %s " % pkg.Name
+ held_back.append(pkg.Name)
+ self.pkgs.sort(lambda x,y: cmp(x.name,y.name))
+ if depcache.BrokenCount > 0:
+ # FIXME: show what packages are broken
+ msg=("<big><b>%s</b></big>\n\n%s"%(_("Your system has broken packages!"),
+ _("This means that some dependencies "
+ "of the installed packages are not "
+ "satisfied. Please use \"Synaptic\" "
+ "or \"apt-get\" to fix the "
+ "situation."
+ )))
+ dialog = gtk.MessageDialog(self.parent_window, 0, gtk.MESSAGE_ERROR,
+ gtk.BUTTONS_OK,"")
+ dialog.set_markup(msg)
+ dialog.vbox.set_spacing(6)
+ dialog.run()
+ dialog.destroy()
+ sys.exit(1)
+ if depcache.KeepCount > 0:
+ #print "WARNING, keeping packages"
+ msg=("<big><b>%s</b></big>\n\n%s"%(_("It is not possible to upgrade "
+ "all packages."),
+ _("This means that "
+ "besides the actual upgrade of the "
+ "packages some further action "
+ "(such as installing or removing "
+ "packages) "
+ "is required. Please use Synaptic "
+ "\"Smart Upgrade\" or "
+ "\"apt-get dist-upgrade\" to fix "
+ "the situation."
+ )))
+ dialog = gtk.MessageDialog(self.parent_window, 0, gtk.MESSAGE_INFO,
+ gtk.BUTTONS_OK,"")
+ dialog.set_default_response(gtk.RESPONSE_OK)
+ dialog.set_markup(msg)
+ dialog.vbox.set_spacing(6)
+ label = gtk.Label(_("The following packages are not upgraded: "))
+ label.set_alignment(0.0,0.5)
+ dialog.set_border_width(6)
+ label.show()
+ dialog.vbox.pack_start(label)
+ scroll = gtk.ScrolledWindow()
+ scroll.set_size_request(-1,200)
+ scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ text = gtk.TextView()
+ text.set_editable(False)
+ text.set_cursor_visible(False)
+ buf = text.get_buffer()
+ held_back.sort()
+ buf.set_text("\n".join(held_back))
+ scroll.add(text)
+ dialog.vbox.pack_start(scroll)
+ scroll.show_all()
+ dialog.run()
+ dialog.destroy()
+
+
+class UpdateManager:
+
+ # FIXME: wrong location for this func
+ # don't touch the gui in this function, it needs to be thread-safe
+ def get_changelog(self, name, lock):
+ pkg = self.cache[name]
+
+ # FIXME: not correct, need to get canidateVer
+ version = self.depcache.GetCandidateVer(pkg)
+ file, index = version.FileList.pop(0)
+ self.records.Lookup((file, index))
+ if self.records.SourcePkg != "":
+ srcpkg = self.records.SourcePkg
+ else:
+ srcpkg = name
+
+ src_section = "main"
+ l = string.split(pkg.Section,"/")
+ if len(l) > 1:
+ sec_section = l[0]
+
+ prefix = srcpkg[0]
+ if srcpkg.startswith("lib"):
+ prefix = "lib" + srcpkg[3]
+
+ verstr = version.VerStr
+ l = string.split(verstr,":")
+ if len(l) > 1:
+ verstr = l[1]
+
+ try:
+ uri = CHANGELOGS_URI % (src_section,prefix,srcpkg,srcpkg, verstr)
+ changelog = urllib2.urlopen(uri)
+ #print changelog.read()
+ # do only get the lines that are new
+ alllines = ""
+ regexp = "^%s \((.*)\)(.*)$" % (srcpkg)
+
+ i=0
+ while True:
+ line = changelog.readline()
+ #print line
+ if line == "":
+ break
+ match = re.match(regexp,line)
+ if match:
+ if apt_pkg.VersionCompare(match.group(1),pkg.CurrentVer.VerStr) <= 0:
+ break
+ # EOF (shouldn't really happen)
+ alllines = alllines + line
+
+ # only write if we where not canceld
+ if lock.locked():
+ self.all_changes[name] = [alllines, srcpkg]
+ except urllib2.HTTPError:
+ if lock.locked():
+ self.all_changes[name] = [_("Changes not found, the server may not be updated yet."), srcpkg]
+ except IOError:
+ if lock.locked():
+ self.all_changes[name] = [_("Failed to download changes. Please check if there is an active internet connection."), srcpkg]
+ if lock.locked():
+ lock.release()
+
+ def set_changes_buffer(self, changes_buffer, text, name, srcpkg):
+ changes_buffer.set_text("")
+ lines = text.split("\n")
+ if len(lines) == 1:
+ changes_buffer.set_text(text)
+ return
+
+ for line in lines:
+
+ end_iter = changes_buffer.get_end_iter()
+
+ version_match = re.match("^%s \((.*)\)(.*)$" % (srcpkg), line)
+ #bullet_match = re.match("^.*[\*-]", line)
+ author_match = re.match("^.*--.*<.*@.*>.*$", line)
+ if version_match:
+ version = version_match.group(1)
+ version_text = _("Version %s: \n") % version
+ changes_buffer.insert_with_tags_by_name(end_iter, version_text, "versiontag")
+ # mvo: disabled for now as it does not catch multi line entries
+ # (see ubuntu #7034 for rational)
+ #elif bullet_match and not author_match:
+ # bullet_text = " " + line + "\n"
+ # changes_buffer.insert(end_iter, bullet_text)
+ elif (author_match):
+ pass
+ #chanages_buffer.insert(end_iter, "\n")
+ else:
+ changes_buffer.insert(end_iter, line+"\n")
+
+
+ def cursor_changed(self, widget):
+ tuple = widget.get_cursor()
+ path = tuple[0]
+ # check if we have a path at all
+ if path == None:
+ return
+ model = widget.get_model()
+ iter = model.get_iter(path)
+
+ # set descr
+ long_desc = model.get_value(iter, 5)
+ if long_desc == None:
+ return
+ desc_buffer = self.DescView.get_buffer()
+ desc_buffer.set_text(utf8(long_desc))
+
+ # now do the changelog
+ name = model.get_value(iter, 2)
+ if name == None:
+ return
+
+ changes_buffer = self.ChangesView.get_buffer()
+
+ # check if we have the changes already
+ if self.all_changes.has_key(name):
+ changes = self.all_changes[name]
+ self.set_changes_buffer(changes_buffer, changes[0], name, changes[1])
+ else:
+ if self.expander.get_expanded():
+ self.treeview.set_sensitive(False)
+ self.Glade.get_widget("hbox_footer").set_sensitive(False)
+ lock = thread.allocate_lock()
+ lock.acquire()
+ t=thread.start_new_thread(self.get_changelog,(name,lock))
+ changes_buffer.set_text(_("Downloading changes..."))
+ button = self.Glade.get_widget("button_cancel_dl_changelog")
+ button.show()
+ id = button.connect("clicked",
+ lambda w,lock: lock.release(), lock)
+ # wait for the dl-thread
+ while lock.locked():
+ time.sleep(0.05)
+ while gtk.events_pending():
+ gtk.main_iteration()
+ # download finished (or canceld, or time-out)
+ button.hide()
+ button.disconnect(id);
+ self.treeview.set_sensitive(True)
+ self.Glade.get_widget("hbox_footer").set_sensitive(True)
+
+ if self.all_changes.has_key(name):
+ changes = self.all_changes[name]
+ self.set_changes_buffer(changes_buffer, changes[0], name, changes[1])
+
+ def remove_update(self, pkg):
+ name = pkg.name
+ if name in self.packages:
+ self.packages.remove(name)
+ self.dl_size -= pkg.size
+ if len(self.packages) == 0:
+ self.installbutton.set_sensitive(False)
+ self.update_count()
+
+ def add_update(self, pkg):
+ name = pkg.name
+ if name not in self.packages:
+ self.packages.append(name)
+ self.dl_size += pkg.size
+ if len(self.packages) > 0:
+ self.installbutton.set_sensitive(True)
+ self.update_count()
+
+ def update_count(self):
+ text = "%i (%s)" % (len(self.packages),
+ apt_pkg.SizeToStr(self.dl_size))
+ self.NumUpdates.set_text(text)
+
+ def activate_details(self, expander, data):
+ expanded = self.expander.get_expanded()
+ self.gconfclient.set_bool("/apps/update-manager/show_details",expanded)
+ if expanded:
+ self.cursor_changed(self.treeview)
+
+ def run_synaptic(self, id, action, lock):
+ apt_pkg.PkgSystemUnLock()
+ cmd = ["/usr/sbin/synaptic", "--hide-main-window", "--non-interactive",
+ "--plug-progress-into", "%s" % (id) ]
+ if action == INSTALL:
+ cmd.append("--set-selections")
+ cmd.append("--progress-str")
+ cmd.append("%s" % _("The updates are being applied."))
+ cmd.append("--finish-str")
+ cmd.append("%s" % _("Upgrade finished"))
+ proc = subprocess.Popen(cmd, stdin=subprocess.PIPE)
+ f = proc.stdin
+ for s in self.packages:
+ f.write("%s\tinstall\n" % s)
+ f.close()
+ proc.wait()
+ elif action == UPDATE:
+ cmd.append("--update-at-startup")
+ subprocess.call(cmd)
+ else:
+ print "run_synaptic() called with unknown action"
+ sys.exit(1)
+
+ # use this once gksudo does propper reporting
+ #if os.geteuid() != 0:
+ # if os.system("gksudo /bin/true") != 0:
+ # return
+ # cmd = "sudo " + cmd;
+ lock.release()
+
+ def plug_removed(self, w, (win,socket)):
+ #print "plug_removed"
+ # plug was removed, but we don't want to get it removed, only hiden
+ # unti we get more
+ win.hide()
+ return True
+
+ def plug_added(self, sock, win):
+ win.show()
+ while gtk.events_pending():
+ gtk.main_iteration()
+
+ def on_button_reload_clicked(self, widget):
+ #print "on_button_reload_clicked"
+ self.invoke_manager(UPDATE)
+
+ def on_button_help_clicked(self, widget):
+ gnome.help_display_desktop(self.gnome_program, "update-manager", "update-manager", "")
+
+ def on_button_install_clicked(self, widget):
+ #print "on_button_install_clicked"
+ self.invoke_manager(INSTALL)
+
+ def invoke_manager(self, action):
+ # check first if no other package manager is runing
+ import struct, fcntl
+ lock = os.path.dirname(apt_pkg.Config.Find("Dir::State::status"))+"/lock"
+ lock_file= open(lock)
+ flk=struct.pack('hhllhl',fcntl.F_WRLCK,0,0,0,0,0)
+ try:
+ rv = fcntl.fcntl(lock_file, fcntl.F_GETLK, flk)
+ except IOError:
+ print "Error getting lockstatus"
+ raise
+ locked = struct.unpack('hhllhl', rv)[0]
+ if locked != fcntl.F_UNLCK:
+ msg=("<big><b>%s</b></big>\n\n%s"%(_("Another package manager is "
+ "running"),
+ _("You can run only one "
+ "package management application "
+ "at the same time. Please close "
+ "this other application first.")));
+ dialog = gtk.MessageDialog(self.main_window, 0, gtk.MESSAGE_ERROR,
+ gtk.BUTTONS_OK,"")
+ dialog.set_markup(msg)
+ dialog.run()
+ dialog.destroy()
+ return
+
+ # don't display apt-listchanges, we already showed the changelog
+ os.environ["APT_LISTCHANGES_FRONTEND"]="none"
+
+ # set window to insensitive
+ self.main_window.set_sensitive(False)
+ # create a progress window that will swallow the synaptic progress bars
+ win = gtk.Window()
+ if action==UPDATE:
+ win.set_title(_("Updating package list..."))
+ else:
+ win.set_title(_("Installing updates..."))
+ win.set_border_width(6)
+ win.set_transient_for(self.main_window)
+ win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
+ win.resize(400,200)
+ win.set_resizable(False)
+ # prevent the window from closing with the delete button (there is
+ # a cancel button in the window)
+ win.connect("delete_event", lambda e,w: True);
+
+ # create the socket
+ socket = gtk.Socket()
+ socket.show()
+ win.add(socket)
+
+ socket.connect("plug-added", self.plug_added, win)
+ socket.connect("plug-removed", self.plug_removed, (win,socket))
+ lock = thread.allocate_lock()
+ lock.acquire()
+ t = thread.start_new_thread(self.run_synaptic,(socket.get_id(),action,lock))
+ while lock.locked():
+ while gtk.events_pending():
+ gtk.main_iteration()
+ time.sleep(0.05)
+ win.destroy()
+ while gtk.events_pending():
+ gtk.main_iteration()
+ self.fillstore()
+ self.main_window.set_sensitive(True)
+
+ def toggled(self, renderer, path_string):
+ """ a toggle button in the listview was toggled """
+ iter = self.store.get_iter_from_string(path_string)
+ if self.store.get_value(iter, LIST_INSTALL):
+ self.store.set_value(iter, LIST_INSTALL, False)
+ self.remove_update(self.store.get_value(iter, LIST_PKG))
+ else:
+ self.store.set_value(iter, LIST_INSTALL, True)
+ self.add_update(self.store.get_value(iter, LIST_PKG))
+
+
+ def exit(self):
+ """ exit the application, save the state """
+ self.save_state()
+ gtk.main_quit()
+ sys.exit(0)
+
+ def save_state(self):
+ """ save the state (window-size for now) """
+ (x,y) = self.main_window.get_size()
+ self.gconfclient.set_pair("/apps/update-manager/window_size",
+ gconf.VALUE_INT, gconf.VALUE_INT, x, y)
+
+ def restore_state(self):
+ """ restore the state (window-size for now) """
+ expanded = self.gconfclient.get_bool("/apps/update-manager/show_details")
+ self.expander.set_expanded(expanded)
+ (x,y) = self.gconfclient.get_pair("/apps/update-manager/window_size",
+ gconf.VALUE_INT, gconf.VALUE_INT)
+ if x > 0 and y > 0:
+ self.main_window.resize(x,y)
+
+ def on_button_preferences_clicked(self, widget):
+ """ start gnome-software preferences """
+ # args: "-n" means we take care of the reloading of the
+ # package list ourself
+ apt_pkg.PkgSystemUnLock()
+ args = ['/usr/bin/gnome-software-properties', '-n']
+ child = subprocess.Popen(args)
+ self.main_window.set_sensitive(False)
+ res = None
+ while res == None:
+ res = child.poll()
+ time.sleep(0.05)
+ while gtk.events_pending():
+ gtk.main_iteration()
+ # repository information changed, call "reload"
+ try:
+ apt_pkg.PkgSystemLock()
+ except SystemError:
+ print "Error geting the cache"
+ apt_pkg.PkgSystemLock()
+ if res > 0:
+ self.on_button_reload_clicked(None)
+ self.main_window.set_sensitive(True)
+
+ def __init__(self, datadir):
+
+ self.gnome_program = gnome.init("update-manager", "0.40")
+
+ self.packages = []
+ self.dl_size = 0
+ self.all_changes = {}
+ self.dist = self.get_dist()
+ self.Glade = gtk.glade.XML("%s/glade/update-manager.glade" % datadir)
+
+ self.NumUpdates = self.Glade.get_widget("num_updates")
+ self.main_window = self.Glade.get_widget("MainWindow")
+ self.main_window.connect("delete_event", lambda w, ev: self.exit())
+ self.DescView = self.Glade.get_widget("descview")
+ self.ChangesView = self.Glade.get_widget("textview_changes")
+ changes_buffer = self.ChangesView.get_buffer()
+ changes_buffer.create_tag("versiontag", weight=pango.WEIGHT_BOLD)
+ self.expander = self.Glade.get_widget("expander_details")
+ self.expander.connect("notify::expanded", self.activate_details)
+
+ self.installbutton = self.Glade.get_widget("button_install")
+ self.Glade.signal_connect("on_button_install_clicked",
+ self.on_button_install_clicked)
+ self.Glade.signal_connect("on_button_close_clicked",
+ lambda w: self.exit())
+ self.Glade.signal_connect("on_button_reload_clicked",
+ self.on_button_reload_clicked)
+ self.Glade.signal_connect("on_button_preferences_clicked",
+ self.on_button_preferences_clicked)
+ self.Glade.signal_connect("on_button_help_clicked",
+ self.on_button_help_clicked)
+
+ self.treeview = self.Glade.get_widget("updatelist")
+
+ self.store = gtk.ListStore(gobject.TYPE_BOOLEAN, str, str, str, str, str,
+ gobject.TYPE_PYOBJECT)
+ self.treeview.set_model(self.store)
+ self.treeview.set_headers_clickable(True);
+
+ self.treeview.connect('cursor-changed', self.cursor_changed)
+
+ tr = gtk.CellRendererText()
+ tr.set_property("xpad", 10)
+ tr.set_property("ypad", 10)
+ cr = gtk.CellRendererToggle()
+ cr.set_property("activatable", True)
+ cr.set_property("xpad", 10)
+ cr.connect("toggled", self.toggled)
+ self.cb = gtk.TreeViewColumn("Install", cr, active=LIST_INSTALL)
+ c0 = gtk.TreeViewColumn("Name", tr, markup=LIST_CONTENTS)
+ c0.set_resizable(True)
+ major,minor,patch = gtk.pygtk_version
+ if (major >= 2) and (minor >= 5):
+ self.cb.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+ self.cb.set_fixed_width(30)
+ c0.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+ c0.set_fixed_width(100)
+ #self.treeview.set_fixed_height_mode(True)
+
+ self.treeview.append_column(self.cb)
+ self.cb.set_visible(False);
+ self.treeview.append_column(c0)
+ self.treeview.set_search_column(LIST_NAME)
+ #self.treeview.append_column(c1)
+ #self.treeview.append_column(c2)
+ #self.treeview.set_headers_visible(False)
+ # set expander to last position
+
+ # proxy stuff
+ SYNAPTIC_CONF_FILE = "%s/.synaptic/synaptic.conf" % pwd.getpwuid(0)[5]
+ if os.path.exists(SYNAPTIC_CONF_FILE):
+ cnf = apt_pkg.newConfiguration()
+ apt_pkg.ReadConfigFile(cnf, SYNAPTIC_CONF_FILE)
+ use_proxy = cnf.FindB("Synaptic::useProxy", False)
+ if use_proxy:
+ proxy_host = cnf.Find("Synaptic::httpProxy")
+ proxy_port = str(cnf.FindI("Synaptic::httpProxyPort"))
+ if proxy_host and proxy_port:
+ proxy_support = urllib2.ProxyHandler({"http":"http://%s:%s" % (proxy_host, proxy_port)})
+ opener = urllib2.build_opener(proxy_support)
+ urllib2.install_opener(opener)
+
+ self.gconfclient = gconf.client_get_default()
+ # restore state
+ self.restore_state()
+
+ def fillstore(self):
+
+ # clean most objects
+ self.packages = []
+ self.dl_size = 0
+ self.all_changes = {}
+ self.store.clear()
+ self.initCache()
+ self.list = UpdateList(self.main_window)
+
+ # fill them again
+ self.list.update(self.cache, self.records, self.depcache)
+ if self.list.num_updates < 1:
+ # set the label and treeview and hide the checkbox column
+ self.cb.set_visible(False)
+ self.expander.hide()
+ label = self.Glade.get_widget("label_header")
+ text = "<big><b>%s</b></big>\n\n%s" % (_("Your system is up-to-date!"),
+ _("There are no updates available."))
+ label.set_markup(text)
+ self.store.append([False, _("Your system is up-to-date!"), None, None, None, None, None])
+ # make sure no install is possible
+ self.installbutton.set_sensitive(False)
+ else:
+ self.cb.set_visible(True)
+ self.expander.show()
+ self.treeview.set_headers_visible(False)
+ label = self.Glade.get_widget("label_header")
+ text = _("<big><b>Available Updates</b></big>\n"
+ "\n"
+ "The following packages are found to be upgradable. You can upgrade them by "
+ "using the Install button.")
+ label.set_markup(text)
+ i=0
+ for pkg in self.list.pkgs:
+
+ name = xml.sax.saxutils.escape(pkg.name)
+ summary = xml.sax.saxutils.escape(pkg.shortdesc)
+ contents = "<big><b>%s</b></big>\n<small>%s\n\n" % (name, summary)
+ contents = contents + _("New version: %s") % (pkg.version) + "</small>"
+
+ iter = self.store.append([True, contents, pkg.name, pkg.shortdesc, pkg.version, pkg.longdesc, pkg])
+ self.add_update(pkg)
+ i = i + 1
+
+
+ self.update_count()
+ return False
+
+ # FIXME: use lsb-release binary and cache the result
+ def get_dist(self):
+ f = open("/etc/lsb-release", "r")
+ lines = f.readlines()
+ for line in lines:
+ key, value = line.split("=")
+ if (key == "DISTRIB_CODENAME"):
+ return value[:-1]
+ f.close()
+
+ def current_dist_not_supported(self, name):
+ #print name
+ msg = "<big><b>%s</b></big>\n\n%s" % (_("Your distribution is no longer supported"), _("Please upgrade to a newer version of Ubuntu Linux. The version you are running will no longer get security fixes or other critical updates. Please see http://www.ubuntulinux.org for upgrade information."))
+ dialog = gtk.MessageDialog(self.main_window, 0, gtk.MESSAGE_WARNING,
+ gtk.BUTTONS_OK,"")
+ dialog.set_markup(msg)
+ dialog.run()
+ dialog.destroy()
+
+
+ def new_dist_available(self, name):
+ #print name
+ # check if the user already knowns about this dist
+ seen = self.gconfclient.get_string("/apps/update-manager/seen_dist")
+ if name == seen:
+ return
+
+ msg = "<big><b>%s</b></big>\n\n%s" % (_("There is a new release of Ubuntu available!"), _("A new release with the codename '%s' is available. Please see http://www.ubuntulinux.org/ for upgrade instructions.") % name)
+ dialog = gtk.MessageDialog(self.main_window, 0, gtk.MESSAGE_INFO,
+ gtk.BUTTONS_CLOSE, "")
+ dialog.set_markup(msg)
+ check = gtk.CheckButton(_("Never show this message again"))
+ check.show()
+ dialog.vbox.pack_start(check)
+ dialog.run()
+ if check.get_active():
+ self.gconfclient.set_string("/apps/update-manager/seen_dist",name)
+ dialog.destroy()
+
+ # code that does the meta release file checking
+ def check_meta_release(self):
+ #print "check_meta_release"
+ current_dist = self.dist
+ dists = {}
+ if self.metarelease_information != None:
+ #print "meta_release found (current_dist: %s)" % (current_dist)
+ # we have a meta-release file
+ current_dist_date = 0
+ current_dist_supported = False
+ new_dist_available = False
+ # parse it
+ index_tag = apt_pkg.ParseTagFile(self.metarelease_information)
+ step_result = index_tag.Step()
+ while step_result:
+ if index_tag.Section.has_key("Dist"):
+ dist = index_tag.Section["Dist"]
+ date = time.mktime(rfc822.parsedate(index_tag.Section["Date"]))
+ dists[dist] = date
+ if dist == current_dist:
+ current_dist_supported = str_to_bool(index_tag.Section["Supported"])
+ current_dist_date = time.mktime(rfc822.parsedate(index_tag.Section["Date"]))
+ step_result = index_tag.Step()
+ # check for newer dists
+ new_dist = ""
+ found = False
+ for dist in dists:
+ if dist == current_dist:
+ found = True
+ if dists[dist] > current_dist_date and not dist == current_dist:
+ new_dist = dist
+ current_dist_date = dists[dist]
+
+ # we know nothing about the installed distro, so we just return
+ # silently
+ if not found:
+ return False
+
+ # only warn if unsupported and a new dist is available (because
+ # the development version is also unsupported)
+ if new_dist != "" and not current_dist_supported:
+ self.current_dist_not_supported(new_dist)
+ elif new_dist != "":
+ self.new_dist_available(new_dist)
+ # don't run this event again
+ return False
+ # we have no information about the meta-release, so run it again
+ return True
+
+ # the network thread that tries to fetch the meta-index file
+ def get_meta_release(self):
+ lastmodified = 0
+ req = urllib2.Request(METARELEASE_URI)
+ if os.access(METARELEASE_FILE, os.W_OK):
+ lastmodified = os.stat(METARELEASE_FILE).st_mtime
+ if lastmodified > 0:
+ req.add_header("If-Modified-Since", lastmodified)
+ try:
+ uri=urllib2.urlopen(req)
+ f=open(METARELEASE_FILE,"w+")
+ for line in uri.readlines():
+ f.write(line)
+ f.flush()
+ f.seek(0,0)
+ self.metarelease_information=f
+ uri.close()
+ except urllib2.URLError:
+ pass
+
+ # fixme: we should probably abstract away all the stuff from libapt
+ def initCache(self):
+ # get the lock
+ try:
+ apt_pkg.PkgSystemLock()
+ except SystemError:
+ d = gtk.MessageDialog(parent=self.main_window,
+ flags=gtk.DIALOG_MODAL,
+ type=gtk.MESSAGE_ERROR,
+ buttons=gtk.BUTTONS_OK)
+ d.set_markup("<big><b>%s</b></big>\n\n%s" % (
+ _("Unable to get exclusive lock"),
+ _("This usually means that another package management "
+ "application (like apt-get or aptitude) already running. "
+ "Please close that application first")))
+ res = d.run()
+ d.destroy()
+ sys.exit()
+
+ self.cache = apt_pkg.GetCache()
+ #apt_pkg.Config.Set("Debug::pkgPolicy","1")
+ self.depcache = apt_pkg.GetDepCache(self.cache)
+ self.depcache.ReadPinFile()
+ if os.path.exists(SYNAPTIC_PINFILE):
+ self.depcache.ReadPinFile(SYNAPTIC_PINFILE)
+ self.depcache.Init()
+ self.records = apt_pkg.GetPkgRecords(self.cache)
+
+
+ def main(self):
+ # FIXME: stat a check update thread
+ self.metarelease_information = None
+ t=thread.start_new_thread(self.get_meta_release, ())
+ gobject.timeout_add(1000, self.check_meta_release)
+ #self.get_meta_release()
+
+ self.store.append([True, _("Initializing and getting list of updates..."),
+ None, None, None, None, None])
+
+ while gtk.events_pending():
+ gtk.main_iteration()
+
+ # global init of apt, FIXME: move all the apt details in it's own class
+ apt_pkg.init()
+ self.fillstore()
+ gtk.main()
diff --git a/UpdateManager/__init__.py b/UpdateManager/__init__.py
index e69de29b..8b137891 100644
--- a/UpdateManager/__init__.py
+++ b/UpdateManager/__init__.py
@@ -0,0 +1 @@
+
diff --git a/po/da.po b/po/da.po
index e1e4c428..b03ef9fc 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-28 11:31+0200\n"
"Last-Translator: Martin Willemoes Hansen <mwh@sysrq.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"
@@ -207,60 +207,60 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 \"Hoary Hedgehog\""
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Sikkerhedsopdateringer til Ubuntu 5.04"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Opdateringer til Ubuntu 4.10"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
-#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
-msgstr "Sikkerhedsopdateringer til Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:58
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+msgstr "Ubuntu 5.04 \"Hoary Hedgehog\""
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
-msgstr "Opdateringer til Ubuntu 4.10"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
+msgstr "Sikkerhedsopdateringer til Ubuntu 5.04"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Understøttet officielt"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Begrænsende copyright"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Vedligeholdt af fællesskabet (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Ikke frit programmel (Multiverse)"
diff --git a/po/de.po b/po/de.po
index b70cec28..9329fc4b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-04-02 08:46+0200\n"
"Last-Translator: Frank Arnold <frank@scirocco-5v-turbo.de>\n"
"Language-Team: German GNOME Translations <gnome-de@gnome.org>\n"
@@ -211,61 +211,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 Sicherheitsaktualisierungen"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 Sicherheitsaktualisierungen"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 Sicherheitsaktualisierungen"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 Sicherheitsaktualisierungen"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Ubuntu 5.04 Sicherheitsaktualisierungen"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Offiziell unterstützt"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Eingeschränktes Copyright"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Von den Gemeinschaft verwaltet (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Unfrei (Multiverse)"
diff --git a/po/el.po b/po/el.po
index da9bef04..90049a2c 100644
--- a/po/el.po
+++ b/po/el.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: el\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-05 14:33+0200\n"
"Last-Translator: Kostas Papadimas <pkst@gnome.org>\n"
"Language-Team: Greek <team@gnome.gr>\n"
@@ -202,57 +202,57 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+msgid "Ubuntu 5.10 Security Updates"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
+#: ../channels/Ubuntu.info.in:41
+msgid "Ubuntu 5.10 Updates"
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
-msgid "Ubuntu 5.10 Security Updates"
+#: ../channels/Ubuntu.info.in:58
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
msgid "Oficially supported"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr ""
diff --git a/po/en_CA.po b/po/en_CA.po
index b9dc7aa8..5fb9ae41 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-04-03 01:26-0500\n"
"Last-Translator: Adam Weinberger <adamw@gnome.org>\n"
"Language-Team: Canadian English <adamw@gnome.org>\n"
@@ -207,61 +207,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 Security Updates"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 Updates"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 Security Updates"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
-msgstr "Ubuntu 5.04 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
+msgstr "Ubuntu 5.04 Security Updates"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Officially supported"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Restricted copyright"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Community maintained (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Non-free (Multiverse)"
diff --git a/po/es.po b/po/es.po
index 5ff444fa..14401290 100644
--- a/po/es.po
+++ b/po/es.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-04-04 15:00+0200\n"
"Last-Translator: Jorge Bernal <koke@amedias.org>\n"
"Language-Team: Spanish <traductores@gnome.org>\n"
@@ -210,61 +210,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Actualizaciones de seguridad de Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Actualizaciones de seguridad de Ubuntu 5.04"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Actualizaciones de Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Actualizaciones de seguridad de Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
-msgstr "Actualizaciones de Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
+msgstr "Actualizaciones de seguridad de Ubuntu 5.04"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Soportado oficialmente"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Copyright restringido"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Mantenido por la comunidad (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Software no libre (Multiverse)"
diff --git a/po/fi.po b/po/fi.po
index db7aa0ca..64342fa7 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-30 08:30+0200\n"
"Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n"
"Language-Team: Finnish <LL@li.org>\n"
@@ -206,61 +206,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 turvallisuuspäivitykset"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 turvallisuuspäivitykset"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 turvallisuuspäivitykset"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 turvallisuuspäivitykset"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Ubuntu 5.04 turvallisuuspäivitykset"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Virallisesti tuettu"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Rajoitettu tekijänoikeus"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Yhteisön ylläpitämä (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Ei-vapaat ohjelmat (Multiverse)"
diff --git a/po/fr.po b/po/fr.po
index eb4a44f3..f872a936 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager 0.37.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-04-04 19:43+0200\n"
"Last-Translator: \n"
"Language-Team: French <gnomefr@traduc.org>\n"
@@ -209,61 +209,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 Mises à jour de sécurité"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 Mises à jour de sécurité"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Mises à jour d'Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 Mises à jour de sécurité"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
-msgstr "Mises à jour d'Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
+msgstr "Ubuntu 5.04 Mises à jour de sécurité"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Supportés officiellement"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Copyright restreint"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Maintenu par la communauté (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Non-libre (Multiverse)"
diff --git a/po/hu.po b/po/hu.po
index c136accf..237ba1b1 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager.HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-04-03 12:32+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <gnome@gnome.hu>\n"
@@ -208,61 +208,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 biztonsági frissítések"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 biztonsági frissítések"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 biztonsági frissítések"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 biztonsági frissítések"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Ubuntu 5.04 biztonsági frissítések"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Hivatalosan támogatott"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Szerzői jogi korlátozás alatt"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Közösségi karbantartású (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Nem-szabad (Multiverse)"
diff --git a/po/ja.po b/po/ja.po
index 33ab8198..9d0996f8 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-23 10:23+0900\n"
"Last-Translator: Hiroyuki Ikezoe <ikezoe@good-day.co.jp>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -206,61 +206,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 セキュリティアップデート"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 セキュリティアップデート"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 セキュリティアップデート"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 セキュリティアップデート"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Ubuntu 5.04 セキュリティアップデート"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Officially supported"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Restricted copyright"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Community maintained (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Non-free (Multiuniverse)"
diff --git a/po/pl.po b/po/pl.po
index b31fc896..44c26b37 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager cvs\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-25 17:23+0100\n"
"Last-Translator: Zygmunt Krynicki <zyga@www.suxx.pl>\n"
"Language-Team: Polish <translators@gnomepl.org>\n"
@@ -207,61 +207,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Uaktualnienia bezpieczeństwa dla Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Uaktualnienia bezpieczeństwa dla Ubuntu 5.04"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Uaktualnienia Ubuntu 4.10"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Uaktualnienia bezpieczeństwa dla Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
-msgstr "Uaktualnienia Ubuntu 4.10"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
+msgstr "Uaktualnienia bezpieczeństwa dla Ubuntu 5.04"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Wspierane oficjalnie"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "O ograniczonych prawach kopiowania"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Utrzymywane przez społeczność (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Nie-wolnodostępne (Multiverse)"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 5a3bff1d..a3a48d8a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-29 13:36-0300\n"
"Last-Translator: Raphael Higino <raphaelh@uai.com.br>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-status@listas.cipsga.org."
@@ -187,57 +187,57 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+msgid "Ubuntu 5.10 Security Updates"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
+#: ../channels/Ubuntu.info.in:41
+msgid "Ubuntu 5.10 Updates"
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
-msgid "Ubuntu 5.10 Security Updates"
+#: ../channels/Ubuntu.info.in:58
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
msgid "Oficially supported"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Mantido pela comunidade (Universo)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr ""
diff --git a/po/ro.po b/po/ro.po
index d26c4df9..1e15f4fa 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-03 19:28+0200\n"
"Last-Translator: Dan Damian <dand@gnome.ro>\n"
"Language-Team: Romanian <gnomero-list@lists.sourceforge.net>\n"
@@ -208,61 +208,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Actualizări de securitate Ubuntu 5.04"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Actualizări de securitate Ubuntu 5.04"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Actualizări de securitate Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Actualizări de securitate Ubuntu 5.04"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Actualizări de securitate Ubuntu 5.04"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Pachete suportate oficial"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Copyright restrictiv"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Pachete întreţinute de comunitate (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Pachete non-libere (Multiverse)"
diff --git a/po/rw.po b/po/rw.po
index e5bac161..812d0141 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -15,7 +15,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-31 20:55-0700\n"
"Last-Translator: Steve Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -229,62 +229,62 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "5"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
+#: ../channels/Ubuntu.info.in:24
#, fuzzy
-msgid "Ubuntu 5.04 Security Updates"
+msgid "Ubuntu 5.10 Security Updates"
msgstr "5"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "5"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "5"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
+#: ../channels/Ubuntu.info.in:75
#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+msgid "Ubuntu 5.04 Security Updates"
msgstr "5"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
msgid "Oficially supported"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
#, fuzzy
msgid "Restricted copyright"
msgstr "Uburenganzira bw'umuhimbyi"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
#, fuzzy
msgid "Non-free (Multiverse)"
msgstr "Kigenga"
diff --git a/po/sv.po b/po/sv.po
index 4bb216c7..9d754c5e 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-26 15:14+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -194,61 +194,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
+#: ../channels/Ubuntu.info.in:24
#, fuzzy
-msgid "Ubuntu 5.04 Security Updates"
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Brådskande uppdateringar"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Brådskande uppdateringar"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
-#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
-msgstr "Brådskande uppdateringar"
+#: ../channels/Ubuntu.info.in:58
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
+#: ../channels/Ubuntu.info.in:75
#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Brådskande uppdateringar"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "Stöds officiellt"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "Begränsad copyright"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "Gemenskapsunderhållen (Universe)"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "Ickefri (Multiverse)"
diff --git a/po/xh.po b/po/xh.po
index 2c125a89..ed4b45e3 100644
--- a/po/xh.po
+++ b/po/xh.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-notifier\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-30 13:25+0200\n"
"Last-Translator: Canonical Ltd <translations@canonical.com>\n"
"Language-Team: Xhosa <xh-translate@ubuntu.com>\n"
@@ -190,57 +190,57 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+msgid "Ubuntu 5.10 Security Updates"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
+#: ../channels/Ubuntu.info.in:41
+msgid "Ubuntu 5.10 Updates"
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
-msgid "Ubuntu 5.10 Security Updates"
+#: ../channels/Ubuntu.info.in:58
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr ""
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
msgid "Oficially supported"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr ""
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr ""
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 44ce0169..99cec2a4 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: update-manager HEAD\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-29 17:26+0100\n"
+"POT-Creation-Date: 2005-11-29 18:05+0100\n"
"PO-Revision-Date: 2005-03-21 22:00+0800\n"
"Last-Translator: Funda Wang <fundawang@linux.net.cn>\n"
"Language-Team: zh_CN <i18n-translation@lists.linux.net.cn>\n"
@@ -189,61 +189,61 @@ msgid "http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:6
-#, fuzzy
-msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
-msgstr "Ubuntu 5.04 安全更新"
+#: ../channels/Ubuntu.info.in:7
+msgid "Breezy 5.10 \"Breezy Badger\""
+msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:23
-msgid "Ubuntu 5.04 Security Updates"
+#: ../channels/Ubuntu.info.in:24
+#, fuzzy
+msgid "Ubuntu 5.10 Security Updates"
msgstr "Ubuntu 5.04 安全更新"
#. Description
-#: ../channels/Ubuntu.info.in:40
-msgid "Breezy 5.10 \"Breezy Badger\""
-msgstr ""
+#: ../channels/Ubuntu.info.in:41
+#, fuzzy
+msgid "Ubuntu 5.10 Updates"
+msgstr "Ubuntu 5.04 安全更新"
#. BaseURI
-#: ../channels/Ubuntu.info.in:56
-msgid "http://security.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:57
+msgid "http://archive.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:57
+#: ../channels/Ubuntu.info.in:58
#, fuzzy
-msgid "Ubuntu 5.10 Security Updates"
+msgid "Ubuntu 5.04 \"Hoary Hedgehog\""
msgstr "Ubuntu 5.04 安全更新"
#. BaseURI
-#: ../channels/Ubuntu.info.in:73
-msgid "http://archive.ubuntu.com/ubuntu/"
+#: ../channels/Ubuntu.info.in:74
+msgid "http://security.ubuntu.com/ubuntu/"
msgstr ""
#. Description
-#: ../channels/Ubuntu.info.in:74
-#, fuzzy
-msgid "Ubuntu 5.10 Updates"
+#: ../channels/Ubuntu.info.in:75
+msgid "Ubuntu 5.04 Security Updates"
msgstr "Ubuntu 5.04 安全更新"
#. CompDescription
-#: ../channels/Ubuntu.info.in:77 ../channels/Debian.info.in:51
+#: ../channels/Ubuntu.info.in:78 ../channels/Debian.info.in:51
#, fuzzy
msgid "Oficially supported"
msgstr "官方支持"
#. CompDescription
-#: ../channels/Ubuntu.info.in:80
+#: ../channels/Ubuntu.info.in:81
msgid "Restricted copyright"
msgstr "版权限制"
#. CompDescription
-#: ../channels/Ubuntu.info.in:83
+#: ../channels/Ubuntu.info.in:84
msgid "Community maintained (Universe)"
msgstr "社区维护"
#. CompDescription
-#: ../channels/Ubuntu.info.in:86
+#: ../channels/Ubuntu.info.in:87
msgid "Non-free (Multiverse)"
msgstr "非自由"
diff --git a/setup.py b/setup.py
index 1ab49af7..ad8acc0c 100755
--- a/setup.py
+++ b/setup.py
@@ -20,19 +20,30 @@ os.system("cd channels; make")
setup(name='update-manager',
version='0.1',
- packages=['SoftwareProperties',
+ packages=[
+ 'SoftwareProperties',
'UpdateManager',
- 'UpdateManager.Common'],
- scripts=['gnome-software-properties','src/update-manager'],
- data_files=[('share/update-manager/glade',
- glob.glob("data/*.glade")),
+ 'UpdateManager.Common'
+ ],
+ scripts=[
+ 'gnome-software-properties',
+ 'update-manager'
+ ],
+ data_files=[
+ ('share/update-manager/glade',
+ glob.glob("data/*.glade")
+ ),
('share/update-manager/channels',
- glob.glob("channels/*")),
+ glob.glob("channels/*")
+ ),
('share/applications',
- ["data/update-manager.desktop",
- "data/gnome-software-properties.desktop"]),
+ ["data/update-manager.desktop",
+ "data/gnome-software-properties.desktop"]
+ ),
('share/pixmaps',
- ["data/update-manager.png"])]+I18NFILES,
+ ["data/update-manager.png"]
+ )
+ ]+I18NFILES,
)
diff --git a/update-manager b/update-manager
new file mode 100644
index 00000000..43d52dff
--- /dev/null
+++ b/update-manager
@@ -0,0 +1,55 @@
+#!/usr/bin/python2.4
+# update-manager.in - easy updating application
+#
+# Copyright (c) 2004 Canonical
+# 2004 Michiel Sikkes
+#
+# Author: Michiel Sikkes <michiel@eyesopened.nl>
+# Michael Vogt <mvo@debian.org>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA
+
+import pygtk
+import os
+pygtk.require('2.0')
+import gtk
+import gtk.glade
+
+from UpdateManager.UpdateManager import UpdateManager
+import gettext
+from gettext import gettext as _
+
+if __name__ == "__main__":
+
+ APP="update-manager"
+ DIR="/usr/share/locale"
+
+ gettext.bindtextdomain(APP, DIR)
+ gettext.textdomain(APP)
+ gtk.glade.bindtextdomain(APP, DIR)
+ gtk.glade.textdomain(APP)
+
+ if os.geteuid() != 0:
+ dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
+ _("You need to be root to run this program"))
+ dialog.run()
+ dialog.destroy()
+ sys.exit(1)
+
+ #data_dir="/usr/share/update-manager/"
+ data_dir="/tmp/xxx/share/update-manager/"
+ app = UpdateManager(data_dir)
+ app.main()