Bug 1771769 - Review Request: selenium-geckodriver - Geckodriver for for Selenium
Summary: Review Request: selenium-geckodriver - Geckodriver for for Selenium
Keywords:
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Luya Tshimbalanga
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-12 22:57 UTC by Thomas Andrejak
Modified: 2021-10-09 15:33 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-03-09 09:42:48 UTC
Type: ---
Embargoed:
luya_tfz: fedora-review?


Attachments (Terms of Use)
geckodriver.spec generated from rust2rpm geckodriver 0.8.0 (2.03 KB, text/plain)
2019-11-24 08:32 UTC, Luya Tshimbalanga
no flags Details

Description Thomas Andrejak 2019-11-12 22:57:02 UTC
Spec URL: https://fedorapeople.org/~totol/selenium-geckodriver.spec
SRPM URL: https://fedorapeople.org/~totol/selenium-geckodriver-0.26.0-1.fc32.src.rpm
Description: The selenium package is used automate web browser interaction from Python. This package contains the geckodriver.
Fedora Account System Username: totol

Comment 1 Felix Schwarz 2019-11-17 21:33:32 UTC
Thomas: I don't think you can set "fedora-review+" yourself.

Also this package can not be approved as-is. You are packaging pre-built binaries. Please use the github source release and do all the building in your spec file. Please consult the packaging guide lines [1], your sponsor or fedora-devel if you need help.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/

Comment 2 Luya Tshimbalanga 2019-11-20 06:14:16 UTC
Please take: https://bugzilla.redhat.com/show_bug.cgi?id=1771173

Comment 3 Luya Tshimbalanga 2019-11-20 06:40:19 UTC
Rename selenium-geckodriver to simply geckodriver like the upstream.

Get the source package like
Source0: %{url}/archive/%{version}/geckodriver-%{version}.tar.gz

where URL: https://github.com/mozilla/geckodriver/releases

Use %autosetup which is the equivalent of %setup -q

Comment 4 Felix Schwarz 2019-11-20 08:51:36 UTC
Luya: The most important thing is that the current spec just ships a pre-built binary. The package as-is MUST NOT be approved! I think Thomas should focus on that first.

Also it might be non-trivial to package geckodriver which requires a few rust packages. But anyway: Build from source first before tackling  cosmetic issues.

Comment 5 Luya Tshimbalanga 2019-11-20 09:31:08 UTC
(In reply to Felix Schwarz from comment #4)
> Luya: The most important thing is that the current spec just ships a
> pre-built binary. The package as-is MUST NOT be approved! I think Thomas
> should focus on that first.

Comment #3 listed the source. 
As geckodriver is written a rust, a guideline to write the spec file exists on 
https://docs.fedoraproject.org/en-US/packaging-guidelines/Rust/

First step is to use rust2rpm script as a start like "rust2rpm geckodriver" which will ease the process.

Comment 6 Thomas Andrejak 2019-11-20 20:27:46 UTC
Thanks for all information, let me few days to propose a new package

Comment 7 Thomas Andrejak 2019-11-24 07:09:35 UTC
Hello

For information, I never did a rust package :)

Here is a new version for geckodriver :
SPEC : https://fedorapeople.org/~totol/geckodriver.spec
SRPM : https://fedorapeople.org/~totol/rust-geckodriver-0.26.0-1.fc32.src.rpm
Koji Build : https://koji.fedoraproject.org/koji/taskinfo?taskID=39266809

To do this, I had to integrate into Geckodriver sources the next dependencies :
cookie-rs
mozdevice
mozprofile
mozrunner
mozversion
podio
rust-plist
serde-repr
webdriver
winapi-rs
winreg-rs
zip-rs

Some of these dependencies are not on crates.io

What is the best strategy ? Do I have to package each dependencies to fedora ?

Thanks

Comment 8 Luya Tshimbalanga 2019-11-24 08:32:01 UTC
Created attachment 1639145 [details]
geckodriver.spec generated from rust2rpm geckodriver 0.8.0

Hello Thomas, 

It is also my first time packaging rust. Once following the step, the process is easy.

Here is a starter for the attached spec file generated with the following command:

rust2rpm geckodriver 0.8.0

 It turned out the last available source at crates.io was 0.8.0 before it was yanked. 

You can change the following lines 
URL:           https://github.com/mozilla/geckodriver
Source0:       %{url}/archive/%{crate}-%{version}.tar.gz

Legends
-------
%{crate} is from %global crate geckodriver
%{url} is the defined URL variable
%{version} is the defined Version i.e. 0.26.0


And yes, if there are missing dependency from the Fedora repository, you will need to package them.

Comment 9 Luya Tshimbalanga 2020-01-18 06:28:07 UTC
Any update for the change?

Comment 10 Thomas Andrejak 2020-01-19 21:42:27 UTC
Hello

I'm missing time to move forward on this but I will.

Regards

Thomas

Comment 11 Luya Tshimbalanga 2020-01-21 06:13:50 UTC
Thanks for the update.

Comment 12 Thomas Andrejak 2020-03-07 13:31:34 UTC
Finally, too many rust package to package. I stop

Regards

Comment 13 Luya Tshimbalanga 2020-03-09 09:42:48 UTC
Closing this report based on comment #12. Feel free to reopen should you decide to resubmit this package for review.


Note You need to log in before you can comment on or make changes to this bug.