Changes between Version 110 and Version 111 of firefox


Ignore:
Timestamp:
01/11/2022 05:19:00 PM (2 years ago)
Author:
ken@…
Comment:

Remove redundant information about firefox78, latest is now 96.0.

Legend:

Unmodified
Added
Removed
Modified
  • firefox

    v110 v111  
    2323'''You should always use the latest release, either the latest esr or the latest mainline version (or the latest beta for bleeding edge)'''. And you should remember to update your ca-certificates when building a new version of firefox.
    2424
    25 == Dependencies for 78-ESR series ==
    26 
    27 This information will be removed when legacy firefox-78 is removed from the books.
    28 
    29 Although the book is tested with its latest versions of the dependencies ''' it should be possible to use older versions of some packages''':
    30 
    31 cbindgen >= 0.14.1 should work
    32 
    33 icu needs to be >= 67.1
    34 
    35 libwebp >= 1.1.0 should work
    36 
    37 node.js needs to be at least v10.19.0. The latest node-v10 is v10.23.1. On BLFS-9.0 and 8.4, v10 built using
    38 {{{
    39 export CC=clang CXX=clang++ CFLAGS="$CFLAGS -std=c11" CXXFLAGS="$CXXFLAGS -std=c++14"
    40 }}}
    41 
    42 nss needs to be at least 3.53.1 with its corresponding version of nspr, but there have been various fixes since then, the latest version of nss continues to be recommended.
    43 
    44 The minimum rustc version remains at 1.41.0, which was buggy. But you should upgrade rust to rustc-1.52.0 to fix various vulnerabilities and versions less than 1.52.0 will no longer be used for testing. If your version of llvm is less than 9.1, build rustc using its shipped llvm (see [http://wiki.linuxfromscratch.org/blfs/wiki/rust]).
    45 
    4625== Changes to the build since 78.0 ==
    4726
    48 In firefox-81.0, creating the python virtual environments has been separated out. Trying to run ./mach build reports
     27In firefox-81.0, creating the python virtual environments was separated out. Trying to run ./mach build reported
    4928{{{
    5029Consider running 'mach bootstrap' or 'mach create-mach-environment' to create the mach virtualenvs, or set MACH_USE_SYSTEM_PYTHON to use the system Python installation over a virtualenv.
    5130}}}
    5231
    53 Trying ./mach bootstrap fails:
     32Trying ./mach bootstrap failed:
    5433{{{
    5534NotImplementedError: Bootstrap support for this Linux distro not yet available: lfs
    5635}}}
    5736
    58 I did not want to try the system python option because that looks as if it will use pip to download required packages and perhaps try to install them on the system.
     37I was reluctant to try the system python option because that looked as if it would use pip to download required packages and perhaps try to install them on the system.
    5938
    60 Using './mach create-mach-environment' before running other mach commands (but after the exports) works.
     39Using './mach create-mach-environment' before running other mach commands (but after the exports) worked.
    6140
    6241Later, somebody reported that this prevents offline builds. The better solution is
     
    9170cbindgen needs to be >= 0.19.0
    9271
    93 icu needs to be 69.1
     72icu needs to be >= 69.1
    9473
    9574The node.js version now tests for v10.23.1, but node v10 is no longer maintained. Tested with the latest version of node.js in the book.
     
    9776nspr needs to be >= 4.32.0
    9877
    99 nss needs to be >= 3.68 (tested with 3.69.0)
     78nss needs to be >= 3.68
    10079
    10180rustc needs to be >= 1.47 but you should use 1.52.0 to fix possible vulnerabilities.
     
    10685This is an attempt to help people who want to keep using the latest upstream release, and will be updated from time to time. It is also a store for any changes which will need to be addressed when the book moves to the next ESR version.
    10786
    108 == Dependencies for 95.0 series (latest upstream stable) ==
     87== Dependencies for 96.0 series (latest upstream stable) ==
     88
     89icu should nowbe >= 70.1
    10990
    11091libwebp should now be >= 1.2.1
    11192
    112 nss now needs to be >= 3.72.0
     93nss now needs to be >= 3.73.1
    11394
    11495rustc now needs to be >= 1.53.0, tested with 1.55.0.
     
    11697other minimum versions unchanged
    11798
    118 However, the build system wants to use "wasi-sysroot" to sandbox  some of the shipped libraries (by converting to wasm and then back to sandboxed C). That will require, amongst other things, llvm built for WebAssembly (that is default, but BLFS does not enable it), wasi-libc [https://github.com/WebAssembly/wasi-libc], some other supporting packages, and using clang instead of gcc. If you want to do that, look at what Arch is doing.
     99== Sandboxing ==
     100From firefox-95 on, the build system wants to use "wasi-sysroot" to sandbox  some of the shipped libraries (by converting to wasm and then back to sandboxed C). That will require, amongst other things, llvm built for WebAssembly (that is default, but BLFS does not enable it), wasi-libc [https://github.com/WebAssembly/wasi-libc], some other supporting packages, and using clang instead of gcc. If you want to do that, look at what Arch is doing.
    119101
    120102For the moment, g++ can be used if you pass --without-wasm-sandboxed-libraries.
    121103
    122 == Dependencies for 96.0beta ==
     104== Dependencies for 97.0beta ==
    123105
    124 icu now needs to be >= 70.1
    125 
    126 nss needs to be >= 3.73.1.
     106To Be Advised
    127107
    128108The early betas for 92.0 and 93.0 needed static libstdc++.a to link logalloc-replay (that specifies -static-libstdc++). In later betas that was not compiled. While using a static system lib (outside of rust) is annoying, the expected lifetime of a firefox beta is short and this requirement can be remembered if a vulnerability in libstdc++ is ever disclosed. I assume this requirement will continue for early betas.