GNU bug report logs - #76616
[PATCH 0/2] gnu: librewolf: Allow installation of unsigned extensions.

Previous Next

Package: guix-patches;

Reported by: Mike Jones <mike <at> mjones.io>

Date: Thu, 27 Feb 2025 18:53:02 UTC

Severity: normal

Tags: patch

Done: Ian Eure <ian <at> retrospec.tv>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 76616 in the body.
You can then email your comments to 76616 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 18:53:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mike Jones <mike <at> mjones.io>:
New bug report received and forwarded. Copy sent to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org. (Thu, 27 Feb 2025 18:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: guix-patches <at> gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH 0/2] gnu: librewolf: Allow installation of unsigned extensions.
Date: Thu, 27 Feb 2025 18:51:01 +0000
The librewolf package does not allow extensions to be installed unless
they are signed by Mozilla's key. Even though there is an about:config
option "xpinstall.signatures.required", setting this to false still
doesn't allow it. It turns out that one needs to compile librewolf with
the option MOZ_REQUIRE_SIGNING= to permit this.

I hope you'll agree that forbidding users from running software on their
own machines is not in the spirit of free software. While there may be
security advantages to enforcing signing (if you trust Mozilla), it can
still be enabled with the aforementioned about:config option, even when
compiled using this new option.

For what it's worth, upstream librewolf sets this option in their
default mozconfig:

https://codeberg.org/librewolf/source/src/commit/9478c8a016460d883ee050f90a4c4410d210bb91/assets/mozconfig.new#L24

This series also includes a patch to fix some missing newlines which I
found while testing it.

Mike Jones (2):
  gnu: librewolf: Fix missing newlines when generating mozconfig.
  gnu: librewolf: Allow installation of unsigned extensions.

 gnu/packages/librewolf.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


base-commit: f1810c84f72090b02544ac41d0582c4785728ec4
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 18:55:02 GMT) Full text and rfc822 format available.

Message #8 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH 1/2] gnu: librewolf: Fix missing newlines when generating
 mozconfig.
Date: Thu, 27 Feb 2025 18:53:58 +0000
These were being concatenated on a single line together, probably
causing them to have no effect.

* gnu/packages/librewolf.scm (librewolf)[phases]: Add missing newlines
to last two entries in mozconfig.

