Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 3 years ago
commit
361a16fb66
  1. 49
      SOURCES/0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
  2. 75
      SOURCES/0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
  3. 57
      SOURCES/0001-gnome-session-don-t-validate-shell-before-using-it.patch
  4. 12
      SOURCES/gnome-session-3.3.92-nv30.patch
  5. 12
      SOURCES/gnome-session-3.6.2-swrast.patch
  6. 27
      SOURCES/gnome-xorg.desktop
  7. 27
      SOURCES/gnome.desktop
  8. 26
      SOURCES/subscription-manager-support.patch
  9. 1632
      SPECS/gnome-session.spec

49
SOURCES/0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch

@ -0,0 +1,49 @@
From e3d6f1c1d342d0c74f2125ea0efa2a9669aaa8df Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 14 Aug 2018 14:49:59 +0200
Subject: [PATCH] Fedora: Set grub boot-flags on shutdown / reboot

Fedora's grub will automatically hide the boot-menu if the previous
boot has set the boot_success flag in grub's environment. This happens
automatically 30 seconds after login.

But if the user shuts down or reboots from the system-menu before then
(e.g. directly from gdm) then the boot_success flag gets not set. If
a reboot / shutdown is initiated through gnome-session then the user
is successfully interacting with the system, so set the boot_success
flag from gnome_session for this case to fix reboot from gdm leading to
the boot-menu not being hidden.
---
gnome-session/gsm-manager.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 6839a02d..589efb02 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -3823,10 +3823,22 @@ do_query_end_session_exit (GsmManager *manager)
break;
case GSM_MANAGER_LOGOUT_REBOOT:
case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
+ /*
+ * Fedora specific patch to make sure the boot-menu does not
+ * show when it is configured to auto-hide and a reboot is
+ * initiated directly from gdm.
+ */
+ system("/usr/sbin/grub2-set-bootflag boot_success");
reboot = TRUE;
break;
case GSM_MANAGER_LOGOUT_SHUTDOWN:
case GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT:
+ /*
+ * Fedora specific patch to make sure the boot-menu does not
+ * show when it is configured to auto-hide and a shutdown is
+ * initiated directly from gdm.
+ */
+ system("/usr/sbin/grub2-set-bootflag boot_success");
shutdown = TRUE;
break;
default:
--
2.28.0

75
SOURCES/0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch

@ -0,0 +1,75 @@
From 687ec347d2fa0bca227e3a583a3a47f9bbc10bb0 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Tue, 4 Oct 2016 13:15:39 -0400
Subject: [PATCH] check-accelerated-gles: Use eglGetPlatformDisplay{,EXT}

eglGetDisplay forces the implementation to guess, and in general it
can't guess correctly. Be explicit.

