Draft: Bug 23656&40477: Reorganize mozconfig files
For #40917 (closed), we'd like to provide some mozconfig
s before the fork point.
This commits add two files:
-
browser/config/mozconfigs/base-browser
: a file with all the common build preferences (so, it doesn't contain the toolchains), and all the preferences to enhance security and privacy- ideally, this should be added at the beginning of the patch set;
-
browser/config/mozconfigs/tor-browser
: a file that adds Tor-related settings on top of the ones ofbase-browser
.
The rationale is removing redundancy in configurations files (see also tor-browser-build#40477 (closed)).
Every mozconfig-$ARCH
sources browser/config/mozconfigs/tor-browser
, and adds only a few not common settings.
In the -2 branch, I'd add them at the beginning of the patch set and source browser/config/mozconfigs/base-browser
instead.
Then, I'd make them source browser/config/mozconfigs/tor-browser
from the "TB3: ..." commit onward.
This commit also renames .mozconfig
to mozconfig-linux-x86_64-dev
.
This means that all the developers that make local, incremental builds will need to provide their own mozconfig
.
It could be a link to the new file, or one that includes it, or even a completely new file.
As an advantage, changes to that file will not interfere with rebases anymore. The disadvantage is that you may forget to remove temporary modifications.
(TBH, a similar achievement could be reached by setting every time the MOZCONFIG
environment variable, but I prefer the solution I'm proposing).
In addition to that, I have renamed the various .mozconfig-$ARCH
to mozconfig-$ARCH
.
Since they are quite important config files, I think it's better to keep them as normally visible file - as opposed to the various files used by VCS, linters, etc... - but this isn't a strong preference.
The build system is compatible with both .mozconfig
and mozconfig
files, is the initial dot a historical thing?
Finally, this commits is a starting point to address tor-browser-build#23656 (closed).
I didn't include settings for the toolchain. I think we could keep them in tor-browser-build, and inject them in the same way we do know, but to a mozconfig-toolchain
file.
I have added a check on the base-browser
file to load the mozconfig-toolchain
whenever it finds it.
An alternative, is adding them anyway to the mozconfig-$ARCH
file, except for mozconfig-linux-x86_64-dev
, since it's the only file we use to build outside tor-browser-build.