Don't override Debian's system-wide Thunderbird configuration
config/chroot_local-includes/etc/thunderbird/pref/thunderbird.js we overwrite any pref changes made for the Debian package. I noticed this when working on
Bug #15942 and Bug #15959 — the needed setting for
intl.locale.requested was overwritten by us. While I’ve fixed that one there’s at least one more interesting setting:
We should sync our config, and possibly consider using a patch instead so upstream changes are not silently lost like this.
|Blocks Tails - Feature #16209: Core work: Foundations Team||Confirmed|
#2 Updated by intrigeri 2018-10-04 20:33:36
- Subject changed from Sync with Debian's system-wide Thunderbird configuration to Don't override Debian's system-wide Thunderbird configuration
- Assignee set to CyrilBrulebois
- Target version set to Tails_3.12
I think a patch is the way to go, or even better, iff. the second definition overrides the first one when a pref is set twice in the same file, I would maintain a
config/chroot_local-includes/usr/share/tails/thunderbird.js file and append it to the one installed by the Debian package at ISO build time.
IMO this can wait until December and 3.12 so no hurry, please focus on your 3.10 and Oct-Dec FT tasks first.
#8 Updated by hefee 2019-02-08 15:12:52
Can’t we have a /etc/thunderbird/pref/zz_tails.js or aa_tails.js, for not neet need to have patches for the thunderbird.js?
The comment inside /etc/thunderbird/pref/thunderbird.js are pointing that this should be possible:
<code class="js"> // This is the Debian specific preferences file for Mozilla Thunderbird // You can make any change in here, it is the purpose of this file. // You can, with this file and all files present in the directory // // /etc/thunderbird/pref directory // // override any preference that is present in the directory // // /usr/lib/thunderbird/defaults/pref // // While your changes will be kept on upgrade if you modify files in // /etc/thunderbird/pref, please note that they won't be kept if you // do them in /usr/lib/thunderbird/defaults/pref. </code>
For extensions you need to place those configuration in f.ex:
otherwise you can’t overwrite configs from
This at least looks for me the cleanest way to do, as we don’t need to apply patches and Debian/Tails part is clearly separated etc.
#10 Updated by CyrilBrulebois 2019-03-17 15:26:39
- Assignee changed from CyrilBrulebois to intrigeri
Hey @intrigeri, this bug was punted already and I don’t want to rush anything here; I’d rather concentrate on testing 60.5.1 instead. Any objections to postponing this ticket to 3.14? Sorry for the late notice; wasn’t expecting to be so busy with Thunderbird itself. :/
#11 Updated by CyrilBrulebois 2019-03-17 15:39:45
FTAOD, current layout looks like this:
$ dpkg --contents thunderbird_60.5.1-1~deb9u1.0tails1_amd64.deb | grep pref drwxr-xr-x root/root 0 2019-03-17 15:05 ./etc/thunderbird/pref/ -rw-r--r-- root/root 1759 2018-10-11 03:29 ./etc/thunderbird/pref/thunderbird.js drwxr-xr-x root/root 0 2019-03-17 15:05 ./usr/share/thunderbird/defaults/pref/ -rw-r--r-- root/root 245 2019-03-17 15:05 ./usr/share/thunderbird/defaults/pref/channel-prefs.js -rw-r--r-- root/root 73 2018-08-16 17:03 ./usr/share/thunderbird/defaults/pref/vendor.js lrwxrwxrwx root/root 0 2019-03-17 15:05 ./usr/share/thunderbird/defaults/syspref -> /etc/thunderbird/pref
#19 Updated by johanbluecreek 2020-01-27 13:27:04
- Status changed from Confirmed to In Progress
- Feature Branch set to https://gitlab.com/johanbluecreek/tails.git:bugfix/16021-avoid-overwriting-debian-thunderbird-config
This branch contains a fix where, as suggested by @hefee, the thunderbird.js is renamed aa_tails.js, which will be parsed by thunderbird after Debian’s thunderbird.js. I have made sure this works by building the branch, verifying that aa_tails.js is present and all preferences set in that file are set to their correct value in about:config in thunderbird (verified by-eye).
I also noticed that there were some preferences in (the file now called) aa_tails.js that were repeated, and those repetitions has been removed. I have verified that those preferences (mail.shell.checkDefaultMail and toolkit.telemetry.enabled) are still set to their desired values (both false) in about:config after the removal of the repeating lines.
The branch builds locally for me.
#20 Updated by anonym 2020-01-29 09:22:33
- % Done changed from 0 to 30
- Feature Branch changed from https://gitlab.com/johanbluecreek/tails.git:bugfix/16021-avoid-overwriting-debian-thunderbird-config to bugfix/16021-avoid-overwriting-debian-thunderbird-config
Cheers! I pushed your branch to our infra so it will be tested.
#23 Updated by hefee 2020-02-03 14:25:43
- Status changed from Needs Validation to In Progress
- Assignee changed from hefee to segfault
Thanks for all the testing of this approach.
Some things need to be done in oder to merge it:
- Replace the header of the aa_tails.js, that tells that this is a Tails specific config file and not a Debian one.
- Remove paragraph around `pref(“intl.locale.requested”, “”);` as this is Debian default and Tails won’t to intercept here
- Remove `pref(“network.protocol-handler.app.http”, “x-www-browser”);` and `pref(“network.protocol-handler.app.https”, “x-www-browser”);` both are Debian defaults too
- Add an explanaiation for `pref(“extensions.update.enabled”, false);` as Tails don’t what to extensions to be updated, as this would introduce a source for manipulation.
I’m unsure, if we should also remove
// Disable default mail checking (gnome).
// Disable default mail client check
as those are default on Debian, too and I’m not sure, if Tails needs those to be set explicitly.
@segfault: what do you thunk, should remove these to from our tails settings file?
#24 Updated by segfault 2020-02-09 18:55:46
- Assignee changed from segfault to johanbluecreek
@johanbluecreek: Thanks for working on this!
> I’m unsure, if we should also remove
> // Disable default mail checking (gnome).
> pref(“mail.shell.checkDefaultMail”, false);
> // Disable default mail client check
> pref(“mail.shell.checkDefaultClient”, false);
> as those are default on Debian, too and I’m not sure, if Tails needs those to be set explicitly.
> @segfault: what do you thunk, should remove these to from our tails settings file?
I don’t have a strong opinion, but I’m leaning towards keeping it, because IMO we don’t want those checks even in the unlikely case that Debian will change its default behavior.
Not sure who I should assign this to. @johanbluecreek, do you want to address hefee’s other remarks?
#26 Updated by johanbluecreek 2020-03-18 09:47:47
- Status changed from In Progress to Needs Validation
- Feature Branch changed from bugfix/16021-avoid-overwriting-debian-thunderbird-config to https://gitlab.com/johanbluecreek/tails.git:bugfix/16021-avoid-overwriting-debian-thunderbird-config
> Some things need to be done in oder to merge it:
> * Replace the header of the aa_tails.js, that tells that this is a Tails specific config file and not a Debian one.
aa_tails.js now has a header indicating it contains Tails’ preferences
> * Remove paragraph around `pref(“intl.locale.requested”, “”);` as this is Debian default and Tails won’t to intercept here
> * Remove `pref(“network.protocol-handler.app.http”, “x-www-browser”);` and `pref(“network.protocol-handler.app.https”, “x-www-browser”);` both are Debian defaults too
Removed as well
> * Add an explanaiation for `pref(“extensions.update.enabled”, false);` as Tails don’t what to extensions to be updated, as this would introduce a source for manipulation.
Added an explanation here.
I also built the branch locally (after a rebase) and verified again that the appropriate preferences were set.