Package: firefoxdriver Version: 3.14.1-1 Severity: grave Justification: unusable by everyone
This is what happens when you try to use firefoxdriver in the most obvious way from python on buster: | $ dpkg -l python3-selenium | ... | ii python3-selenium 3.14.1+dfsg1-1 all Python3 bindings for Selenium | $ python3 | Python 3.7.3 (default, Apr 3 2019, 05:39:12) | [GCC 8.3.0] on linux | Type "help", "copyright", "credits" or "license" for more information. | >>> import selenium.webdriver | >>> selenium.webdriver.Firefox() | Traceback (most recent call last): | File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 76, in start | stdin=PIPE) | File "/usr/lib/python3.7/subprocess.py", line 775, in __init__ | restore_signals, start_new_session) | File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child | raise child_exception_type(errno_num, err_msg, err_filename) | FileNotFoundError: [Errno 2] No such file or directory: 'geckodriver': 'geckodriver' | | During handling of the above exception, another exception occurred: | | Traceback (most recent call last): | File "<stdin>", line 1, in <module> | File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/webdriver.py", line 164, in __init__ | self.service.start() | File "/usr/lib/python3/dist-packages/selenium/webdriver/common/service.py", line 83, in start | os.path.basename(self.path), self.start_error_message) | selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. | | >>> A little research reveals that this problem already has surfaced elsewhere e.g. at https://askubuntu.com/questions/1104721/sudo-apt-install-firefoxdriver-does-what. A more detailed answer at https://stackoverflow.com/questions/43272919/difference-between-webdriver-firefox-marionette-webdriver-gecko-driver/43920453 indicates that the extenstion-powered method employed by firefoxdriver only works until firefox 47. Later versions need "marionette" which usually manifestst as "geckodriver" which is missing from the firefoxdriver package. Given that even old-old-stable has firefox 52 already, I think we can safely conclude that the present firefoxdriver is broken for everyone. For unstable, I guess geckodriver needs to be packaged. For buster it may be best to simply remove the package in a point release. Also an autopkgtest would be a very good addition for this package to catch similar issues earlier. Helmut