Closed Bug 841226 Opened 11 years ago Closed 2 years ago

Regression: installing addons at least from the web (AMO) is now broken in mozprofile (ABICT)

Categories

(Testing :: Mozbase, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INACTIVE

People

(Reporter: k0scist, Unassigned)

Details

So this used to work:

(mozmill)│mozprofile -a
https://addons.mozilla.org/firefox/downloads/latest/1191/addon-1191-latest.xpi
/tmp/tmpS5RNrb.mozrunner
(mozmill)│ls /tmp/tmpS5RNrb.mozrunner
extensions  prefs.js  user.js
(mozmill)│ls /tmp/tmpS5RNrb.mozrunner/extensions/
staged
(mozmill)│ls /tmp/tmpS5RNrb.mozrunner/extensions/staged/
(mozmill)│

Now I get a staged directory with nothing in it :(  Not sure if this
was a platform change that we didn't keep up with, or the web factor,
or what.  Just noticed that it was broken.

So step one is figuring out what is broken and why.

Step two is fixing it ;) (Probably not *that* hard)

Step three is writing tests to ensure that this doesn't happen again.
Hi, I give that a try. There is another error now (on master, and mozprofile 0.23):

mozprofile -a https://addons.mozilla.org/firefox/downloads/latest/1191/addon-1191-latest.xpi
Traceback (most recent call last):
  File "/home/jp/dev/mozregression/venv/bin/mozprofile", line 9, in <module>
    load_entry_point('mozprofile==0.22', 'console_scripts', 'mozprofile')()
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/cli.py", line 112, in cli
    profile = cli.profile()
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/cli.py", line 87, in profile
    return self.profile_class(**kwargs)
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/profile.py", line 72, in __init__
    self._internal_init()
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/profile.py", line 101, in _internal_init
    self.addon_manager.install_addons(self._addons, self._addon_manifests)
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/addons.py", line 174, in install_addons
    self.install_from_path(addon)
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/addons.py", line 322, in install_from_path
    path = self.download(path)
  File "/home/jp/dev/mozregression/venv/lib/python2.7/site-packages/mozprofile-0.22-py2.7.egg/mozprofile/addons.py", line 114, in download
    raise AddonFormatError('Not a valid add-on: %s' % url)
mozprofile.addons.AddonFormatError: Not a valid add-on: https://addons.mozilla.org/firefox/downloads/latest/1191/addon-1191-latest.xpi

This is not web related, if I download the file and run "mozprofile -a addon-1191-latest.xpi", I see an error too:

mozprofile -a addon-1191-latest.xpi 
mozprofile.addons WARNING | Could not install addon-1191-latest.xpi: 'NoneType' object has no attribute 'childNodes'
/tmp/tmpjWB2Zl.mozrunner

First, I wonder if the addon is a valid one ? If it is, it appears that we are trying to use a description variables here that is None, and that should be fixed I suppose:

https://dxr.mozilla.org/mozilla-central/source/testing/mozbase/mozprofile/mozprofile/addons.py#293
If it turns out that the download-from-amo functionality is broken, I think this bug should just be morphed into "remove all code related to downloading addons". I'm not aware of it being used anywhere.

But I wouldn't be surprised if you find many other bugs along the way, the mozprofile addon code is in need of much love :).
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.