diff mbox series

[meta-gnome,01/32] polkit-gnome: add recipe

Message ID 20230325080256.923752-1-f_l_k@t-online.de
State Under Review
Headers show
Series [meta-gnome,01/32] polkit-gnome: add recipe | expand

Commit Message

Markus Volk March 25, 2023, 8:02 a.m. UTC
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 ...nt-user-to-authenticate-with-by-defa.patch |  78 ++++++++++
 ...alog-Make-the-label-wrap-at-70-chars.patch |  32 +++++
 ...om-accountsservice-instead-of-lookin.patch | 135 ++++++++++++++++++
 ...mestamps-when-displaying-authenticat.patch |  45 ++++++
 ...able-gnome-tools-that-are-not-provid.patch |  28 ++++
 ...olkit-gnome-authentication-agent-1.desktop |  87 +++++++++++
 .../polkit-gnome/polkit-gnome_0.105.bb        |  29 ++++
 7 files changed, 434 insertions(+)
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0001-Select-the-current-user-to-authenticate-with-by-defa.patch
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0002-Auth-dialog-Make-the-label-wrap-at-70-chars.patch
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0003-Get-user-icon-from-accountsservice-instead-of-lookin.patch
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0005-configure.ac-disable-gnome-tools-that-are-not-provid.patch
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/polkit-gnome-authentication-agent-1.desktop
 create mode 100644 meta-gnome/recipes-extended/polkit-gnome/polkit-gnome_0.105.bb

Comments

Markus Volk March 25, 2023, 10:29 a.m. UTC | #1
This one was sent accidentially and can be dropped.

Am 25.03.23 um 09:02 schrieb Markus Volk:
> Signed-off-by: Markus Volk <f_l_k@t-online.de>
> ---
>   .../{gnome-chess_43.2.bb => gnome-chess_44.0.bb}         | 9 ++++-----
>   1 file changed, 4 insertions(+), 5 deletions(-)
>   rename meta-gnome/recipes-gnome/gnome-chess/{gnome-chess_43.2.bb => gnome-chess_44.0.bb} (70%)
>
> diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> similarity index 70%
> rename from meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
> rename to meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> index 343135bfa..d9727ec1c 100644
> --- a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
> +++ b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> @@ -22,13 +22,12 @@ DEPENDS = " \
>   
>   RRECOMMENDS:${PN}  = "gnuchess"
>   
> -SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;nobranch=1"
> +SRC_URI[archive.sha256sum] = "734f092d95fc60409eeaca3427b5a48cb9b599da11995119d85baa99653e0292"
>   
> -inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
> +inherit gnomebase meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
>   
> +GNOMEBASEBUILDCLASS = "meson"
> +GTKIC_VERSION = '4'
>   GIR_MESON_OPTION = ""
>   
> -S = "${WORKDIR}/git"
> -SRCREV = "de47d07ec6fc828b2668ca6ee59fe9bdfa9dc1d6"
> -
>   FILES:${PN} += "${datadir}"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#101722): https://lists.openembedded.org/g/openembedded-devel/message/101722
> Mute This Topic: https://lists.openembedded.org/mt/97840032/3618223
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj March 27, 2023, 4:53 a.m. UTC | #2
yeah seems there is no 44 release yet.