Change-Id: I12e7e33d9c4f9269ea5b0b24d276289f6f47890a
---
 gnu/packages/librewolf.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 2a4bf3fada..03a6acc455 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -455,9 +455,9 @@ (define-public librewolf
                              (display "mk_add_options MOZ_CRASHREPORTER=0\n")
                              (display "mk_add_options MOZ_DATA_REPORTING=0\n")
                              (display
-                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0")
+                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
                              (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0")))
+                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 18:55:02 GMT) Full text and rfc822 format available.

Message #11 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH 2/2] gnu: librewolf: Allow installation of unsigned extensions.
Date: Thu, 27 Feb 2025 18:53:59 +0000
* gnu/packages/librewolf.scm (librewolf)[phases]: Set
MOZ_REQUIRE_SIGNING to empty in mozconfig.

Change-Id: I786b4e9817e915a4b8c2ce38db8087db0c23bfdf
---
 gnu/packages/librewolf.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 03a6acc455..3f5d838447 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -457,7 +457,8 @@ (define-public librewolf
                              (display
                               "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
                              (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
+                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")
+                             (display "MOZ_REQUIRE_SIGNING=\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 20:17:02 GMT) Full text and rfc822 format available.

Message #14 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v2 0/2] gnu: librewolf: Allow installation of unsigned
 extensions.
Date: Thu, 27 Feb 2025 20:13:53 +0000
Oops, I forgot the "export" before "MOZ_REQUIRE_SIGNING" in the original
version. (I did my testing with the "export" present; I just messed up
splitting it into two commits.)

Mike Jones (2):
  gnu: librewolf: Fix missing newlines when generating mozconfig.
  gnu: librewolf: Allow installation of unsigned extensions.

 gnu/packages/librewolf.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


base-commit: f1810c84f72090b02544ac41d0582c4785728ec4
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 20:17:03 GMT) Full text and rfc822 format available.

Message #17 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v2 1/2] gnu: librewolf: Fix missing newlines when generating
 mozconfig.
Date: Thu, 27 Feb 2025 20:13:54 +0000
These were being concatenated on a single line together, probably
causing them to have no effect.

* gnu/packages/librewolf.scm (librewolf)[phases]: Add missing newlines
to last two entries in mozconfig.

Change-Id: I12e7e33d9c4f9269ea5b0b24d276289f6f47890a
---
 gnu/packages/librewolf.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 2a4bf3fada..03a6acc455 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -455,9 +455,9 @@ (define-public librewolf
                              (display "mk_add_options MOZ_CRASHREPORTER=0\n")
                              (display "mk_add_options MOZ_DATA_REPORTING=0\n")
                              (display
-                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0")
+                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
                              (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0")))
+                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Thu, 27 Feb 2025 20:17:03 GMT) Full text and rfc822 format available.

Message #20 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v2 2/2] gnu: librewolf: Allow installation of unsigned
 extensions.
Date: Thu, 27 Feb 2025 20:13:55 +0000
* gnu/packages/librewolf.scm (librewolf)[phases]: Set
MOZ_REQUIRE_SIGNING to empty in mozconfig.

Change-Id: I786b4e9817e915a4b8c2ce38db8087db0c23bfdf
---
 gnu/packages/librewolf.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 03a6acc455..19d6ac461a 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -457,7 +457,8 @@ (define-public librewolf
                              (display
                               "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
                              (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
+                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")
+                             (display "export MOZ_REQUIRE_SIGNING=\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Fri, 28 Feb 2025 05:11:02 GMT) Full text and rfc822 format available.

Message #23 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Ian Eure <ian <at> retrospec.tv>
To: Mike Jones <mike <at> mjones.io>
Cc: André Batista <nandre <at> riseup.net>,
 Mark H Weaver <mhw <at> netris.org>,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>, 76616 <at> debbugs.gnu.org,
 Clément Lassieur <clement <at> lassieur.org>
Subject: Re: [bug#76616] [PATCH 0/2] gnu: librewolf: Allow installation of
 unsigned extensions.
Date: Thu, 27 Feb 2025 21:09:50 -0800
Hi Mike,

Mike Jones <mike <at> mjones.io> writes:

> The librewolf package does not allow extensions to be installed 
> unless
> they are signed by Mozilla's key. Even though there is an 
> about:config
> option "xpinstall.signatures.required", setting this to false 
> still
> doesn't allow it. It turns out that one needs to compile 
> librewolf with
> the option MOZ_REQUIRE_SIGNING= to permit this.
>
> I hope you'll agree that forbidding users from running software 
> on their
> own machines is not in the spirit of free software. While there 
> may be
> security advantages to enforcing signing (if you trust Mozilla), 
> it can
> still be enabled with the aforementioned about:config option, 
> even when
> compiled using this new option.

I definitely agree that unsigned extensions should be allowed.  Do 
you have an example of one I could use for testing?


> For what it's worth, upstream librewolf sets this option in 
> their
> default mozconfig:
>
> https://codeberg.org/librewolf/source/src/commit/9478c8a016460d883ee050f90a4c4410d210bb91/assets/mozconfig.new#L24

Thanks for pointing this out and sending a patch.  I think it’d be 
best if we used their config with just the Guix-specific changes 
added, like --prefix.  This has some important stuff, and it’d be 
better to let upstream handle that than risk missing something 
because the Guix config has drifted out of sync.

Would you be willing to contribute a patch which does that?  If 
not, that’s no problem, I’m working on the patches for 135.0.1 
already, and could do that at the same time.

Either way, thank you very much for the report, it’s certainly an 
oversight that needs to be corrected.

Thanks,

 -- Ian




Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Fri, 28 Feb 2025 06:02:06 GMT) Full text and rfc822 format available.

Message #26 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Hilton Chain <hako <at> ultrarare.space>
To: Mike Jones <mike <at> mjones.io>
Cc: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>,
 Ian Eure <ian <at> retrospec.tv>,
 André Batista <nandre <at> riseup.net>,
 Mark H Weaver <mhw <at> netris.org>,
 Clément Lassieur <clement <at> lassieur.org>,
 76616 <at> debbugs.gnu.org
Subject: Re: [bug#76616] [PATCH 0/2] gnu: librewolf: Allow installation of
 unsigned extensions.
Date: Fri, 28 Feb 2025 14:00:01 +0800
On Fri, 28 Feb 2025 02:51:01 +0800,
Mike Jones wrote:
>
> The librewolf package does not allow extensions to be installed unless
> they are signed by Mozilla's key. Even though there is an about:config
> option "xpinstall.signatures.required", setting this to false still
> doesn't allow it. It turns out that one needs to compile librewolf with
> the option MOZ_REQUIRE_SIGNING= to permit this.
>
> I hope you'll agree that forbidding users from running software on their
> own machines is not in the spirit of free software. While there may be
> security advantages to enforcing signing (if you trust Mozilla), it can
> still be enabled with the aforementioned about:config option, even when
> compiled using this new option.
>
> For what it's worth, upstream librewolf sets this option in their
> default mozconfig:
>
> https://codeberg.org/librewolf/source/src/commit/9478c8a016460d883ee050f90a4c4410d210bb91/assets/mozconfig.new#L24
>
> This series also includes a patch to fix some missing newlines which I
> found while testing it.
>
> Mike Jones (2):
>   gnu: librewolf: Fix missing newlines when generating mozconfig.
>   gnu: librewolf: Allow installation of unsigned extensions.
>
>  gnu/packages/librewolf.scm | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
>
> base-commit: f1810c84f72090b02544ac41d0582c4785728ec4
> --
> 2.48.1


Unsigned extensions are allowed.  Some extensions are packaged in
(gnu packages browser-extensions), which are unsigned.

In case you didn't know, packaged extensions can be used by installing them to
the same profile of librewolf.  e.g.
$ guix shell librewolf adaptive-tab-bar-colour-icecat -- librewolf




Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Fri, 28 Feb 2025 08:47:02 GMT) Full text and rfc822 format available.

Message #29 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: "Mike Jones" <mike <at> mjones.io>
To: "Ian Eure" <ian <at> retrospec.tv>, "Hilton Chain" <hako <at> ultrarare.space>
Cc: André Batista <nandre <at> riseup.net>,
 Mark H Weaver <mhw <at> netris.org>,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>, 76616 <at> debbugs.gnu.org,
 Clément Lassieur <clement <at> lassieur.org>
Subject: Re: [bug#76616] [PATCH 0/2] gnu: librewolf: Allow installation of
 unsigned extensions.
Date: Fri, 28 Feb 2025 08:46:22 +0000
On Fri, 28 Feb 2025, at 5:09 AM, Ian Eure wrote:
> I definitely agree that unsigned extensions should be allowed.  Do 
> you have an example of one I could use for testing?

You can build one with

  guix shell -C -N nss-certs bash node git -- \
    bash -c 'git clone https://github.com/darkreader/darkreader.git \
    && cd darkreader && npm i && npm run build:firefox'

and it will be at darkreader/build/release/darkreader-firefox.xpi

> Thanks for pointing this out and sending a patch.  I think it’d be 
> best if we used their config with just the Guix-specific changes 
> added, like --prefix.  This has some important stuff, and it’d be 
> better to let upstream handle that than risk missing something 
> because the Guix config has drifted out of sync.
>
> Would you be willing to contribute a patch which does that?  If 
> not, that’s no problem, I’m working on the patches for 135.0.1 
> already, and could do that at the same time.

Sure, I can try that this weekend, but if it takes me too long, feel
free to do it :)

On Fri, 28 Feb 2025, at 6:00 AM, Hilton Chain wrote:
> Unsigned extensions are allowed.  Some extensions are packaged in
> (gnu packages browser-extensions), which are unsigned.
>
> In case you didn't know, packaged extensions can be used by installing them to
> the same profile of librewolf.  e.g.
> $ guix shell librewolf adaptive-tab-bar-colour-icecat -- librewolf

Thanks, I didn't know about that! It seems to only allow ones in
$ICECAT_SYSTEM_DIR - if you build your own outside of a Guix package, it
won't let you install it, saying "This addon could not be installed
because it has not been verified". Even overriding ICECAT_SYSTEM_DIR to
point to a directory containing my locally-built extension doesn't
work, so I guess there is some other condition.

I think it's still useful to have this option, in case someone wants to
build and install an extension that's not packaged in Guix yet. What do
you think? I can try Ian's suggestion of using the upstream mozconfig as
a base which would give us this as a side-effect.




Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Fri, 28 Feb 2025 11:50:01 GMT) Full text and rfc822 format available.

Message #32 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Clément Lassieur <clement <at> lassieur.org>
To: "Mike Jones" <mike <at> mjones.io>
Cc: Jonathan Brielmaier <jonathan.brielmaier <at> web.de>,
 Ian Eure <ian <at> retrospec.tv>,
 André Batista <nandre <at> riseup.net>,
 Mark H Weaver <mhw <at> netris.org>, Hilton Chain <hako <at> ultrarare.space>,
 76616 <at> debbugs.gnu.org
Subject: Re: [bug#76616] [PATCH 0/2] gnu: librewolf: Allow installation of
 unsigned extensions.
Date: Fri, 28 Feb 2025 12:49:07 +0100
Hi,

On Fri, Feb 28 2025, Mike Jones wrote:

> Thanks, I didn't know about that! It seems to only allow ones in
> $ICECAT_SYSTEM_DIR - if you build your own outside of a Guix package, it
> won't let you install it, saying "This addon could not be installed
> because it has not been verified". Even overriding ICECAT_SYSTEM_DIR to
> point to a directory containing my locally-built extension doesn't
> work, so I guess there is some other condition.

Librewolf (and other Firefox based browsers in Guix) don't look at
$ICECAT_SYSTEM_DIR for extensions, but at
$ICECAT_SYSTEM_DIR/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}.

{ec8030f7-c20a-464f-9b0e-13a3a9e97384} is the application ID of
Firefox[1].

Also in that directory, your extension must be a directory or an .xpi
file whose name must be the add-on id[2] (e.g. ‘uBlock0 <at> raymondhill.net’
for a directory, or ‘uBlock0 <at> raymondhill.net.xpi’ for an xpi file).

Finally, Firefox checks for add-ons updates by comparing their path with
a cached one.  So make sure to change the path, or use another database
(move ~/.mozilla/icecat or ~/.librewolf...). before starting the browser
with an updated add-on.

So for example if I run ‘guix shell ublock-origin-icecat librewolf’, and
then
‘ls $ICECAT_SYSTEM_DIR/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}’,
I'll see ‘uBlock0 <at> raymondhill.net’.

You can definitely do
‘mkdir -p ~/test/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}’,
copy your .xpi (or extension directory) in there, and run librewolf like
this:

‘ICECAT_SYSTEM_DIR=/home/clement/test librewolf’

With Librewolf, system add-ons are disabled by default (you need to
enable them manually), I don't know why.  But on other browsers (icecat,
torbrorwser, mullvadbrowser), it works correctly.

[1]: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/icecat-extension.scm.
[2]: https://github.com/mozilla/gecko-dev/blob/27911e76eda11399d264abdae98039bda248533d/toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs#L1086

Cheers,
Clément

> I think it's still useful to have this option, in case someone wants to
> build and install an extension that's not packaged in Guix yet. What do
> you think? I can try Ian's suggestion of using the upstream mozconfig as
> a base which would give us this as a side-effect.




Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Sat, 01 Mar 2025 11:46:02 GMT) Full text and rfc822 format available.

Message #35 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: "Mike Jones" <mike <at> mjones.io>
To: Clément Lassieur <clement <at> lassieur.org>,
 "Ian Eure" <ian <at> retrospec.tv>
Cc: André Batista <nandre <at> riseup.net>,
 Hilton Chain <hako <at> ultrarare.space>, 76616 <at> debbugs.gnu.org,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>,
 Mark H Weaver <mhw <at> netris.org>
Subject: Re: [bug#76616] [PATCH 0/2] gnu: librewolf: Allow installation of
 unsigned extensions.
Date: Sat, 01 Mar 2025 11:42:45 +0000
On Fri, 28 Feb 2025, at 11:49 AM, Clément Lassieur wrote:
> You can definitely do
> ‘mkdir -p ~/test/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}’,
> copy your .xpi (or extension directory) in there, and run librewolf like
> this:
>
> ‘ICECAT_SYSTEM_DIR=/home/clement/test librewolf’

Thank you, I got that to work!


I'm about to send a v3 patch series, in which we append our config to
the upstream mozconfig, so that we inherit their options. I added
--disable-jxl and --disable-bootstrap because upstream enables those
and we didn't, so this preserves that.

The third patch also removes the duplicated options that are already
set upstream, but I am not sure about it, as it feels wrong to rely on
implicit options, especially for important things like disabling
telemetry. I kept "unset MOZ_TELEMETRY_REPORTING" and the preceding
comment, because that exact line is not present in the upstream
config, but I don't know how it relates to "mk_add_options
MOZ_TELEMETRY_REPORTING=0". Presumably they achieve the same thing,
but I don't know for sure.

So I am not sure if patches 2 and 3 make sense, but feel free to use
any or none of them :)




Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Sat, 01 Mar 2025 11:47:02 GMT) Full text and rfc822 format available.

Message #38 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v3 1/3] gnu: librewolf: Fix missing newlines when generating
 mozconfig.
Date: Sat,  1 Mar 2025 11:45:12 +0000
These were being concatenated on a single line together, probably
causing them to have no effect.

* gnu/packages/librewolf.scm (librewolf)[phases]: Add missing newlines
to last two entries in mozconfig.

Change-Id: I12e7e33d9c4f9269ea5b0b24d276289f6f47890a
---
 gnu/packages/librewolf.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 2a4bf3fada..03a6acc455 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -455,9 +455,9 @@ (define-public librewolf
                              (display "mk_add_options MOZ_CRASHREPORTER=0\n")
                              (display "mk_add_options MOZ_DATA_REPORTING=0\n")
                              (display
-                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0")
+                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
                              (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0")))
+                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder

base-commit: f1810c84f72090b02544ac41d0582c4785728ec4
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Sat, 01 Mar 2025 11:47:03 GMT) Full text and rfc822 format available.

Message #41 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v3 2/3] gnu: librewolf: Append our configuration options to
 upstream mozconfig.
Date: Sat,  1 Mar 2025 11:45:13 +0000
* gnu/packages/librewolf.scm (librewolf)[configure-flags]: Add
--disable-jxl, --disable-bootstrap to match previous configuration.
[phases]: Use upstream's mozconfig as the start of ours.

Change-Id: I7f21df8a84e9adb0cee69ad566daddb75bd790fb
---
 gnu/packages/librewolf.scm | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 03a6acc455..0c99231092 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -236,6 +236,7 @@ (define-public librewolf
                               "--with-system-ffi"
                               "--enable-system-pixman"
                               "--enable-jemalloc"
+                              "--disable-jxl"
 
                               ;; see https://bugs.gnu.org/32833
                               "--with-system-nspr"
@@ -271,7 +272,8 @@ (define-public librewolf
                               "--enable-optimize"
                               "--enable-strip"
                               "--enable-hardening"
-                              "--disable-elf-hack"))
+                              "--disable-elf-hack"
+                              "--disable-bootstrap"))
       #:imported-modules %cargo-utils-modules
       #:modules `((ice-9 regex)
                   (ice-9 string-fun)
@@ -424,6 +426,8 @@ (define-public librewolf
                                (getcwd))
 
                        (let* ((mozconfig (string-append (getcwd) "/mozconfig"))
+                              (orig-mozconfig-content (call-with-input-file
+                                                        mozconfig get-string-all))
                               (out (assoc-ref outputs "out"))
                               (flags (cons (string-append "--prefix=" out)
                                            configure-flags)))
@@ -439,6 +443,7 @@ (define-public librewolf
                              (display "\n")))
                          (with-output-to-file mozconfig
                            (lambda ()
+                             (display orig-mozconfig-content)
                              (apply write-flags flags)
                              ;; The following option unsets Telemetry
                              ;; Reporting. With the Addons Fiasco,
-- 
2.48.1





Information forwarded to nandre <at> riseup.net, clement <at> lassieur.org, ian <at> retrospec.tv, jonathan.brielmaier <at> web.de, mhw <at> netris.org, guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Sat, 01 Mar 2025 11:47:04 GMT) Full text and rfc822 format available.

Message #44 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Mike Jones <mike <at> mjones.io>
To: 76616 <at> debbugs.gnu.org
Cc: Mike Jones <mike <at> mjones.io>
Subject: [PATCH v3 3/3] gnu: librewolf: Remove config options already set by
 upstream
Date: Sat,  1 Mar 2025 11:45:14 +0000
* gnu/packages/librewolf.scm (librewolf)[arguments]: Remove configure
flags and variables already set in the upstream mozconfig.

Change-Id: I9af791e9a10a7823ab77866e2918ec485d3cb3ff
---
 gnu/packages/librewolf.scm | 24 ++----------------------
 1 file changed, 2 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/librewolf.scm b/gnu/packages/librewolf.scm
index 0c99231092..2ece922dd5 100644
--- a/gnu/packages/librewolf.scm
+++ b/gnu/packages/librewolf.scm
@@ -222,10 +222,8 @@ (define-public librewolf
     (arguments
      (list
       #:configure-flags #~(let ((clang #$(this-package-native-input "clang")))
-                            `("--enable-application=browser"
-
                               ;; Configuration
-                              "--without-wasm-sandboxed-libraries"
+                            `("--without-wasm-sandboxed-libraries"
                               "--with-system-jpeg"
                               "--with-system-zlib"
                               "--with-system-png"
@@ -249,29 +247,17 @@ (define-public librewolf
 
                               ;; Distribution
                               "--with-distribution-id=org.guix"
-                              "--with-app-name=librewolf"
                               "--with-app-basename=LibreWolf"
-                              "--with-branding=browser/branding/librewolf"
 
                               ;; Features
-                              "--disable-tests"
-                              "--disable-updater"
                               "--enable-pulseaudio"
-                              "--disable-crashreporter"
-                              "--allow-addon-sideload"
-                              "--with-unsigned-addon-scopes=app,system"
 
                               ;; switch only available on x86, whereas EME
                               ;; is not supported on other targets
                               ,@(if #$(target-x86?) '("--disable-eme") '())
 
                               ;; Build details
-                              "--disable-debug"
-                              "--enable-rust-simd"
-                              "--enable-release"
-                              "--enable-optimize"
                               "--enable-strip"
-                              "--enable-hardening"
                               "--disable-elf-hack"
                               "--disable-bootstrap"))
       #:imported-modules %cargo-utils-modules
@@ -456,13 +442,7 @@ (define-public librewolf
                              ;; As a result of this, use the following
                              ;; command to permanently disable
                              ;; telemetry reporting.
-                             (display "unset MOZ_TELEMETRY_REPORTING\n")
-                             (display "mk_add_options MOZ_CRASHREPORTER=0\n")
-                             (display "mk_add_options MOZ_DATA_REPORTING=0\n")
-                             (display
-                              "mk_add_options MOZ_SERVICES_HEALTHREPORT=0\n")
-                             (display
-                              "mk_add_options MOZ_TELEMETRY_REPORTING=0\n")))
+                             (display "unset MOZ_TELEMETRY_REPORTING\n")))
                          (setenv "MOZCONFIG" mozconfig))
                        (invoke "./mach" "configure")))
                    (add-before 'build 'fix-addons-placeholder
-- 
2.48.1





Information forwarded to guix-patches <at> gnu.org:
bug#76616; Package guix-patches. (Sat, 12 Apr 2025 00:13:01 GMT) Full text and rfc822 format available.

Message #47 received at 76616 <at> debbugs.gnu.org (full text, mbox):

From: Ian Eure <ian <at> retrospec.tv>
To: Mike Jones <mike <at> mjones.io>
Cc: André Batista <nandre <at> riseup.net>,
 Mark H Weaver <mhw <at> netris.org>,
 Jonathan Brielmaier <jonathan.brielmaier <at> web.de>, 76616 <at> debbugs.gnu.org,
 Clément Lassieur <clement <at> lassieur.org>
Subject: Re: [bug#76616] [PATCH v3 1/3] gnu: librewolf: Fix missing newlines
 when generating mozconfig.
Date: Fri, 11 Apr 2025 17:12:05 -0700
Hi Mike,

Pushed some modified versions of this just now, as well as some 
other cleanups I’ve been meaning to get to.

Thanks,
 -- Ian




bug closed, send any further explanations to 76616 <at> debbugs.gnu.org and Mike Jones <mike <at> mjones.io> Request was from Ian Eure <ian <at> retrospec.tv> to control <at> debbugs.gnu.org. (Sat, 12 Apr 2025 00:13:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 10 May 2025 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 39 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.