FS#46138 - [firefox] request for customization flexibility

Attached to Project: Arch Linux
Opened by Ganesh Ajjanagadde (gajjanag) - Saturday, 29 August 2015, 04:42 GMT
Last edited by Evangelos Foutras (foutrelis) - Wednesday, 23 September 2015, 16:01 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Jan de Groot (JGC)
Ionut Biru (wonder)
Evangelos Foutras (foutrelis)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

The Arch Linux firefox package does not come with a way to lock preferences.
A small change to the vendor.js will allow users to lock/customize preferences system-wide.

More concretely, there are use cases where one wishes to configure Firefox preferences prior to a first launch,
i.e before the creation of default profiles, etc.
In such cases, https://developer.mozilla.org/en-US/Firefox/Enterprise_deployment offers a method.
Essentially, by adding two extra lines at the top of the vendor.js file:
pref("general.config.filename", "mozilla.cfg");
pref("general.config.obscure_value", 0);

the usability of this package may be improved.
The above patch would allow users to customize settings in whatever way desired through the mozilla.cfg file.


This feature request affects the current firefox package.
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Wednesday, 23 September 2015, 16:01 GMT
Reason for closing:  Won't implement
Comment by Ganesh Ajjanagadde (gajjanag) - Saturday, 29 August 2015, 05:21 GMT
I found the method for doing this.
The accepted answer at:
http://superuser.com/questions/823530/change-some-default-settings-for-firefox-globally
gives the functionality I want (see the accepted answer).
I had trouble with this because I forgot the leading // in the mozilla.cfg file.

Nevertheless, this required me to create the local-settings.js stub file with the two lines.
I understand that the mozilla.cfg is the user's responsibility, but by adding this local-settings.js stub to the package the usability can be improved.

I am interested in hearing the stance about this, since the firefox package is already not "pure vanilla" in that the package ships with a vendor.js file with some settings. Thus, I see no reason why this local-settings.js can't be shipped with the package.



Comment by Evangelos Foutras (foutrelis) - Saturday, 29 August 2015, 17:48 GMT
I feel this change is useful only to a tiny group of people. Furthermore, no other major distro appears to do this.

For the above reasons I'm hesitant to implement it. People who do want this feature can do one of the following:

1) Create the two files themselves (settings file under /usr/lib/firefox/ and the pref file under browser/defaults/preferences/ within the former directory).
2) Build a customized firefox package with the relevant preferences (for use in larger deployments).
Comment by Ganesh Ajjanagadde (gajjanag) - Sunday, 30 August 2015, 15:43 GMT
I do not feel it is useful to just a tiny group of people.
Many technically oriented people are not happy with a lot of the defaults Firefox ships with these days,
see e.g the decision regarding Pocket integration (https://news.ycombinator.com/item?id=9667809).
Even from a purely technical standpoint, a large fraction of us twiddle around with about:config.
Firefox Sync is supposed to sync preferences, but it does so only to a select group of preferences.
This makes every first run of Firefox (before setting up profiles, so the user.js method does not work)
a pain in the neck, with many things to configure.
One can argue that it is fine to run the first time at Firefox's defaults, then use a user.js to set stuff up.
However, certain settings (like disabling disk cache to reduce wear on SSD's) are best done prior to first run.

You are right in that I can obviously work around this.
This is why I made the request priority low.
Note however that the same may be said of almost any Arch package: in principle one can always compile from source, and configure as one places.
My own view is that Arch should provide an environment that is simple and can be tinkered with easily.

This brings me to your second point, i.e the AUR package route.
This I would consider ok for small packages, but not something like Firefox.
For instance, very few users will agree on all these settings.
I would consider it as a waste of resources if all such users maintain separate PKGBUILD's.
I think it is far easier and nicer if you just ship the local-settings.js.
The cfg file is, to reiterate, the user's responsibility.

I think the best point raised above is the fact that no major distro does this.
However, I am not very familiar with other distros.
Maybe I am being naive here, but doesn't Arch already differ in pretty significant ways from other distros?
A trivial example: Debian does not even ship vanilla Firefox by default, but rebranded Iceweasel.
What are the consequences of doing something this trivial that other distros don't do?
Comment by Ganesh Ajjanagadde (gajjanag) - Wednesday, 16 September 2015, 19:50 GMT
From my end, the issue is resolved as I have added a wiki entry detailing the procedure:
https://wiki.archlinux.org/index.php?title=Firefox&action=history

Feel free to close this issue.

Loading...