[gnome-team 0/1] Update gnome-control-center

  • Done
  • quality assurance status badge
Details
2 participants
  • Liliana Marie Prikler
  • Vivien Kraus
Owner
unassigned
Submitted by
Vivien Kraus
Severity
normal
V
V
Vivien Kraus wrote on 11 Sep 2023 23:31
(address . guix-patches@gnu.org)
cover.1694467877.git.vivien@planete-kraus.eu
Dear guix,

Let’s update gnome-control-center, shall we? However, there are weird
errors. I had to disable the network test, because from what I understand, it
tries to connect to a system bus that is not available. However, running the
new gnome-control-center crashes, and I don’t really understand why. Do you
have any clues?

Vivien Kraus (1):
gnu: gnome-control-center: Update to 44.3.

gnu/packages/gnome.scm | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)


base-commit: 20e3f3e1151b2f22ae7fb5aa8764148654f35090
--
2.41.0
V
V
Vivien Kraus wrote on 11 Sep 2023 23:26
[gnome-team 1/1] gnu: gnome-control-center: Update to 44.3.
(address . 65879@debbugs.gnu.org)
55562cf4a5059ec46fce4f1482ebab6dcd4ed4d9.1694467877.git.vivien@planete-kraus.eu
* gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
[phase patch-paths]: Upstream already uses
/run/setuid-programs/passwd. Querying the GNOME version is done through dbus
now. Disable the network panel test, because it wants to connect to the system
session.
[phase skip-gtk-update-icon-cache]: The icon cache update should be disabled
differently.
[native-inputs]: Add setxkbmap.
---
gnu/packages/gnome.scm | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

