diff options
| author | Iain Lane <iain@orangesquash.org.uk> | 2017-10-23 14:46:19 +0100 |
|---|---|---|
| committer | Iain Lane <iain@orangesquash.org.uk> | 2017-10-23 14:46:19 +0100 |
| commit | c0f5f46799536acd87cf5f2d632bdb8bd481aca1 (patch) | |
| tree | 4c0d2758b5d213c5a94a38c8d37b30915c252902 | |
| parent | 097c737d1c623e952f4cd097e1691773bf335f23 (diff) | |
releasing package apturl version 0.5.2ubuntu120.5.2ubuntu12
| -rw-r--r-- | AptUrl/gtk/GtkUI.py | 27 | ||||
| -rw-r--r-- | AptUrl/gtk/backend/InstallBackendAptdaemon.py | 6 | ||||
| -rw-r--r-- | AptUrl/kde/KdeUI.py | 2 | ||||
| -rw-r--r-- | debian/changelog | 16 |
4 files changed, 33 insertions, 18 deletions
diff --git a/AptUrl/gtk/GtkUI.py b/AptUrl/gtk/GtkUI.py index 3a0b3ec..2f32983 100644 --- a/AptUrl/gtk/GtkUI.py +++ b/AptUrl/gtk/GtkUI.py @@ -31,12 +31,19 @@ class GtkUI(AbstractUI): self.dia_xml.set_translation_domain("apturl") self.dia_xml.add_from_file(APTURL_UI_FILE) self.dia = self.dia_xml.get_object('confirmation_dialog') - self.dia.start_available = lambda: Gtk.main_quit() - self.dia.start_error = lambda: Gtk.main_quit() + self.dia.start_available = self.start_available + self.dia.start_error = self.start_error self.dia.exit = lambda: Gtk.main_quit() self.dia.realize() self.backend = get_backend(self.dia) + def start_available(self, cancelled_update=False, error_occurred=False): + self.dia.set_sensitive(True) + Gtk.main_quit() + + def start_error(self, is_update_error, header, desc): + Gtk.main_quit() + def _action_done(self, backend, action, authorized, success, err_str, err_desc): self.dia.set_sensitive(True) Gtk.main_quit() @@ -107,9 +114,7 @@ class GtkUI(AbstractUI): return True def doEnableSection(self, sections): - cmd = ["gksu", "--desktop", - "/usr/share/applications/software-properties.desktop", - "--", + cmd = ["pkexec", "software-properties-gtk", "-e", "%s" % ' '.join(sections)] try: @@ -127,21 +132,15 @@ class GtkUI(AbstractUI): def doEnableChannel(self, channelpath, channelkey): - cmd = ["gksu", - "--desktop", - "/usr/share/applications/gnome-app-install.desktop", - "--", + cmd = ["pkexec", "install", "--mode=644","--owner=0",channelpath, - apt_pkg.Config.FindDir("Dir::Etc::sourceparts")] + apt_pkg.config.find_dir("Dir::Etc::sourceparts")] res = subprocess.call(cmd, universal_newlines=True) if res != 0: return False # install the key as well if os.path.exists(channelkey): - cmd = ["gksu", - "--desktop", - "/usr/share/applications/gnome-app-install.desktop", - "--", + cmd = ["pkexec", "apt-key", "add",channelkey] res = subprocess.call(cmd, universal_newlines=True) if res != 0: diff --git a/AptUrl/gtk/backend/InstallBackendAptdaemon.py b/AptUrl/gtk/backend/InstallBackendAptdaemon.py index d627fb6..5f5c6e3 100644 --- a/AptUrl/gtk/backend/InstallBackendAptdaemon.py +++ b/AptUrl/gtk/backend/InstallBackendAptdaemon.py @@ -32,11 +32,11 @@ class InstallBackendAptdaemon(InstallBackend): pass try: trans = yield self.client.update_cache(defer=True) - yield self._run_in_dialog(trans, self.UPDATE) + yield self._run_in_dialog(trans, self.ACTION_UPDATE) except errors.NotAuthorizedError as e: - self._action_done(self.UPDATE, False, False, str(e), None) + self._action_done(self.ACTION_UPDATE, False, False, str(e), None) except: - self.action_done(self.UPDATE, True, False, None, None) + self.action_done(self.ACTION_UPDATE, True, False, None, None) raise @inline_callbacks diff --git a/AptUrl/kde/KdeUI.py b/AptUrl/kde/KdeUI.py index 9d0e618..bcaf535 100644 --- a/AptUrl/kde/KdeUI.py +++ b/AptUrl/kde/KdeUI.py @@ -115,7 +115,7 @@ class KdeUI(AbstractUI): cmd = ["kdesudo", "--", "install", "--mode=644","--owner=0",channelpath, - apt_pkg.Config.FindDir("Dir::Etc::sourceparts")] + apt_pkg.config.find_dir("Dir::Etc::sourceparts")] res = subprocess.call(cmd, universal_newlines=True) if res != 0: return False diff --git a/debian/changelog b/debian/changelog index 96d0f8c..0cf2aea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,19 @@ +apturl (0.5.2ubuntu12) yakkety; urgency=medium + + * Fix common crashes (AttributeError in doEnableChannel), due to changes + in apt_pkg API, etc. (LP: #1566201) + + [ Brian Murray ] + * Port to proper apt_pkg APIs. + + [ Mathieu Trudel-Lapierre ] + * Override the start_available and start_error functions from Aptdaemon + backend correctly to match the passed parameters. + * Use pkexec rather than gksu to do our external calls to apt-key, install, + and software-properties, etc; since they need admin privileges. + + -- Mathieu Trudel-Lapierre <cyphermox@ubuntu.com> Thu, 19 May 2016 22:17:50 -0400 + apturl (0.5.2ubuntu11) xenial; urgency=medium * Drop webkit1 support, we're switching to pure webkit2 now |
