Changes between Version 110 and Version 111 of firefox
- Timestamp:
- 01/11/2022 05:19:00 PM (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
firefox
v110 v111 23 23 '''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. 24 24 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 work32 33 icu needs to be >= 67.134 35 libwebp >= 1.1.0 should work36 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 using38 {{{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 46 25 == Changes to the build since 78.0 == 47 26 48 In firefox-81.0, creating the python virtual environments has been separated out. Trying to run ./mach build reports27 In firefox-81.0, creating the python virtual environments was separated out. Trying to run ./mach build reported 49 28 {{{ 50 29 Consider 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. 51 30 }}} 52 31 53 Trying ./mach bootstrap fail s:32 Trying ./mach bootstrap failed: 54 33 {{{ 55 34 NotImplementedError: Bootstrap support for this Linux distro not yet available: lfs 56 35 }}} 57 36 58 I did not want to try the system python option because that looks as if it willuse pip to download required packages and perhaps try to install them on the system.37 I 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. 59 38 60 Using './mach create-mach-environment' before running other mach commands (but after the exports) work s.39 Using './mach create-mach-environment' before running other mach commands (but after the exports) worked. 61 40 62 41 Later, somebody reported that this prevents offline builds. The better solution is … … 91 70 cbindgen needs to be >= 0.19.0 92 71 93 icu needs to be 69.172 icu needs to be >= 69.1 94 73 95 74 The 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. … … 97 76 nspr needs to be >= 4.32.0 98 77 99 nss needs to be >= 3.68 (tested with 3.69.0)78 nss needs to be >= 3.68 100 79 101 80 rustc needs to be >= 1.47 but you should use 1.52.0 to fix possible vulnerabilities. … … 106 85 This 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. 107 86 108 == Dependencies for 95.0 series (latest upstream stable) == 87 == Dependencies for 96.0 series (latest upstream stable) == 88 89 icu should nowbe >= 70.1 109 90 110 91 libwebp should now be >= 1.2.1 111 92 112 nss now needs to be >= 3.7 2.093 nss now needs to be >= 3.73.1 113 94 114 95 rustc now needs to be >= 1.53.0, tested with 1.55.0. … … 116 97 other minimum versions unchanged 117 98 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 == 100 From 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. 119 101 120 102 For the moment, g++ can be used if you pass --without-wasm-sandboxed-libraries. 121 103 122 == Dependencies for 9 6.0beta ==104 == Dependencies for 97.0beta == 123 105 124 icu now needs to be >= 70.1 125 126 nss needs to be >= 3.73.1. 106 To Be Advised 127 107 128 108 The 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.