Toggle diff (61 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ad118090eb..81ce9207f4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9003,7 +9003,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "42.4")
+ (version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9011,7 +9011,7 @@ (define-public gnome-control-center
name "-" version ".tar.xz"))
(sha256
(base32
- "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+ "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))))
(build-system meson-build-system)
(arguments
(list
@@ -9036,18 +9036,17 @@ (define-public gnome-control-center
(("\"nm-connection-editor")
(string-append "\"" (search-input-file
inputs "bin/nm-connection-editor"))))
- (substitute* "panels/user-accounts/run-passwd.c"
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (format #f "~s" (search-input-file
- inputs "share/gnome/gnome-version.xml"))))))
+
+ ;; This test wants to connect to the system dbus session
+ (substitute* "tests/meson.build"
+ (("subdir\\('network'\\)")
+ "# subdir('network')"))))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false")))))))
(native-inputs
(list docbook-xsl
gettext-minimal
@@ -9056,7 +9055,8 @@ (define-public gnome-control-center
pkg-config
python
python-dbusmock
- xorg-server-for-tests))
+ xorg-server-for-tests
+ setxkbmap))
(inputs
(list accountsservice
colord-gtk
--
2.41.0
L
L
Liliana Marie Prikler wrote on 12 Sep 2023 06:15
0a6ab36922e0d9d5c60c5c6c806fbc8954be2057.camel@gmail.com
Am Montag, dem 11.09.2023 um 23:26 +0200 schrieb Vivien Kraus:
Toggle quote (7 lines)
> * gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
> [phase patch-paths]: Upstream already uses
> /run/setuid-programs/passwd. Querying the GNOME version is done
> through dbus now. Disable the network panel test, because it wants to
> connect to the system session.
> [phase skip-gtk-update-icon-cache]: The icon cache update should be
> disabled differently.
That'd be [#:phases]<patch-paths>: Adjust accordingly.
<skip-gtk-update-icon-cache>: Likewise.
Toggle quote (2 lines)
> [native-inputs]: Add setxkbmap.
> ---
Content-wise LGTM, will rewrite the commit as noted above and wait for
CI.

Cheers
V
V
Vivien Kraus wrote on 12 Sep 2023 12:03
ce35190ee6ba8d739fdd29d555699cf9f73392c9.camel@planete-kraus.eu
Hello!

Le mardi 12 septembre 2023 à 06:15 +0200, Liliana Marie Prikler a
écrit :
Toggle quote (4 lines)
> Content-wise LGTM, will rewrite the commit as noted above and wait
> for
> CI.

Did you manage to run it?

If I do:

./pre-inst-env guix shell gnome-control-center -- gnome-control-center

then it immediately crashes, with output:

10:54:39.2952 cc-firmware-security-panel[31903]: WARNING: system bus
not available: Could not connect: No such file or directory
**
cc-object-storage:ERROR:../gnome-control-center-44.3/shell/cc-object-
storage.c:167:cc_object_storage_add_object: assertion failed:
(G_IS_OBJECT (object))
Bail out! cc-object-storage:ERROR:../gnome-control-center-
44.3/shell/cc-object-storage.c:167:cc_object_storage_add_object:
assertion failed: (G_IS_OBJECT (object))
Abandon

Interestingly, it does not crash on a foreign distro (debian stable).

I found this, maybe relevant:

Vivien
L
L
Liliana Marie Prikler wrote on 12 Sep 2023 20:25
bb3b0d7a0a4661fb2a67bdf7280680874e17addf.camel@gmail.com
Am Dienstag, dem 12.09.2023 um 12:03 +0200 schrieb Vivien Kraus:
Toggle quote (32 lines)
> Hello!
>
> Le mardi 12 septembre 2023 à 06:15 +0200, Liliana Marie Prikler a
> écrit :
> > Content-wise LGTM, will rewrite the commit as noted above and wait
> > for
> > CI.
>
> Did you manage to run it?
>
> If I do:
>
> ./pre-inst-env guix shell gnome-control-center -- gnome-control-
> center
>
> then it immediately crashes, with output:
>
> 10:54:39.2952 cc-firmware-security-panel[31903]: WARNING: system bus
> not available: Could not connect: No such file or directory
> **
> cc-object-storage:ERROR:../gnome-control-center-44.3/shell/cc-object-
> storage.c:167:cc_object_storage_add_object: assertion failed:
> (G_IS_OBJECT (object))
> Bail out! cc-object-storage:ERROR:../gnome-control-center-
> 44.3/shell/cc-object-storage.c:167:cc_object_storage_add_object:
> assertion failed: (G_IS_OBJECT (object))
> Abandon
>
> Interestingly, it does not crash on a foreign distro (debian stable).
>
> I found this, maybe relevant:
> https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/342
Indeed, I get the same issue. Perhaps you can comment out the
firmware-security panel in panels/meson.build and see what happens? I
don't think it's useful to us anyway.

Cheers
V
V
Vivien Kraus wrote on 12 Sep 2023 21:00
[gnome-team v2 0/1] Still failing: Updage gnome-control-center and disable the firmware security panel
(address . 65879@debbugs.gnu.org)
cover.1694545220.git.vivien@planete-kraus.eu
Hi!

Le mardi 12 septembre 2023 à 20:25 +0200, Liliana Marie Prikler a écrit :
Toggle quote (4 lines)
> Perhaps you can comment out the firmware-security panel in
> panels/meson.build and see what happens? I don't think it's useful to us
> anyway.

It’s not that simple. However, debian does a similar job with a patch, so I
applied it. And it does not fix the issue, unfortunately.

Vivien Kraus (1):
gnu: gnome-control-center: Update to 44.3.

gnu/local.mk | 1 +
gnu/packages/gnome.scm | 27 ++++++++-------
...ome-control-center-firmware-security.patch | 33 +++++++++++++++++++
3 files changed, 49 insertions(+), 12 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch


base-commit: 20e3f3e1151b2f22ae7fb5aa8764148654f35090
--
2.41.0
V
V
Vivien Kraus wrote on 11 Sep 2023 23:26
[gnome-team v2 1/1] gnu: gnome-control-center: Update to 44.3.
(address . 65879@debbugs.gnu.org)
621017892c8ae986bcf37eee9cd3be8de917efbb.1694545220.git.vivien@planete-kraus.eu
* gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
[#:phases]<patch-paths>: Upstream already uses
/run/setuid-programs/passwd. Querying the GNOME version is done through dbus
now. Disable the network panel test, because it wants to connect to the system
session.
[#:phase] <skip-gtk-update-icon-cache>: The icon cache update should be disabled
differently.
[native-inputs]: Add setxkbmap.
* gnu/packages/patches/gnome-control-center-firmware-security.patch: Disable
the firmware security panel.
* gnu/packages/gnome.scm (gnome-control-center): Apply the patch to disable
the firmware security panel.
* gnu/local.mk (dist_patch_DATA): Distribute the patch to disable
the firmware security panel.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 27 ++++++++-------
...ome-control-center-firmware-security.patch | 33 +++++++++++++++++++
3 files changed, 49 insertions(+), 12 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch

Toggle diff (115 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 69be1a07c7..da573addc9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1299,6 +1299,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
+ %D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ad118090eb..acc30db425 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9003,7 +9003,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "42.4")
+ (version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9011,7 +9011,10 @@ (define-public gnome-control-center
name "-" version ".tar.xz"))
(sha256
(base32
- "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+ "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))
+ (patches
+ (search-patches
+ "gnome-control-center-firmware-security.patch"))))
(build-system meson-build-system)
(arguments
(list
@@ -9036,18 +9039,17 @@ (define-public gnome-control-center
(("\"nm-connection-editor")
(string-append "\"" (search-input-file
inputs "bin/nm-connection-editor"))))
- (substitute* "panels/user-accounts/run-passwd.c"
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (format #f "~s" (search-input-file
- inputs "share/gnome/gnome-version.xml"))))))
+
+ ;; This test wants to connect to the system dbus session
+ (substitute* "tests/meson.build"
+ (("subdir\\('network'\\)")
+ "# subdir('network')"))))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false")))))))
(native-inputs
(list docbook-xsl
gettext-minimal
@@ -9056,7 +9058,8 @@ (define-public gnome-control-center
pkg-config
python
python-dbusmock
- xorg-server-for-tests))
+ xorg-server-for-tests
+ setxkbmap))
(inputs
(list accountsservice
colord-gtk
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+ PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
+ PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
+ PANEL_TYPE("location", cc_location_panel_get_type, NULL),
+- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
+ PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
+ PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),
--
2.41.0
L
L
Liliana Marie Prikler wrote on 12 Sep 2023 22:41
Re: [gnome-team v2 0/1] Still failing: Updage gnome-control-center and disable the firmware security panel
19c856ecd77e5736f4bd791ce34dbc4b38d48302.camel@gmail.com
Am Dienstag, dem 12.09.2023 um 21:00 +0200 schrieb Vivien Kraus:
Toggle quote (10 lines)
> Hi!
>
> Le mardi 12 septembre 2023 à 20:25 +0200, Liliana Marie Prikler a
> écrit :
> > Perhaps you can comment out the firmware-security panel in
> > panels/meson.build and see what happens?  I don't think it's useful
> > to us anyway.
>
> It’s not that simple. However, debian does a similar job with a
> patch, so I applied it. And it does not fix the issue, unfortunately.
GDB spits out the following:

Thread 1 ".gnome-control-" received signal SIGABRT, Aborted.
0x00007ffff60a3fec in __pthread_kill_implementation () from
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
(gdb) up
#1 0x00007ffff605a202 in raise () from
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
(gdb)
#2 0x00007ffff604545b in abort () from
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
(gdb)
#3 0x00007ffff7c3fe62 in ?? () from
/gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-2.76.1/lib/libglib-
2.0.so.0
(gdb)
#4 0x00007ffff7ca413b in g_assertion_message_expr () from
/gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-2.76.1/lib/libglib-
2.0.so.0
(gdb)
#5 0x000000000045daaf in cc_object_storage_add_object ()
(gdb)
#6 0x00000000005212d7 in cc_wifi_panel_static_init_func ()
(gdb)

Have you tried updating network-manager by chance? :P
Maybe with that you also don't have to drop the test that tests it.
Though just bumping it to 1.44.0 didn't resolve things locally, perhaps
there's another dependency in the chain that I did not consider yet.

Cheers
V
V
Vivien Kraus wrote on 13 Sep 2023 00:31
7dc12a77ad0095b14d712950f52e37acd7211b1e.camel@planete-kraus.eu
Le mardi 12 septembre 2023 à 22:41 +0200, Liliana Marie Prikler a
écrit :
Toggle quote (4 lines)
> Though just bumping it to 1.44.0 didn't resolve things locally,
> perhaps
> there's another dependency in the chain that I did not consider yet.

I can configure the package by disabling the "snap" feature ("-
Dsnap=false") but it does not make a difference either.
V
V
Vivien Kraus wrote on 16 Sep 2023 00:13
894893dc6cc564660ffd05964b021bc6b4810a0a.camel@planete-kraus.eu
Le mardi 12 septembre 2023 à 22:41 +0200, Liliana Marie Prikler a
écrit :
Toggle quote (25 lines)
> GDB spits out the following:
>
> Thread 1 ".gnome-control-" received signal SIGABRT, Aborted.
> 0x00007ffff60a3fec in __pthread_kill_implementation () from
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
> (gdb) up
> #1  0x00007ffff605a202 in raise () from
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
> (gdb)
> #2  0x00007ffff604545b in abort () from
> /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6
> (gdb)
> #3  0x00007ffff7c3fe62 in ?? () from
> /gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-2.76.1/lib/libglib-
> 2.0.so.0
> (gdb)
> #4  0x00007ffff7ca413b in g_assertion_message_expr () from
> /gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-2.76.1/lib/libglib-
> 2.0.so.0
> (gdb)
> #5  0x000000000045daaf in cc_object_storage_add_object ()
> (gdb)
> #6  0x00000000005212d7 in cc_wifi_panel_static_init_func ()
> (gdb)

Since it runs on a foreign distro, I would like to make sure that it’s
not just a compatibility problem between the system network-manager
service and the client library used by gnome-control-center. However, I
cannot run guix system vm, because qemu is broken at the moment, and I
did not find a way to run a guix system image.

Vivien
L
L
Liliana Marie Prikler wrote on 16 Sep 2023 06:02
5774f857a0541540adec552fc79734c9d7114e4b.camel@gmail.com
Am Samstag, dem 16.09.2023 um 00:13 +0200 schrieb Vivien Kraus:
Toggle quote (37 lines)
> Le mardi 12 septembre 2023 à 22:41 +0200, Liliana Marie Prikler a
> écrit :
> > GDB spits out the following:
> >
> > Thread 1 ".gnome-control-" received signal SIGABRT, Aborted.
> > 0x00007ffff60a3fec in __pthread_kill_implementation () from
> > /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-
> > 2.35/lib/libc.so.6
> > (gdb) up
> > #1  0x00007ffff605a202 in raise () from
> > /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-
> > 2.35/lib/libc.so.6
> > (gdb)
> > #2  0x00007ffff604545b in abort () from
> > /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-
> > 2.35/lib/libc.so.6
> > (gdb)
> > #3  0x00007ffff7c3fe62 in ?? () from
> > /gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-
> > 2.76.1/lib/libglib-
> > 2.0.so.0
> > (gdb)
> > #4  0x00007ffff7ca413b in g_assertion_message_expr () from
> > /gnu/store/ckysqidiiw88bw1kdyndjcrsakrysxkn-glib-
> > 2.76.1/lib/libglib-
> > 2.0.so.0
> > (gdb)
> > #5  0x000000000045daaf in cc_object_storage_add_object ()
> > (gdb)
> > #6  0x00000000005212d7 in cc_wifi_panel_static_init_func ()
> > (gdb)
>
> Since it runs on a foreign distro, I would like to make sure that
> it’s not just a compatibility problem between the system network-
> manager service and the client library used by gnome-control-center.
> However, I cannot run guix system vm, because qemu is broken at the
> moment, and I did not find a way to run a guix system image.
You can probably fake that using dbus-run-session, but again note the
disabled test; I'm not sure you will get a good result. As for the
qemu thing, maybe that takes priority then? :)

Cheers
V
V
Vivien Kraus wrote on 17 Sep 2023 14:56
[PATCH gnome-team v3 0/1] Gnome-control-center passes all tests, but still crashes
cover.1694955414.git.vivien@planete-kraus.eu
Hi!

I copied the test setup environment from gnome-shell to gnome-control-center,
and now all the tests pass. Debian has a patch to disable the network panel
tests, because it could be slow. I could build it on emulated i686 with no
problem, though.

gnome-control-center still crashes, even if I set up the environment as in
tests. My hypothesis is now that there is an incompatibility between the
networkmanager d-bus service already running and the libnma used to compile
gnome-control-center. It may be possible that a fully upgraded system works
without problem, but I need qemu to test that with guix system vm.

Best regards,

Vivien

Vivien Kraus (1):
gnu: gnome-control-center: Update to 44.3.

gnu/local.mk | 1 +
gnu/packages/gnome.scm | 43 +++++++++++++------
...ome-control-center-firmware-security.patch | 33 ++++++++++++++
3 files changed, 64 insertions(+), 13 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch


base-commit: e9ff5d51e3297089e66c124195e1f1b42dbded65
--
2.41.0
V
V
Vivien Kraus wrote on 11 Sep 2023 23:26
[PATCH gnome-team v3 1/1] gnu: gnome-control-center: Update to 44.3.
1361e95b870e39e696cdd8bb336b9a8250b1496a.1694955414.git.vivien@planete-kraus.eu
* gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
[#:phases]<patch-paths>: Upstream already uses
/run/setuid-programs/passwd. Querying the GNOME version is done through dbus
now. Set up the test environment as gnome-shell, and run tests under
dbus-run-session.
[#:phases] <skip-gtk-update-icon-cache>: The icon cache update should be disabled
differently.
[#:phases] <check>: Override the check phase to run under dbus.
[native-inputs]: Add setxkbmap.
* gnu/packages/patches/gnome-control-center-firmware-security.patch: Disable
the firmware security panel.
* gnu/packages/gnome.scm (gnome-control-center): Apply the patch to disable
the firmware security panel.
* gnu/local.mk (dist_patch_DATA): Distribute the patch to disable
the firmware security panel.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 43 +++++++++++++------
...ome-control-center-firmware-security.patch | 33 ++++++++++++++
3 files changed, 64 insertions(+), 13 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch

Toggle diff (131 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index db21feb507..96560d72e7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1309,6 +1309,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
+ %D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2077478ff2..ff36967194 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9016,7 +9016,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "42.4")
+ (version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9024,7 +9024,10 @@ (define-public gnome-control-center
name "-" version ".tar.xz"))
(sha256
(base32
- "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+ "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))
+ (patches
+ (search-patches
+ "gnome-control-center-firmware-security.patch"))))
(build-system meson-build-system)
(arguments
(list
@@ -9048,19 +9051,32 @@ (define-public gnome-control-center
"panels/network/connection-editor/net-connection-editor.c")
(("\"nm-connection-editor")
(string-append "\"" (search-input-file
- inputs "bin/nm-connection-editor"))))
- (substitute* "panels/user-accounts/run-passwd.c"
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (format #f "~s" (search-input-file
- inputs "share/gnome/gnome-version.xml"))))))
+ inputs "bin/nm-connection-editor"))))))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false"))))
+ (replace 'check
+ (lambda* (#:key parallel-tests? tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /var/lib/dbus/machine-id
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (setenv "NO_AT_BRIDGE" "1")
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir"))
+ (mkdir (getenv "XDG_RUNTIME_DIR"))
+ (chmod (getenv "XDG_RUNTIME_DIR") #o700)
+ (setenv "MESON_TESTTHREADS"
+ (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (invoke "dbus-run-session" "--"
+ "meson" "test" "-t" "0")))))))
(native-inputs
(list docbook-xsl
gettext-minimal
@@ -9069,7 +9085,8 @@ (define-public gnome-control-center
pkg-config
python
python-dbusmock
- xorg-server-for-tests))
+ xorg-server-for-tests
+ setxkbmap))
(inputs
(list accountsservice
colord-gtk
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+ PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
+ PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
+ PANEL_TYPE("location", cc_location_panel_get_type, NULL),
+- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
+ PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
+ PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),
--
2.41.0
L
L
Liliana Marie Prikler wrote on 17 Sep 2023 15:37
d8ef0e15276f7e0c547bcb09d7af791ef6b895b9.camel@gmail.com
Am Montag, dem 11.09.2023 um 23:26 +0200 schrieb Vivien Kraus:
Toggle quote (6 lines)
> * gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
> [#:phases]<patch-paths>: Upstream already uses
> /run/setuid-programs/passwd. Querying the GNOME version is done
> through dbus
> now. Set up the test environment as gnome-shell, and run tests under
> dbus-run-session.
This can be "[#:phases]<patch-paths>: Adjust accordingly." imho. For a
lengthier discussion, you can use the pre-ChangeLog blurb, should you
need it.
Toggle quote (2 lines)
> [#:phases] <skip-gtk-update-icon-cache>: The icon cache update should
> be disabled differently.
You can drop the [#:phases] prefix. Also, adjust accordingly – this
pattern is already well known throughout the rest of gnome and should
probably be put into meson-build-system itself at some point.
Toggle quote (1 lines)
> [#:phases] <check>: Override the check phase to run under dbus.
Here, just drop the [#:phases] prefix.
Toggle quote (9 lines)
> [native-inputs]: Add setxkbmap.
> * gnu/packages/patches/gnome-control-center-firmware-security.patch:
> Disable
> the firmware security panel.
> * gnu/packages/gnome.scm (gnome-control-center): Apply the patch to
> disable
> the firmware security panel.
> * gnu/local.mk (dist_patch_DATA): Distribute the patch to disable
> the firmware security panel.
I wonder what's this about the firmware security panel :)
The trio is usually
patch: New file.
packages/module.scm (package): Use it here.
gnu/local.mk (dist_patch_DATA): Register it here.

Note that you have two blocks for gnome-control-center now. I think
you should the patch and gnu/local.mk first so that you can have the
rest of the ChangeLog for the "important" changes :)
Toggle quote (7 lines)
> ---
>  gnu/local.mk                                  |  1 +
>  gnu/packages/gnome.scm                        | 43 +++++++++++++----
> --
>  ...ome-control-center-firmware-security.patch | 33 ++++++++++++++
>  3 files changed, 64 insertions(+), 13 deletions(-)
> [...]
By the way, there's no need to send a cover letter for a single patch.
Just add your comments below the "---" line. The biggest issue that
keeps me from pushing this is the reported crash; we should be able to
at least somehow get a working gnome-control-center even if it means
spawning an extra dbus session from a pure shell or something. If you
can resolve this by testing in qemu, then fine, but until you do, let's
keep this on the wait list :)

Cheers
V
V
Vivien Kraus wrote on 17 Sep 2023 16:12
[PATCH gnome-team v4 0/2] Commit style update − still failing
cover.1694959943.git.vivien@planete-kraus.eu
Hi!

I split the patch in 2, first to add the patch, and then to do the update. Is
it better that way?

Toggle quote (2 lines)
> I wonder what's this about the firmware security panel :)

I’m sorry for messing up the commit style. You made the charitable assumption
that there was something more than my negligence here, but unfortunately I’m
just to blame.

Toggle quote (6 lines)
> The biggest issue that keeps me from pushing this is the reported crash; we
> should be able to at least somehow get a working gnome-control-center even
> if it means spawning an extra dbus session from a pure shell or something.
> If you can resolve this by testing in qemu, then fine, but until you do,
> let's keep this on the wait list :)

I keep the gnome-shell idea in mind too. Anyway, I’ll wait for CI to rebuild
qemu once it is merged.

Vivien

Vivien Kraus (2):
gnu: gnome-control-center: Add
gnome-control-center-firmware-security.patch.
gnu: gnome-control-center: Update to 44.3.

gnu/local.mk | 1 +
gnu/packages/gnome.scm | 43 +++++++++++++------
...ome-control-center-firmware-security.patch | 33 ++++++++++++++
3 files changed, 64 insertions(+), 13 deletions(-)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch


base-commit: e9ff5d51e3297089e66c124195e1f1b42dbded65
--
2.41.0
V
V
Vivien Kraus wrote on 17 Sep 2023 16:08
[PATCH gnome-team v4 1/2] gnu: gnome-control-center: Add gnome-control-center-firmware-security.patch.
6a7e85f51844a2c37ec464e333b8ac81dec04ed8.1694959943.git.vivien@planete-kraus.eu
This patch disables the firmware panel for future gnome-control-center
versions.

* gnu/packages/patches/gnome-control-center-firmware-security.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
---
gnu/local.mk | 1 +
...ome-control-center-firmware-security.patch | 33 +++++++++++++++++++
2 files changed, 34 insertions(+)
create mode 100644 gnu/packages/patches/gnome-control-center-firmware-security.patch

Toggle diff (53 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index db21feb507..96560d72e7 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1309,6 +1309,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnash-fix-giflib-version.patch \
%D%/packages/patches/gnome-2048-fix-positional-argument.patch \
+ %D%/packages/patches/gnome-control-center-firmware-security.patch \
%D%/packages/patches/gnome-control-center-libexecdir.patch \
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
%D%/packages/patches/gnome-settings-daemon-gc.patch \
diff --git a/gnu/packages/patches/gnome-control-center-firmware-security.patch b/gnu/packages/patches/gnome-control-center-firmware-security.patch
new file mode 100644
index 0000000000..fd9d7b8ff4
--- /dev/null
+++ b/gnu/packages/patches/gnome-control-center-firmware-security.patch
@@ -0,0 +1,33 @@
+From: Jeremy Bicha <jeremy.bicha@canonical.com>
+Date: Mon, 22 Aug 2022 08:31:15 -0400
+Subject: firmware-security: Disable
+
+Not yet useful enough to justify its inclusion by default here
+
+You can get the same info by running
+fwupdmgr security
+
+If you drop this patch, add a Depends: fwupd [linux-any]
+
+https://launchpad.net/bugs/1987162
+
+https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/1938
+
+[Stolen from the debian package]
+---
+ shell/cc-panel-loader.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/shell/cc-panel-loader.c b/shell/cc-panel-loader.c
+index 17f9601..1b819a5 100644
+--- a/shell/cc-panel-loader.c
++++ b/shell/cc-panel-loader.c
+@@ -113,7 +113,7 @@ static CcPanelLoaderVtable default_panels[] =
+ PANEL_TYPE("info-overview", cc_info_overview_panel_get_type, NULL),
+ PANEL_TYPE("keyboard", cc_keyboard_panel_get_type, NULL),
+ PANEL_TYPE("location", cc_location_panel_get_type, NULL),
+- PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
++ // PANEL_TYPE("firmware-security",cc_firmware_security_panel_get_type, cc_firmware_security_panel_static_init_func),
+ PANEL_TYPE("microphone", cc_microphone_panel_get_type, NULL),
+ PANEL_TYPE("mouse", cc_mouse_panel_get_type, NULL),
+ PANEL_TYPE("multitasking", cc_multitasking_panel_get_type, NULL),
--
2.41.0
V
V
Vivien Kraus wrote on 11 Sep 2023 23:26
[PATCH gnome-team v4 2/2] gnu: gnome-control-center: Update to 44.3.
9728c2fab3626a2aeba39a7d3e78ec66b7f796ce.1694959943.git.vivien@planete-kraus.eu
Some previous fixes have been merged upstream. The gnome version is now read
from a dbus service, and passwd is already searched in /run/setuid-programs.

In order to let the tests run, we use the same tests environment as
gnome-shell.

* gnu/packages/gnome.scm (gnome-control-center): Update to 44.3. Apply
gnome-control-center-firmware-security.patch.
[#:phases]<patch-paths>: Adjust accordingly.
<skip-gtk-update-icon-cache>: Adjust accordingly.
<check>: Override the check phase to run under dbus.
[native-inputs]: Add setxkbmap.
---
gnu/packages/gnome.scm | 43 +++++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 13 deletions(-)

Toggle diff (80 lines)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 2077478ff2..ff36967194 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9016,7 +9016,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center
(package
(name "gnome-control-center")
- (version "42.4")
+ (version "44.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@@ -9024,7 +9024,10 @@ (define-public gnome-control-center
name "-" version ".tar.xz"))
(sha256
(base32
- "1ln5rch6zbfh3vl2nnnmw39bylgg38rin6xp7ra0ra4ay3wv3gvs"))))
+ "0yhcm0c0ghkfqswqlkwcln3jpaz6jzvqaph2c3lgmv635w2nash6"))
+ (patches
+ (search-patches
+ "gnome-control-center-firmware-security.patch"))))
(build-system meson-build-system)
(arguments
(list
@@ -9048,19 +9051,32 @@ (define-public gnome-control-center
"panels/network/connection-editor/net-connection-editor.c")
(("\"nm-connection-editor")
(string-append "\"" (search-input-file
- inputs "bin/nm-connection-editor"))))
- (substitute* "panels/user-accounts/run-passwd.c"
- (("/usr/bin/passwd")
- "/run/setuid-programs/passwd"))
- (substitute* "panels/info-overview/cc-info-overview-panel.c"
- (("DATADIR \"/gnome/gnome-version.xml\"")
- (format #f "~s" (search-input-file
- inputs "share/gnome/gnome-version.xml"))))))
+ inputs "bin/nm-connection-editor"))))))
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
- (substitute* "build-aux/meson/meson_post_install.py"
- (("gtk-update-icon-cache") (which "true"))))))))
+ (substitute* "meson.build"
+ (("gtk_update_icon_cache: true")
+ "gtk_update_icon_cache: false"))))
+ (replace 'check
+ (lambda* (#:key parallel-tests? tests? #:allow-other-keys)
+ (when tests?
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /var/lib/dbus/machine-id
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ (setenv "NO_AT_BRIDGE" "1")
+ (setenv "HOME" "/tmp")
+ (setenv "XDG_RUNTIME_DIR" (string-append (getcwd) "/runtime-dir"))
+ (mkdir (getenv "XDG_RUNTIME_DIR"))
+ (chmod (getenv "XDG_RUNTIME_DIR") #o700)
+ (setenv "MESON_TESTTHREADS"
+ (if parallel-tests?
+ (number->string (parallel-job-count))
+ "1"))
+ (invoke "dbus-run-session" "--"
+ "meson" "test" "-t" "0")))))))
(native-inputs
(list docbook-xsl
gettext-minimal
@@ -9069,7 +9085,8 @@ (define-public gnome-control-center
pkg-config
python
python-dbusmock
- xorg-server-for-tests))
+ xorg-server-for-tests
+ setxkbmap))
(inputs
(list accountsservice
colord-gtk
--
2.41.0
L
L
Liliana Marie Prikler wrote on 17 Sep 2023 18:23
Re: [PATCH gnome-team v4 0/2] Commit style update − still failing
acc0190100e020f62585fffe291c86cbca0e14e7.camel@gmail.com
Am Sonntag, dem 17.09.2023 um 16:12 +0200 schrieb Vivien Kraus:
Toggle quote (10 lines)
> Hi!
>
> I split the patch in 2, first to add the patch, and then to do the
> update. Is it better that way?
>
> > I wonder what's this about the firmware security panel :)
>
> I’m sorry for messing up the commit style. You made the charitable
> assumption that there was something more than my negligence here, but
> unfortunately I’m just to blame.
It's fine – two patches or one both work. Sorry for being a little
cheeky in my review.

Toggle quote (9 lines)
> > The biggest issue that keeps me from pushing this is the reported
> > crash; we should be able to at least somehow get a working
> > gnome-control-center even if it means spawning an extra dbus
> > session from a pure shell or something.
> > If you can resolve this by testing in qemu, then fine, but until
> > you do, let's keep this on the wait list :)
>
> I keep the gnome-shell idea in mind too. Anyway, I’ll wait for CI to
> rebuild qemu once it is merged.
Note, qemu builds locally even with the first patch removed, so I'll
push that next weekend.

Happy hacking in the meantime!
V
V
Vivien Kraus wrote on 8 Oct 2023 14:04
[gnome-team 0/1] Update gnome-control-center
(address . 65879@debbugs.gnu.org)
bd1cb57f9caaa592886a907dc47121c8332124d2.camel@planete-kraus.eu
Dear guix,

When I symlink /var/run/dbus to /run/dbus, gnome-control-center starts
(it is beautiful).

Best regards,

Vivien
L
L
Liliana Marie Prikler wrote on 9 Oct 2023 22:38
Re: [PATCH gnome-team v4 2/2] gnu: gnome-control-center: Update to 44.3.
d3b51694a140f6dd210f6ed4a202cff697a2e085.camel@gmail.com
Am Montag, dem 11.09.2023 um 23:26 +0200 schrieb Vivien Kraus:
Toggle quote (14 lines)
> Some previous fixes have been merged upstream. The gnome version is
> now read from a dbus service, and passwd is already searched in
> /run/setuid-programs.
>
> In order to let the tests run, we use the same tests environment as
> gnome-shell.
>
> * gnu/packages/gnome.scm (gnome-control-center): Update to 44.3.
> Apply gnome-control-center-firmware-security.patch.
> [#:phases]<patch-paths>: Adjust accordingly.
> <skip-gtk-update-icon-cache>: Adjust accordingly.
> <check>: Override the check phase to run under dbus.
> [native-inputs]: Add setxkbmap.
> ---
Pushed now together with the dbus change.

Thanks
Closed
?