Du har gett dig på ett rätt svårt projekt. Har aldrig kompilerat Firefox själv, men givet hur stor och komplext projektet är lär det inte vara helt supertrivialt att få igång på valfritt system.
Men Docker är Docker, så var ju trivialt att köra detta på min egen dator. Och mycket riktigt fallerar bootstrap.py, det har inget att göra med Ubuntu-version utan kommer av att skriptet förväntar sig att Firefox ska vara utcheckat vilket inte är fallet.
Finns säker bättre sätt att göra detta, men följande tweak kommer få igång dig
Här är min Dockerfile
FROM ubuntu:19.10
LABEL maintainer="Kenneth Jonsson"
ENV SHELL=/bin/bash
ENV PATH="/root/.cargo/bin:${PATH}"
RUN apt-get update && \
apt-get install -y wget python clang llvm
RUN wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/pytho... -O /tmp/bootstrap.py
RUN mkdir -p /usr/local/src/firefox
WORKDIR /usr/local/src/firefox
CMD ["./mach", "build"]
RUN python2.7 /tmp/bootstrap.py --application-choice=browser --no-interactive || true
RUN cargo install cbindgen
Notera fulhacket att lägga på || true för att ignorera felkod från bootstrap.py. Det är "OK" här då nästa rad bör fallera om nu det verkligen inte gick bra att köra bootstrap.py.
Bygg din Docker-image så här
$ docker build -t firefox-dev .
Checka sedan ut Firefox, låt oss anta att du checkar ut det i ~/firefox-src. Kör då detta
$ docker run -it --rm -v $HOME/firefox-src:/usr/local/src/firefox firefox-dev /bin/bash
Kör detta i din container
NU har du en miljö där det borde gå att bygga Firefox. Testade bara ett par minuter, antar att det tar en stund att bygga Firefox från source...