Skip to content
This repository was archived by the owner on Jun 22, 2024. It is now read-only.

Commit 82b88b3

Browse files
committed
Update to also support arm64 architecture (except edge and chrome)
1 parent 47c5257 commit 82b88b3

File tree

3 files changed

+41
-17
lines changed

3 files changed

+41
-17
lines changed

Base/Dockerfile

+8-4
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@ USER root
1818
#================================================
1919
# Customize sources for apt-get
2020
#================================================
21-
RUN echo "deb http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \
22-
&& echo "deb http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \
23-
&& echo "deb http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list
21+
RUN echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy main universe\n" > /etc/apt/sources.list \
22+
&& echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy main universe\n" >> /etc/apt/sources.list \
23+
&& echo "deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy-updates main universe\n" >> /etc/apt/sources.list \
24+
&& echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main universe\n" >> /etc/apt/sources.list \
25+
&& echo "deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu jammy-security main universe\n" >> /etc/apt/sources.list \
26+
&& echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main universe\n" >> /etc/apt/sources.list
2427

2528
# No interactive frontend during docker build
2629
ENV DEBIAN_FRONTEND=noninteractive \
@@ -47,7 +50,8 @@ RUN apt-get -qqy update \
4750
gnupg2 \
4851
libnss3-tools \
4952
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
50-
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-amd64/conf/security/java.security
53+
&& ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
54+
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom\.source=file:\/dev\/urandom/' ./usr/lib/jvm/java-11-openjdk-${ARCH}/conf/security/java.security
5155

5256
#===================
5357
# Timezone settings

Makefile

+18
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,20 @@ all: hub \
3636
video
3737

3838

39+
all_arm: hub \
40+
distributor \
41+
router \
42+
sessions \
43+
sessionqueue \
44+
event_bus \
45+
firefox \
46+
chromium \
47+
docker \
48+
standalone_firefox \
49+
standalone_chromium \
50+
standalone_docker \
51+
video
52+
3953
build: all
4054

4155
ci: build test
@@ -350,6 +364,10 @@ test: test_chrome \
350364
test_chromium \
351365
test_chromium_standalone
352366

367+
test_arm: test_chromium \
368+
test_firefox \
369+
test_chromium_standalone \
370+
test_firefox_standalone
353371

354372
test_chrome:
355373
VERSION=$(TAG_VERSION) NAMESPACE=$(NAMESPACE) ./tests/bootstrap.sh NodeChrome

NodeFirefox/Dockerfile

+15-13
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,29 @@ USER root
88

99
#=========
1010
# Firefox
11+
# Available versions at https://launchpad.net/~mozillateam/+archive/ubuntu/ppa
1112
#=========
12-
ARG FIREFOX_VERSION=latest
13-
RUN FIREFOX_DOWNLOAD_URL=$(if [ $FIREFOX_VERSION = "latest" ] || [ $FIREFOX_VERSION = "beta-latest" ] || [ $FIREFOX_VERSION = "nightly-latest" ] || [ $FIREFOX_VERSION = "devedition-latest" ] || [ $FIREFOX_VERSION = "esr-latest" ]; then echo "https://download.mozilla.org/?product=firefox-$FIREFOX_VERSION-ssl&os=linux64&lang=en-US"; else echo "https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2"; fi) \
14-
&& apt-get update -qqy \
15-
&& apt-get -qqy --no-install-recommends install libavcodec-extra \
16-
libgtk-3-dev libdbus-glib-1-dev \
17-
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
18-
&& wget --no-verbose -O /tmp/firefox.tar.bz2 $FIREFOX_DOWNLOAD_URL \
19-
&& rm -rf /opt/firefox \
20-
&& tar -C /opt -xjf /tmp/firefox.tar.bz2 \
21-
&& rm /tmp/firefox.tar.bz2 \
22-
&& mv /opt/firefox /opt/firefox-$FIREFOX_VERSION \
23-
&& ln -fs /opt/firefox-$FIREFOX_VERSION/firefox /usr/bin/firefox
13+
ARG FIREFOX_VERSION=121.0+build1-0ubuntu0.22.04.1~mt1
14+
RUN apt-get -qqy update \
15+
&& apt-get -qqy --no-install-recommends install libavcodec-extra software-properties-common \
16+
&& add-apt-repository ppa:mozillateam/ppa \
17+
&& apt-get -qqy update \
18+
&& apt-get -qqy --no-install-recommends install -t 'o=LP-PPA-mozillateam' firefox=${FIREFOX_VERSION} \
19+
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
2420

2521
#============
2622
# GeckoDriver
2723
#============
2824
ARG GECKODRIVER_VERSION=latest
2925
RUN GK_VERSION=$(if [ ${GECKODRIVER_VERSION:-latest} = "latest" ]; then echo "0.33.0"; else echo $GECKODRIVER_VERSION; fi) \
3026
&& echo "Using GeckoDriver version: "$GK_VERSION \
31-
&& wget --no-verbose -O /tmp/geckodriver.tar.gz https://github.com/mozilla/geckodriver/releases/download/v$GK_VERSION/geckodriver-v$GK_VERSION-linux64.tar.gz \
27+
&& ARCH=$(arch | sed s/aarch64/arm64/ | sed s/x86_64/amd64/) \
28+
&& if [ "$ARCH" = "arm64" ]; then \
29+
GK_DOWNLOAD_URL="https://github.com/mozilla/geckodriver/releases/download/v$GK_VERSION/geckodriver-v$GK_VERSION-linux-aarch64.tar.gz" ; \
30+
else \
31+
GK_DOWNLOAD_URL="https://github.com/mozilla/geckodriver/releases/download/v$GK_VERSION/geckodriver-v$GK_VERSION-linux64.tar.gz" ; \
32+
fi \
33+
&& wget --no-verbose -O /tmp/geckodriver.tar.gz $GK_DOWNLOAD_URL \
3234
&& rm -rf /opt/geckodriver \
3335
&& tar -C /opt -zxf /tmp/geckodriver.tar.gz \
3436
&& rm /tmp/geckodriver.tar.gz \

0 commit comments

Comments
 (0)