UpdateManager.backend.InstallBackend() incompatible API change

Bug #1026257 reported by Barry Warsaw on 2012-07-18
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
update-manager (Ubuntu)
Medium
Unassigned

Bug Description

InstallBackend.__init__() changed incompatibly to add a `datadir` argument *before* the window_main argument. This breaks apturl (see LP: #1020980) and who knows what else.

The way the change *should* have been made is to add `datadir=None` after the window_main argument. That way, subclasses which don't have a datadir would have continued to work.

I'm not sure whether this is worth fixing now, but we need to be much more careful in the future about incompatible API changes. This is the revision where the change was made:

% bzr log -v -c 2428.3.1
------------------------------------------------------------
revno: 2428.3.1
committer: Michael Terry <email address hidden>
branch nick: progress-dialog
timestamp: Wed 2012-06-13 15:47:47 -0400
message:
  bring some of AptDialog from aptdaemon into our code to have more control over its presentation (i.e. stuff the widgets inside of our own main window; split UpdateManager into a central point of control and put old widgets into UpdatesAvailable class
added:
  UpdateManager/InstallProgress.py
  UpdateManager/UpdateManager.py
  data/gtkbuilder/UpdateProgress.ui
renamed:
  UpdateManager/UpdateManager.py => UpdateManager/UpdatesAvailable.py
modified:
  UpdateManager/UpdateProgress.py
  UpdateManager/backend/InstallBackendAptdaemon.py
  UpdateManager/backend/__init__.py
  data/gtkbuilder/UpdateManager.ui
  update-manager
  UpdateManager/UpdatesAvailable.py

Barry Warsaw (barry) wrote :

Please note that if this API is fixed, apturl at least will also need to be fixed.

Changed in update-manager (Ubuntu):
importance: Undecided → Medium
Brian Murray (brian-murray) wrote :

I checked my local cache of python tracebacks and couldn't find any if with a traceback like the one in bug 1020980.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers