Firefox
https://github.com/mozilla/gecko-dev
bootstrap.py
jj5@jj-dev:~$ uname -m x86_64
jj5@jj-dev:~$ python --version Python 2.7.17
jj5@jj-dev:~$ python3 --version Python 3.6.9
jj5@jj-dev:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 394M 1.1M 393M 1% /run /dev/sda1 98G 16G 78G 18% / tmpfs 2.0G 177M 1.8G 9% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 394M 12K 394M 1% /run/user/1000
jj5@jj-dev:~$ mkdir /var/export/jj-dev/src jj5@jj-dev:~$ ln -s /var/export/jj-dev/src . jj5@jj-dev:~$ cd src
jj5@jj-dev:~/src$ vim get-bootstrap.py.sh jj5@jj-dev:~/src$ chmod +x get-bootstrap.py.sh jj5@jj-dev:~/src$ ./get-bootstrap.py.sh --2020-01-20 06:15:58-- https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py Resolving hg.mozilla.org (hg.mozilla.org)... 63.245.208.203 Connecting to hg.mozilla.org (hg.mozilla.org)|63.245.208.203|:443... connected. HTTP request sent, awaiting response... 200 Script output follows Length: 7064 (6.9K) [text/x-python] Saving to: 'bootstrap.py’ bootstrap.py 100%[=========================>] 6.90K --.-KB/s in 0s 2020-01-20 06:16:00 (45.5 MB/s) - 'bootstrap.py’ saved [7064/7064]
jj5@jj-dev:~/src$ ll total 20K drwxrwxr-x 2 jj5 jj5 4.0K Jan 20 06:16 ./ drwxr-xr-x 6 jj5 jj5 4.0K Jan 20 06:14 ../ -rw-rw-r-- 1 jj5 jj5 6.9K Jan 20 06:16 bootstrap.py -rwxrwxr-x 1 jj5 jj5 107 Jan 20 06:15 get-bootstrap.py.sh*
jj5@jj-dev:~/src$ chmod +x bootstrap.py jj5@jj-dev:~/src$ ./bootstrap.py Note on Artifact Mode: Artifact builds download prebuilt C++ components rather than building them locally. Artifact builds are faster! Artifact builds are recommended for people working on Firefox or Firefox for Android frontends, or the GeckoView Java API. They are unsuitable for those working on C++ code. For more information see: https://developer.mozilla.org/en-US/docs/Artifact_builds. Please choose the version of Firefox you want to build: 1. Firefox for Desktop Artifact Mode 2. Firefox for Desktop 3. GeckoView/Firefox for Android Artifact Mode 4. GeckoView/Firefox for Android Your choice: 2 Executing as root: sudo apt-get install autoconf2.13 build-essential nodejs python-dev python-pip python-setuptools unzip uuid zip Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.4ubuntu1). unzip is already the newest version (6.0-21ubuntu1). zip is already the newest version (3.0-11build1). nodejs is already the newest version (8.10.0~dfsg-2ubuntu0.4). The following additional packages will be installed: libexpat1-dev libossp-uuid16 libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-idna python-ipaddress python-keyring python-keyrings.alt python-pip-whl python-secretstorage python-wheel python-xdg python2.7-dev Suggested packages: gnu-standards python-crypto-doc python-cryptography-doc python-cryptography-vectors gir1.2-gnomekeyring-1.0 python-fs python-gdata python-keyczar python-secretstorage-doc python-setuptools-doc The following NEW packages will be installed: autoconf2.13 libexpat1-dev libossp-uuid16 libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dev python-idna python-ipaddress python-keyring python-keyrings.alt python-pip python-pip-whl python-secretstorage python-setuptools python-wheel python-xdg python2.7-dev uuid 0 to upgrade, 25 to newly install, 0 to remove and 0 not to upgrade. Need to get 31.8 MB of archives. After this operation, 52.9 MB of additional disk space will be used. Do you want to continue? [Y/n]
...
Executing as root: sudo apt-get install libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libgtk-3-dev libgtk2.0-dev libpulse-dev libx11-xcb-dev libxt-dev python-dbus xvfb yasm Reading package lists... Done Building dependency tree Reading state information... Done libxt-dev is already the newest version (1:1.1.5-1). libxt-dev set to manually installed. python-dbus is already the newest version (1.2.6-1). The following additional packages will be installed: gir1.2-gtk-2.0 libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libdrm-dev libegl1-mesa-dev libepoxy-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgles1 libglvnd-core-dev libglvnd-dev libopengl0 libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libwayland-bin libwayland-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxshmfence-dev libxtst-dev libxxf86vm-dev mesa-common-dev wayland-protocols x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev Suggested packages: libasound2-doc libcairo2-doc libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgtk-3-doc libgtk2.0-doc libpango1.0-doc libwayland-doc libxext-doc The following NEW packages will be installed: gir1.2-gtk-2.0 libasound2-dev libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libegl1-mesa-dev libepoxy-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgles1 libglvnd-core-dev libglvnd-dev libgtk-3-dev libgtk2.0-dev libopengl0 libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libpulse-dev libwayland-bin libwayland-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxshmfence-dev libxtst-dev libxxf86vm-dev mesa-common-dev wayland-protocols x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xvfb yasm 0 to upgrade, 67 to newly install, 0 to remove and 0 not to upgrade. Need to get 12.4 MB of archives. After this operation, 69.9 MB of additional disk space will be used. Do you want to continue? [Y/n]
...
You do not have Mercurial installed Mercurial releases a new version every 3 months and your distro's package may become out of date. This may cause incompatibility with some Mercurial extensions that rely on new Mercurial features. As a result, you may not have an optimal version control experience. To have the best Mercurial experience possible, we recommend installing Mercurial via the "pip" Python packaging utility. This will likely result in files being placed in /usr/local/bin and /usr/local/lib. How would you like to continue? 1. Install a modern Mercurial via pip (recommended) 2. Install a legacy Mercurial via apt 3. Do not install Mercurial Your choice: 1