On Sat, Mar 25, 2023 at 3:30 AM Markus Volk <f_l_k@t-online.de> wrote:
>
> This one was sent accidentially and can be dropped.
>
> Am 25.03.23 um 09:02 schrieb Markus Volk:
> > Signed-off-by: Markus Volk <f_l_k@t-online.de>
> > ---
> >   .../{gnome-chess_43.2.bb => gnome-chess_44.0.bb}         | 9 ++++-----
> >   1 file changed, 4 insertions(+), 5 deletions(-)
> >   rename meta-gnome/recipes-gnome/gnome-chess/{gnome-chess_43.2.bb => gnome-chess_44.0.bb} (70%)
> >
> > diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> > similarity index 70%
> > rename from meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
> > rename to meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> > index 343135bfa..d9727ec1c 100644
> > --- a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
> > +++ b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
> > @@ -22,13 +22,12 @@ DEPENDS = " \
> >
> >   RRECOMMENDS:${PN}  = "gnuchess"
> >
> > -SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;nobranch=1"
> > +SRC_URI[archive.sha256sum] = "734f092d95fc60409eeaca3427b5a48cb9b599da11995119d85baa99653e0292"
> >
> > -inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
> > +inherit gnomebase meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
> >
> > +GNOMEBASEBUILDCLASS = "meson"
> > +GTKIC_VERSION = '4'
> >   GIR_MESON_OPTION = ""
> >
> > -S = "${WORKDIR}/git"
> > -SRCREV = "de47d07ec6fc828b2668ca6ee59fe9bdfa9dc1d6"
> > -
> >   FILES:${PN} += "${datadir}"
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#101747): https://lists.openembedded.org/g/openembedded-devel/message/101747
> Mute This Topic: https://lists.openembedded.org/mt/97841027/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk March 27, 2023, 4:59 a.m. UTC | #3
https://gitlab.gnome.org/GNOME/gnome-chess/-/tags/44.0

There is  a bogus tag, thats why I accidentially created this and forgot 
to remove after I noticed it

Am 27.03.23 um 06:53 schrieb Khem Raj:
> yeah seems there is no 44 release yet.
>
> On Sat, Mar 25, 2023 at 3:30 AM Markus Volk <f_l_k@t-online.de> wrote:
>> This one was sent accidentially and can be dropped.
>>
>> Am 25.03.23 um 09:02 schrieb Markus Volk:
>>> Signed-off-by: Markus Volk <f_l_k@t-online.de>
>>> ---
>>>    .../{gnome-chess_43.2.bb => gnome-chess_44.0.bb}         | 9 ++++-----
>>>    1 file changed, 4 insertions(+), 5 deletions(-)
>>>    rename meta-gnome/recipes-gnome/gnome-chess/{gnome-chess_43.2.bb => gnome-chess_44.0.bb} (70%)
>>>
>>> diff --git a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
>>> similarity index 70%
>>> rename from meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
>>> rename to meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
>>> index 343135bfa..d9727ec1c 100644
>>> --- a/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_43.2.bb
>>> +++ b/meta-gnome/recipes-gnome/gnome-chess/gnome-chess_44.0.bb
>>> @@ -22,13 +22,12 @@ DEPENDS = " \
>>>
>>>    RRECOMMENDS:${PN}  = "gnuchess"
>>>
>>> -SRC_URI = "git://github.com/GNOME/gnome-chess.git;protocol=https;nobranch=1"
>>> +SRC_URI[archive.sha256sum] = "734f092d95fc60409eeaca3427b5a48cb9b599da11995119d85baa99653e0292"
>>>
>>> -inherit meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
>>> +inherit gnomebase meson pkgconfig gobject-introspection gtk-icon-cache vala features_check mime-xdg gsettings
>>>
>>> +GNOMEBASEBUILDCLASS = "meson"
>>> +GTKIC_VERSION = '4'
>>>    GIR_MESON_OPTION = ""
>>>
>>> -S = "${WORKDIR}/git"
>>> -SRCREV = "de47d07ec6fc828b2668ca6ee59fe9bdfa9dc1d6"
>>> -
>>>    FILES:${PN} += "${datadir}"
>>>
>>>
>>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#101747): https://lists.openembedded.org/g/openembedded-devel/message/101747
>> Mute This Topic: https://lists.openembedded.org/mt/97841027/1997914
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
diff mbox series

Patch

diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0001-Select-the-current-user-to-authenticate-with-by-defa.patch b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0001-Select-the-current-user-to-authenticate-with-by-defa.patch
new file mode 100644
index 000000000..91f67bbc8
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0001-Select-the-current-user-to-authenticate-with-by-defa.patch
@@ -0,0 +1,78 @@ 
+From: Utopia Maintenance Team
+ <pkg-utopia-maintainers@lists.alioth.debian.org>
+Date: Mon, 30 Apr 2018 17:56:52 +0000
+Subject: Select the current user to authenticate with by default
+
+Bug: http://bugzilla.gnome.org/show_bug.cgi?id=596188
+Bug-Ubuntu: https://launchpad.net/bugs/435227
+---
+ src/polkitgnomeauthenticationdialog.c | 23 ++++++++++++++---------
+ 1 file changed, 14 insertions(+), 9 deletions(-)
+
+diff --git a/src/polkitgnomeauthenticationdialog.c b/src/polkitgnomeauthenticationdialog.c
+index 743cc96..d307516 100644
+--- a/src/polkitgnomeauthenticationdialog.c
++++ b/src/polkitgnomeauthenticationdialog.c
+@@ -138,7 +138,7 @@ user_combobox_changed (GtkComboBox *widget,
+ static void
+ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+ {
+-  int n;
++  int n, i, selected_index = 0;
+   GtkComboBox *combo;
+   GtkTreeIter iter;
+   GtkCellRenderer *renderer;
+@@ -162,7 +162,7 @@ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+ 
+ 
+   /* For each user */
+-  for (n = 0; dialog->priv->users[n] != NULL; n++)
++  for (i = 0, n = 0; dialog->priv->users[n] != NULL; n++)
+     {
+       gchar *gecos;
+       gchar *real_name;
+@@ -224,6 +224,14 @@ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+                           USERNAME_COL, dialog->priv->users[n],
+                           -1);
+ 
++      i++;
++      if (passwd->pw_uid == getuid ())
++        {
++          selected_index = i;
++          g_free (dialog->priv->selected_user);
++          dialog->priv->selected_user = g_strdup (dialog->priv->users[n]);
++        }
++
+       g_free (real_name);
+       g_object_unref (pixbuf);
+     }
+@@ -252,8 +260,8 @@ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+                                       user_combobox_set_sensitive,
+                                       NULL, NULL);
+ 
+-  /* Initially select the "Select user..." ... */
+-  gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
++  /* Select the default user */
++  gtk_combo_box_set_active (GTK_COMBO_BOX (combo), selected_index);
+ 
+   /* Listen when a new user is selected */
+   g_signal_connect (GTK_WIDGET (combo),
+@@ -719,16 +727,13 @@ polkit_gnome_authentication_dialog_constructed (GObject *object)
+   gtk_widget_set_tooltip_markup (label, s);
+   g_free (s);
+ 
+-  if (have_user_combobox)
++  /* Disable password entry and authenticate until have a user selected */
++  if (have_user_combobox && gtk_combo_box_get_active (GTK_COMBO_BOX (dialog->priv->user_combobox)) == 0)
+     {
+-      /* ... and make the password entry and "Authenticate" button insensitive */
+       gtk_widget_set_sensitive (dialog->priv->prompt_label, FALSE);
+       gtk_widget_set_sensitive (dialog->priv->password_entry, FALSE);
+       gtk_widget_set_sensitive (dialog->priv->auth_button, FALSE);
+     }
+-  else
+-    {
+-    }
+ 
+   gtk_widget_realize (GTK_WIDGET (dialog));
+ 
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0002-Auth-dialog-Make-the-label-wrap-at-70-chars.patch b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0002-Auth-dialog-Make-the-label-wrap-at-70-chars.patch
new file mode 100644
index 000000000..76b96f47d
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0002-Auth-dialog-Make-the-label-wrap-at-70-chars.patch
@@ -0,0 +1,32 @@ 
+From: Lars Uebernickel <lars@uebernic.de>
+Date: Fri, 17 Oct 2014 15:35:25 +0200
+Subject: Auth dialog: Make the label wrap at 70 chars
+
+Because GtkWindow doesn't have a default width anymore.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=738688
+Bug-Ubuntu: https://launchpad.net/bugs/1382566
+---
+ src/polkitgnomeauthenticationdialog.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/polkitgnomeauthenticationdialog.c b/src/polkitgnomeauthenticationdialog.c
+index d307516..efd4185 100644
+--- a/src/polkitgnomeauthenticationdialog.c
++++ b/src/polkitgnomeauthenticationdialog.c
+@@ -574,6 +574,7 @@ polkit_gnome_authentication_dialog_constructed (GObject *object)
+   g_free (s);
+   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+   gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
++  gtk_label_set_max_width_chars (GTK_LABEL (label), 70);
+   gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
+ 
+   /* secondary message */
+@@ -601,6 +602,7 @@ polkit_gnome_authentication_dialog_constructed (GObject *object)
+     }
+   gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+   gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
++  gtk_label_set_max_width_chars (GTK_LABEL (label), 70);
+   gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0);
+ 
+   /* user combobox */
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0003-Get-user-icon-from-accountsservice-instead-of-lookin.patch b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0003-Get-user-icon-from-accountsservice-instead-of-lookin.patch
new file mode 100644
index 000000000..431493906
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0003-Get-user-icon-from-accountsservice-instead-of-lookin.patch
@@ -0,0 +1,135 @@ 
+From: Marc Deslauriers <marc.deslauriers@canonical.com>
+Date: Mon, 30 Apr 2018 18:03:22 +0000
+Subject: Get user icon from accountsservice instead of looking in ~/.face
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=669857
+Bug-Ubuntu: https://launchpad.net/bugs/928249
+---
+ src/polkitgnomeauthenticationdialog.c | 107 ++++++++++++++++++++++++++++++----
+ 1 file changed, 97 insertions(+), 10 deletions(-)
+
+diff --git a/src/polkitgnomeauthenticationdialog.c b/src/polkitgnomeauthenticationdialog.c
+index efd4185..565da87 100644
+--- a/src/polkitgnomeauthenticationdialog.c
++++ b/src/polkitgnomeauthenticationdialog.c
+@@ -135,6 +135,102 @@ user_combobox_changed (GtkComboBox *widget,
+     }
+ }
+ 
++static GdkPixbuf *
++get_user_icon (char *username)
++{
++  GError *error;
++  GDBusConnection *connection;
++  GVariant *find_user_result;
++  GVariant *get_icon_result;
++  GVariant *icon_result_variant;
++  const gchar *user_path;
++  const gchar *icon_filename;
++  GdkPixbuf *pixbuf;
++
++  error = NULL;
++  connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
++
++  if (connection == NULL)
++    {
++      g_warning ("Unable to connect to system bus: %s", error->message);
++      g_error_free (error);
++      return NULL;
++    }
++
++  find_user_result = g_dbus_connection_call_sync (connection,
++                                          "org.freedesktop.Accounts",
++                                          "/org/freedesktop/Accounts",
++                                          "org.freedesktop.Accounts",
++                                          "FindUserByName",
++                                          g_variant_new ("(s)",
++                                          username),
++                                          G_VARIANT_TYPE ("(o)"),
++                                          G_DBUS_CALL_FLAGS_NONE,
++                                          -1,
++                                          NULL,
++                                          &error);
++
++  if (find_user_result == NULL)
++    {
++      g_warning ("Accounts couldn't find user: %s", error->message);
++      g_error_free (error);
++      return NULL;
++    }
++
++  user_path = g_variant_get_string (g_variant_get_child_value (find_user_result, 0),
++                                    NULL);
++
++  get_icon_result = g_dbus_connection_call_sync (connection,
++                                                 "org.freedesktop.Accounts",
++                                                 user_path,
++                                                 "org.freedesktop.DBus.Properties",
++                                                 "Get",
++                                                 g_variant_new ("(ss)",
++                                                                "org.freedesktop.Accounts.User",
++                                                                "IconFile"),
++                                                 G_VARIANT_TYPE ("(v)"),
++                                                 G_DBUS_CALL_FLAGS_NONE,
++                                                 -1,
++                                                 NULL,
++                                                 &error);
++
++  g_variant_unref (find_user_result);
++
++  if (get_icon_result == NULL)
++    {
++      g_warning ("Accounts couldn't find user icon: %s", error->message);
++      g_error_free (error);
++      return NULL;
++    }
++
++  g_variant_get_child (get_icon_result, 0, "v", &icon_result_variant);
++  icon_filename = g_variant_get_string (icon_result_variant, NULL);
++
++  if (icon_filename == NULL)
++    {
++      g_warning ("Accounts didn't return a valid filename for user icon");
++      pixbuf = NULL;
++    }
++  else
++    {
++      /* TODO: we probably shouldn't hard-code the size to 16x16 */
++      pixbuf = gdk_pixbuf_new_from_file_at_size (icon_filename,
++                                                 16,
++                                                 16,
++                                                 &error);
++      if (pixbuf == NULL)
++        {
++          g_warning ("Couldn't open user icon: %s", error->message);
++          g_error_free (error);
++        }
++    }
++
++  g_variant_unref (icon_result_variant);
++  g_variant_unref (get_icon_result);
++
++  return pixbuf;
++}
++
+ static void
+ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+ {
+@@ -197,16 +293,7 @@ create_user_combobox (PolkitGnomeAuthenticationDialog *dialog)
+       g_free (gecos);
+ 
+       /* Load users face */
+-      pixbuf = NULL;
+-      if (passwd->pw_dir != NULL)
+-        {
+-          gchar *path;
+-          path = g_strdup_printf ("%s/.face", passwd->pw_dir);
+-          /* TODO: we probably shouldn't hard-code the size to 16x16 */
+-          pixbuf = gdk_pixbuf_new_from_file_at_scale (path, 16, 16, TRUE, NULL);
+-          g_free (path);
+-        }
+-
++      pixbuf = get_user_icon (dialog->priv->users[n]);
+       /* fall back to avatar-default icon */
+       if (pixbuf == NULL)
+         {
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch
new file mode 100644
index 000000000..83ad38d83
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch
@@ -0,0 +1,45 @@ 
+From: Jeffrey Knockel <jeff250@gmail.com>
+Date: Mon, 30 Apr 2018 18:05:20 +0000
+Subject: Use fresh X11 timestamps when displaying authentication dialog
+
+This circumvents focus-stealing prevention.
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=676076
+Bug-Debian: https://bugs.debian.org/684300
+Bug-Ubuntu: https://launchpad.net/bugs/946171
+---
+ src/polkitgnomeauthenticator.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/polkitgnomeauthenticator.c b/src/polkitgnomeauthenticator.c
+index 23163b4..e57d76e 100644
+--- a/src/polkitgnomeauthenticator.c
++++ b/src/polkitgnomeauthenticator.c
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <pwd.h>
+ #include <glib/gi18n.h>
++#include <gdk/gdkx.h>
+ 
+ #include <polkit/polkit.h>
+ #include <polkitagent/polkitagent.h>
+@@ -306,7 +307,17 @@ session_request (PolkitAgentSession *session,
+     }
+ 
+   gtk_widget_show_all (GTK_WIDGET (authenticator->dialog));
+-  gtk_window_present (GTK_WINDOW (authenticator->dialog));
++  GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (authenticator->dialog));
++
++  if (GDK_IS_X11_WINDOW (window))
++    {
++    gtk_window_present_with_time (GTK_WINDOW (authenticator->dialog), gdk_x11_get_server_time (window));
++    }
++  else
++    {
++    gtk_window_present (GTK_WINDOW (authenticator->dialog));
++    }
++
+   password = polkit_gnome_authentication_dialog_run_until_response_for_prompt (POLKIT_GNOME_AUTHENTICATION_DIALOG (authenticator->dialog),
+                                                                                modified_request,
+                                                                                echo_on,
+
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0005-configure.ac-disable-gnome-tools-that-are-not-provid.patch b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0005-configure.ac-disable-gnome-tools-that-are-not-provid.patch
new file mode 100644
index 000000000..153cca25e
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/0005-configure.ac-disable-gnome-tools-that-are-not-provid.patch
@@ -0,0 +1,28 @@ 
+From 334abb04ff953dabec63a91094de43e3cf064d7d Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 24 Feb 2023 17:29:24 +0100
+Subject: [PATCH] configure.ac: disable gnome-tools that are not provided
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 24eb724..02fccbd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,8 +33,8 @@ LT_INIT
+ # GNOME
+ # *****
+ 
+-GNOME_DEBUG_CHECK
+-GNOME_COMPILE_WARNINGS([maximum])
++#GNOME_DEBUG_CHECK
++#GNOME_COMPILE_WARNINGS([maximum])
+ 
+ #### gcc warning flags
+ 
+-- 
+2.34.1
+
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/polkit-gnome-authentication-agent-1.desktop b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/polkit-gnome-authentication-agent-1.desktop
new file mode 100644
index 000000000..c45acfa54
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome/polkit-gnome-authentication-agent-1.desktop
@@ -0,0 +1,87 @@ 
+[Desktop Entry]
+Name=PolicyKit Authentication Agent
+Name[ar]=مدير الاستيثاق PolicyKit
+Name[be]=PolicyKit - аґент аўтэнтыфікацыі
+Name[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
+Name[ca]=Agent d'autenticació del PolicyKit
+Name[cs]=Ověřovací agent PolicyKit
+Name[da]=Godkendelsesprogrammet PolicyKit
+Name[de]=Legitimationsdienst von PolicyKit
+Name[el]=Πράκτορας πιστοποίησης PolicyKit
+Name[en_GB]=PolicyKit Authentication Agent
+Name[es]=Agente de autenticación de PolicyKit
+Name[eu]=PolicyKit autentifikatzeko agentea
+Name[fi]=PolicytKit-tunnistautumisohjelma
+Name[fr]=Agent d'authentification de PolicyKit
+Name[gl]=Axente de autenticación PolicyKit
+Name[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
+Name[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
+Name[hu]=PolicyKit hitelesítési ügynök
+Name[it]=Agente di autenticazione per PolicyKit
+Name[ja]=PolicyKit 認証エージェント
+Name[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
+Name[lt]=PolicyKit tapatybės nustatymo agentas
+Name[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
+Name[mr]=PolicyKit ऑथेंटीकेशन एजेंट
+Name[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
+Name[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
+Name[pl]=Agent uwierzytelniania PolicyKit
+Name[pt]=Agente de Autenticação PolicyKit
+Name[pt_BR]=Agente de autenticação PolicyKit
+Name[ro]=Agent de autentificare PolicyKit
+Name[sk]=Agent PolicyKit na overovanie totožnosti
+Name[sl]=PolicyKit program overjanja
+Name[sv]=Autentiseringsagent för PolicyKit
+Name[ta]=PolicyKit அங்கீகார முகவர்
+Name[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
+Name[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
+Name[uk]=Агент автентифікації PolicyKit
+Name[zh_CN]=PolicyKit 认证代理
+Name[zh_HK]=PolicyKit 驗證代理程式
+Name[zh_TW]=PolicyKit 驗證代理程式
+Comment=PolicyKit Authentication Agent
+Comment[ar]=مدير الاستيثاق PolicyKit
+Comment[be]=PolicyKit - аґент аўтэнтыфікацыі
+Comment[bn_IN]=PolicyKit অনুমোদনের এজেন্ট
+Comment[ca]=Agent d'autenticació del PolicyKit
+Comment[cs]=Ověřovací agent PolicyKit
+Comment[da]=Godkendelsesprogrammet PolicyKit
+Comment[de]=Legitimationsdienst von PolicyKit
+Comment[el]=Πράκτορας πιστοποίησης PolicyKit
+Comment[en_GB]=PolicyKit Authentication Agent
+Comment[es]=Agente de autenticación de PolicyKit
+Comment[eu]=PolicyKit autentifikatzeko agentea
+Comment[fi]=PolicytKit-tunnistautumisohjelma
+Comment[fr]=Agent d'authentification de PolicyKit
+Comment[gl]=Axente de autenticación PolicyKit
+Comment[gu]=PolicyKit સત્તાધિકરણ એજન્ટ
+Comment[hi]=PolicyKit प्रमाणीकरण प्रतिनिधि
+Comment[hu]=PolicyKit hitelesítési ügynök
+Comment[it]=Agente di autenticazione per PolicyKit
+Comment[ja]=PolicyKit 認証エージェント
+Comment[kn]=PolicyKit ದೃಢೀಕರಣ ಮಧ್ಯವರ್ತಿ
+Comment[lt]=PolicyKit tapatybės nustatymo agentas
+Comment[ml]=പോളിസിക്കിറ്റ് ഓഥന്റിക്കേഷന്‍ ഏജന്റ്
+Comment[mr]=PolicyKit ऑथेंटीकेशन एजेंट
+Comment[or]=PolicyKit ବୈଧିକରଣ ସଦସ୍ୟ
+Comment[pa]=ਪਾਲਸੀਕਿੱਟ ਪਰਮਾਣਕਿਤਾ ਏਜੰਟ
+Comment[pl]=Agent uwierzytelniania PolicyKit
+Comment[pt]=Agente de Autenticação PolicyKit
+Comment[pt_BR]=Agente de autenticação PolicyKit
+Comment[ro]=Agent de autentificare PolicyKit
+Comment[sk]=Agent PolicyKit na overovanie totožnosti
+Comment[sl]=PolicyKit program overjanja
+Comment[sv]=Autentiseringsagent för PolicyKit
+Comment[ta]=PolicyKit அங்கீகார முகவர்
+Comment[te]=పాలసీకిట్ ధృవీకరణ ప్రతినిధి
+Comment[th]=ตัวกลางสำหรับยืนยันตัวบุคคล PolicyKit
+Comment[uk]=Агент автентифікації PolicyKit
+Comment[zh_CN]=PolicyKit 认证代理
+Comment[zh_HK]=PolicyKit 驗證代理程式
+Comment[zh_TW]=PolicyKit 驗證代理程式
+Exec=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
+Terminal=false
+Type=Application
+Categories=
+NoDisplay=true
+OnlyShowIn=GNOME;
diff --git a/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome_0.105.bb b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome_0.105.bb
new file mode 100644
index 000000000..e0e4a59d2
--- /dev/null
+++ b/meta-gnome/recipes-extended/polkit-gnome/polkit-gnome_0.105.bb
@@ -0,0 +1,29 @@ 
+SUMMARY = "PolicyKit-gnome provides an Authentication Agent for PolicyKit"
+HOMEPAGE = "https://gitlab.gnome.org/Archive/policykit-gnome"
+LICENSE = "GPL-2.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=74579fab173e4c5e12aac0cd83ee98ec"
+
+DEPENDS = "glib-2.0-native glib-2.0 gtk+3 polkit intltool-native"
+
+inherit autotools pkgconfig features_check
+
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+SRC_URI = " \
+    git://gitlab.gnome.org/Archive/policykit-gnome.git;protocol=https;branch=master \
+    file://0001-Select-the-current-user-to-authenticate-with-by-defa.patch \
+    file://0002-Auth-dialog-Make-the-label-wrap-at-70-chars.patch \
+    file://0003-Get-user-icon-from-accountsservice-instead-of-lookin.patch \
+    file://0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch \
+    file://0005-configure.ac-disable-gnome-tools-that-are-not-provid.patch \
+    file://polkit-gnome-authentication-agent-1.desktop \
+"
+SRCREV = "a0763a246a81188f60b0f9810143e49224dc752f"
+S = "${WORKDIR}/git"
+
+
+do_install:append() {
+  install -d ${D}${datadir}/applications
+  install -m644 ${WORKDIR}/polkit-gnome-authentication-agent-1.desktop \
+      ${D}${datadir}/applications
+}