seleniumhq-community / docker-seleniarm

Multi-Arch (arm64/armhf/amd64) Docker images for the Selenium Grid Server
https://hub.docker.com/u/seleniarm
Other
249 stars 26 forks source link

Merge upstream - Fix build #53

Closed fhoeben closed 8 months ago

fhoeben commented 9 months ago

Additional changes to fix build (at least on my Mac) I could not get the pinned version number to work for Firefox, installing the version just kept throwing errors. Instead I install the generic image from Firefox directly. Alternatively we could switch to the 'ESR' Firefox release which is maintained by Debian, but that always runs quite a bit behind. I also found that the current setup does not use the latest Debian version (bookworm/12). I will create a separate PR to address that, which also makes installing a (not fixed version, but more recent) version of Firefox easier

Thanks for contributing to the Docker-Selenium project! A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines, applied for this repository. Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

Motivation and Context

Types of changes

Checklist

fhoeben commented 9 months ago

ARM test is failing because the latest version, which I used, is Firefox 120.0 and it expects 119.0

But so far I have not been able to determine where the expected version is set up

fhoeben commented 9 months ago

@diemol is this something you could help with?

fhoeben commented 9 months ago

My local test with the firefox image seemed to work. Not sure whether the problem is in the test or with the image.

jamesmortensen commented 9 months ago

@fhoeben

I get the latest version that is available on all 3 platforms to increase transparency for what is contained in each Docker image for each of the 3 architectures. I pull them from Debian Snapshots. For example, below you'll find Firefox 120.0.1-1 for all 3 platforms (just find on page for arm and you'll see them):

https://snapshot.debian.org/archive/debian/20231208T150859Z/pool/main/f/firefox/

For Firefox 119.0-1, we can go back to earlier snapshots:

https://snapshot.debian.org/archive/debian/20231115T210620Z/pool/main/f/firefox/

Search for "arm" or "amd" to find the 3 packages.

There may be a better way to do this, but there have been times the latest firefox is not stable enough, so using snapshots allows us to target specific versions that do work well on all 3 architectures.

You can see the timestamp on or around line 27 in NodeFirefox/Dockerfile.multi-arch. The package is retrieved via wget.

I'll continue to try to answer any more questions you have the best I can. Please reach out if you need anything else. Thanks for contributing.

fhoeben commented 9 months ago

@jamesmortensen thanks for reacting so quickly. I found I could not get a working working image build using the snapshot/time images, I started with that.

First (when using sid) there was mention of duplicate sources for packages and then a message for the systemd installer about unmerged users, switching to bullseye, or not running deb, gave messages about incorrect package versions being installed. I'm not a debian (or firefox) user and it all made no sense to me.

So I googled on how to get a working Firefox on Debian bullseye and that gave me this, what actually worked. I would have much preferred to have a fixed version, but didn't see how to do it.

fhoeben commented 9 months ago

The error I get just trying to use the container's source list:

13.85 2023-12-09 16:32:52 (6.36 MB/s) - 'firefox.deb' saved [58895384/58895384]
13.85 
13.85 
13.85 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
13.85 
13.86 Reading package lists...
14.15 Building dependency tree...
14.22 Reading state information...
14.26 Some packages could not be installed. This may mean that you have
14.26 requested an impossible situation or if you are using the unstable
14.26 distribution that some required packages have not yet been created
14.26 or been moved out of Incoming.
14.26 The following information may help to resolve the situation:
14.26 
14.26 The following packages have unmet dependencies:
14.30  firefox : Depends: libc6 (>= 2.36) but 2.31-13+deb11u7 is to be installed
14.30            Depends: libffi8 (>= 3.4) but it is not installable
14.30            Depends: libnspr4 (>= 2:4.32~) but 2:4.29-1 is to be installed
14.30            Depends: libnss3 (>= 2:3.94~) but 2:3.61-1+deb11u3 is to be installed
14.30            Depends: libstdc++6 (>= 13.1) but 10.2.1-6 is to be installed
14.30            Depends: libvpx8 (>= 1.12.0) but it is not installable
14.30            Depends: libx11-xcb1 (>= 2:1.8.7) but 2:1.7.2-1+deb11u2 is to be installed
14.30 E: Unable to correct problems, you have held broken packages.