Signed-off-by: Adam Jackson <ajax@redhat.com>
---
.../gnome-session-check-accelerated-gles-helper.c | 36 +++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/tools/gnome-session-check-accelerated-gles-helper.c b/tools/gnome-session-check-accelerated-gles-helper.c
index 2a38d9e..472d1ad 100644
--- a/tools/gnome-session-check-accelerated-gles-helper.c
+++ b/tools/gnome-session-check-accelerated-gles-helper.c
@@ -34,11 +34,43 @@
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <EGL/egl.h>
+#include <EGL/eglext.h>
#endif
#include "gnome-session-check-accelerated-common.h"
#ifdef GDK_WINDOWING_X11
+static EGLDisplay
+get_display (void *native)
+{
+ EGLDisplay dpy = NULL;
+ const char *client_exts = eglQueryString (NULL, EGL_EXTENSIONS);
+
+ if (g_strstr_len (client_exts, -1, "EGL_KHR_platform_base")) {
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
+ (void *) eglGetProcAddress ("eglGetPlatformDisplay");
+
+ if (get_platform_display)
+ dpy = get_platform_display (EGL_PLATFORM_X11_KHR, native, NULL);
+
+ if (dpy)
+ return dpy;
+ }
+
+ if (g_strstr_len (client_exts, -1, "EGL_EXT_platform_base")) {
+ PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display =
+ (void *) eglGetProcAddress ("eglGetPlatformDisplayEXT");
+
+ if (get_platform_display)
+ dpy = get_platform_display (EGL_PLATFORM_X11_KHR, native, NULL);
+
+ if (dpy)
+ return dpy;
+ }
+
+ return eglGetDisplay ((EGLNativeDisplayType) native);
+}
+
static char *
get_gles_renderer (void)
{
@@ -67,7 +99,9 @@ get_gles_renderer (void)
gdk_error_trap_push ();
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
- egl_dpy = eglGetDisplay (display);
+
+ egl_dpy = get_display (display);
+
if (!egl_dpy) {
g_warning ("eglGetDisplay() failed");
goto out;
--
2.9.3

57
SOURCES/0001-gnome-session-don-t-validate-shell-before-using-it.patch

@ -0,0 +1,57 @@
From 63d74edc4b112669fdce14d88d37e2dd0315ff7e Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 19 Nov 2019 09:29:16 -0500
Subject: [PATCH] gnome-session: don't validate shell before using it

Users sometimes set their shell to an invalid shell to prevent
login from proceeding.

GNOME on Wayland still allows login in these cases.

This commit makes the behavior match expectations by skipping
shell validity checks when deciding to run though a login shell.
---
gnome-session/gnome-session.in | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnome-session/gnome-session.in b/gnome-session/gnome-session.in
index ddd1a591..b4b1f8fa 100755
--- a/gnome-session/gnome-session.in
+++ b/gnome-session/gnome-session.in
@@ -1,32 +1,29 @@
#!/bin/sh
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
- [ -n "$SHELL" ] &&
- grep -q "$SHELL" /etc/shells &&
- ! (echo "$SHELL" | grep -q "false") &&
- ! (echo "$SHELL" | grep -q "nologin"); then
+ [ -n "$SHELL" ]; then
if [ "$1" != '-l' ]; then
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
else
shift
fi
fi
SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
REGION=${SETTING#\'}
REGION=${REGION%\'}
if [ -n "$REGION" ]; then
unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
if [ "$LANG" != "$REGION" ] ; then
export LC_TIME=$REGION
export LC_NUMERIC=$REGION
export LC_MONETARY=$REGION
export LC_MEASUREMENT=$REGION
export LC_PAPER=$REGION
fi
fi
exec @libexecdir@/gnome-session-binary "$@"
--
2.32.0

12
SOURCES/gnome-session-3.3.92-nv30.patch

@ -0,0 +1,12 @@
--- gnome-session/data/hardware-compatibility 2012-03-21 16:30:06.269104695 -0700
+++ gnome-session/data/hardware-compatibility.new 2012-03-22 23:26:37.201967075 -0700
@@ -19,6 +19,9 @@
-Mesa DRI R[12]00[^[:digit:]]
-Mesa DRI R[12]00$
+# NV30 family on Nouveau: https://bugzilla.redhat.com/show_bug.cgi?id=745202
+-Gallium .* on NV3[0-9A-F]$
+
# Old Mesa software GL renderer
-software rasterizer

12
SOURCES/gnome-session-3.6.2-swrast.patch

@ -0,0 +1,12 @@
diff -up gnome-session-3.6.2/data/hardware-compatibility.jx gnome-session-3.6.2/data/hardware-compatibility
--- gnome-session-3.6.2/data/hardware-compatibility.jx 2012-12-10 12:43:06.000000000 -0500
+++ gnome-session-3.6.2/data/hardware-compatibility 2012-12-10 12:43:50.424352484 -0500
@@ -23,7 +23,7 @@
-Gallium .* on NV3[0-9A-F]$
# Old Mesa software GL renderer
--software rasterizer
+#software rasterizer
# Gallium has softpipe; we explicitly enable llvmpipe
-softpipe

27
SOURCES/gnome-xorg.desktop

@ -0,0 +1,27 @@
[Desktop Entry]
Name[de]=Standard (X11 Anzeige-Server)
Name[es]=Estándar (servidor gráfico X11)
Name[fr]=Standard (serveur affichage X11)
Name[it]=Standard (server grafico X11)
Name[ja]=スタンダード (X11 ディスプレイサーバー)
Name[ko]=탠다드 (X11 디스플레이 서버)
Name[pt_BR]=Padrão (servidor de exibição X11)
Name[ru]=Стандартный (дисплейный сервер X11)
Name[zh_CN]=标准(X11 显示服务器)
Name[zh_TW]=標準(X11顯示服務器)
Name=Standard (X11 display server)
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
Comment[es]=Esta sesión accede a GNOME
Comment[fr]=Cette session vous connecte dans GNOME
Comment[it]=Questa sessione esegue l'accesso in GNOME
Comment[ja]=このセッションで GNOME にログインします
Comment[ko]=이 세션을 사용하면 그놈에 로그인합니다
Comment[pt_BR]=Essa sessão o leva ao GNOME
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
Comment[zh_CN]=此会话将您登录到 GNOME
Comment[zh_TW]=這個工作階段讓您登入 GNOME
Comment=This session logs you into GNOME
Exec=gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME

27
SOURCES/gnome.desktop

@ -0,0 +1,27 @@
[Desktop Entry]
Name[de]=Standard (Wayland Anzeige-Server)
Name[es]=Estándar (servidor gráfico Wayland)
Name[fr]=Standard (serveur affichage Wayland)
Name[it]=Standard (server grafico Wayland)
Name[ja]=スタンダード (Wayland ディスプレイサーバー)
Name[ko]=스탠다드 (Wayland 디스플레이 서버)
Name[pt_BR]=Padrão (servidor de exibição Wayland)
Name[ru]=Стандартный (дисплейный сервер Wayland)
Name[zh_CN]=标准(Wayland 显示服务器)
Name[zh_TW]=標準(Wayland顯示服務器)
Name=Standard (Wayland display server)
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
Comment[es]=Esta sesión accede a GNOME
Comment[fr]=Cette session vous connecte dans GNOME
Comment[it]=Questa sessione esegue l'accesso in GNOME
Comment[ja]=このセッションで GNOME にログインします
Comment[ko]=이 세션을 사용하면 그놈에 로그인합니다
Comment[pt_BR]=Essa sessão o leva ao GNOME
Comment[ru]=Этот сеанс позволяет вам войти в GNOME
Comment[zh_CN]=此会话将您登录到 GNOME
Comment[zh_TW]=這個工作階段讓您登入 GNOME
Comment=This session logs you into GNOME
Exec=gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME

26
SOURCES/subscription-manager-support.patch

@ -0,0 +1,26 @@
From 523602887f92b448b497e99bf56d0b9f1ef376f7 Mon Sep 17 00:00:00 2001
From: Kalev Lember <klember@redhat.com>
Date: Mon, 6 Sep 2021 21:12:38 +0200
Subject: [PATCH] data: Require org.gnome.SettingsDaemon.Subscription

Make sure the gnome-settings-daemon subman plugin gets started on
session startup.
---
data/meson.build | 1 +
1 file changed, 1 insertion(+)

diff --git a/data/meson.build b/data/meson.build
index e02b80d3..1684a99e 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -24,6 +24,7 @@ required_components = {
'org.gnome.SettingsDaemon.Sharing',
'org.gnome.SettingsDaemon.Smartcard',
'org.gnome.SettingsDaemon.Sound',
+ 'org.gnome.SettingsDaemon.Subscription',
'org.gnome.SettingsDaemon.UsbProtection',
'org.gnome.SettingsDaemon.Wacom',
'org.gnome.SettingsDaemon.XSettings',
--
2.31.1

1632
SPECS/gnome-session.spec

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save