#989456 RFP: geckodriver - Proxy for using W3C WebDriver compatible clients to interact with Gecko-based browsers #989456
* Package name : geckodriver Version : 0.29.1 * URL : https://github.com/mozilla/geckodriver * License : MPLv2 Programming Lang: Rust Description : Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers. Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers. . This program provides the HTTP API described by the WebDriver protocol to communicate with Gecko browsers, such as Firefox. It translates calls into the Firefox remote protocol by acting as a proxy between the local and remote ends. geckodriver is used for automation of the Firefox web browser. It is required by packages that test web applications by simulating user interactions, e.g. python3-selenium.
Control: block 989456 by 874207 989455 ... Since geckodriver is part of the Firefox source code, it would be better to build it from the firefox and firefox-esr source packages, and there are already two bugs about including geckodriver this way: https://bugs.debian.org/874207 https://bugs.debian.org/989455
Control: unblock 989456 by 874207 989455 The Firefox maintainer said on these two bugs that it should instead be packaged separately, since it is available on crates.io now: Here are the pages about the crate (second one needs no JS): https://crates.io/crates/geckodriver https://lib.rs/crates/geckodriver Here is a link to the upstream git repository: https://hg.mozilla.org/mozilla-central/file/tip/testing/geckodriver Here is an example of how to package Rust programs: https://blog.hackeriet.no/packaging-a-rust-project-for-debian/
A quick cargo debstatus shows that is is missing seven crates atm. This isn't that much in the rust world. If someone wants to package it, please coordinate with the debian rust team. cheers werdahias
A slower cargo-debstatus scan shows these mandatory deps: - marionette - mozdevice - mozprofile - mozrunner - mozversion - webdriver geckodriver and webdriver both depend on icu_segmenter, which pulls in the icu4x family. However, it's only used to (1) truncate log messages in geckodriver, (2) check if a key action contains only 1 grapheme cluster. Thus, it seems possible to patch out. Other than that, it's mostly a matter of relaxing patches and NEW trips.