diff --git a/gnome-session-logging-to-systemd-journal-configurable.patch b/gnome-session-logging-to-systemd-journal-configurable.patch new file mode 100644 index 0000000..74f48e8 --- /dev/null +++ b/gnome-session-logging-to-systemd-journal-configurable.patch @@ -0,0 +1,136 @@ +From e7675cc3c3c078aedf57e6d386f10c47eb22f0d1 Mon Sep 17 00:00:00 2001 +From: Felix Zhang +Date: Sun, 17 Jul 2016 17:27:06 +0800 +Subject: [PATCH] logging to systemd journal configurable + +--- + configure.ac | 19 +++++++++++++++++++ + gnome-session/gsm-autostart-app.c | 6 ++++-- + gnome-session/gsm-manager.c | 8 ++++---- + gnome-session/main.c | 4 ++-- + 4 files changed, 29 insertions(+), 8 deletions(-) + +Index: gnome-session-3.26.0/configure.ac +=================================================================== +--- gnome-session-3.26.0.orig/configure.ac 2017-09-12 16:06:00.000000000 +0200 ++++ gnome-session-3.26.0/configure.ac 2017-09-22 13:53:17.805764740 +0200 +@@ -148,6 +148,25 @@ + AM_CONDITIONAL(HAVE_SYSTEMD, [test "$enable_systemd" = "yes"], [Using systemd]) + + dnl ==================================================================== ++dnl systemd journal support ++dnl ==================================================================== ++AC_ARG_ENABLE([systemd-journal], ++ AS_HELP_STRING([--enable-systemd-journal], [Send output to systemd journal]), ++ [enable_systemd_journal=$enableval], ++ [enable_systemd_journal=$enable_systemd]) ++ ++AC_MSG_CHECKING([whether to send the outputs of gnome-session and its child processes to systemd journal]) ++ ++AC_MSG_RESULT($enable_systemd_journal) ++ ++if test x$enable_systemd_journal = xyes ; then ++ if test x$enable_systemd = xno ; then ++ AC_MSG_ERROR([Systemd not found, or it is not enabled]) ++ fi ++ AC_DEFINE(ENABLE_SYSTEMD_JOURNAL, 1, [Define if output should be send to systemd journal]) ++fi ++ ++dnl ==================================================================== + dnl Check for ConsoleKit + dnl ==================================================================== + +Index: gnome-session-3.26.0/gnome-session/gsm-autostart-app.c +=================================================================== +--- gnome-session-3.26.0.orig/gnome-session/gsm-autostart-app.c 2017-05-30 18:57:54.000000000 +0200 ++++ gnome-session-3.26.0/gnome-session/gsm-autostart-app.c 2017-09-22 13:53:17.805764740 +0200 +@@ -33,7 +33,9 @@ + #endif + + #ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + #include ++#endif + #include + #endif + +@@ -1027,7 +1029,7 @@ + app->priv->startup_id = sn_id; + } + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + static void + on_child_setup (GsmAutostartApp *app) + { +@@ -1098,7 +1100,7 @@ + g_app_launch_context_setenv (ctx, "DESKTOP_AUTOSTART_ID", startup_id); + } + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + if (sd_booted () > 0) { + child_setup_func = (GSpawnChildSetupFunc) on_child_setup; + child_setup_data = app; +Index: gnome-session-3.26.0/gnome-session/gsm-manager.c +=================================================================== +--- gnome-session-3.26.0.orig/gnome-session/gsm-manager.c 2017-07-19 17:07:22.000000000 +0200 ++++ gnome-session-3.26.0/gnome-session/gsm-manager.c 2017-09-22 13:53:17.805764740 +0200 +@@ -40,7 +40,7 @@ + #include "gsm-manager.h" + #include "org.gnome.SessionManager.h" + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + #include + #endif + +@@ -271,7 +271,7 @@ + allow_logout = !_log_out_is_locked_down (manager); + } + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID, + "PRIORITY=%d", 3, + "MESSAGE=Unrecoverable failure in required component %s", app_id, +@@ -301,7 +301,7 @@ + extensions = NULL; + } + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_UNRECOVERABLE_FAILURE_MSGID, + "PRIORITY=%d", 3, + "MESSAGE=Unrecoverable failure in required component %s", app_id, +@@ -1355,7 +1355,7 @@ + do_phase_startup (manager); + break; + case GSM_MANAGER_PHASE_RUNNING: +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + sd_journal_send ("MESSAGE_ID=%s", GSM_MANAGER_STARTUP_SUCCEEDED_MSGID, + "PRIORITY=%d", 5, + "MESSAGE=Entering running state", +Index: gnome-session-3.26.0/gnome-session/main.c +=================================================================== +--- gnome-session-3.26.0.orig/gnome-session/main.c 2017-06-29 16:24:18.000000000 +0200 ++++ gnome-session-3.26.0/gnome-session/main.c 2017-09-22 13:53:17.805764740 +0200 +@@ -41,7 +41,7 @@ + #include "gsm-system.h" + #include "gsm-fail-whale.h" + +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + #include + #endif + +@@ -329,7 +329,7 @@ + * journald picks ups the nicer "gnome-session" as the program + * name instead of whatever shell script GDM happened to use. + */ +-#ifdef HAVE_SYSTEMD ++#ifdef ENABLE_SYSTEMD_JOURNAL + if (!debug) { + int journalfd; + diff --git a/gnome-session.changes b/gnome-session.changes index ac9d340..e1e73ab 100644 --- a/gnome-session.changes +++ b/gnome-session.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Fri Sep 22 11:52:18 UTC 2017 - fcrozat@suse.com + +- Re-add + gnome-session-logging-to-systemd-journal-configurable.patch (not + yet upstream [bsc#979498], [bgo#768982]). + +------------------------------------------------------------------- +Fri Sep 22 08:36:31 UTC 2017 - dimstar@opensuse.org + +- Revert "Enable SLE-Classic for wayland": the SLE-Classic session + requires gnome-shell-extensions, which is the reason why the + X-Session is shipped as part of that package. The wayland session + should also be there. + +------------------------------------------------------------------- +Wed Sep 20 12:12:26 UTC 2017 - dimstar@opensuse.org + +- Register GNOME with u-a handler for default.desktop + implementation, which obsoletes the change in + /etc/sysconfig/windowmanager to pick the 'default window manager' + (boo#1039756). + ------------------------------------------------------------------- Fri Sep 15 03:53:53 UTC 2017 - xwang@suse.com diff --git a/gnome-session.spec b/gnome-session.spec index 0312609..8fcfdb7 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -26,14 +26,12 @@ Url: http://www.gnome.org Source: http://download.gnome.org/sources/gnome-session/3.26/%{name}-%{version}.tar.xz Source1: gnome Source2: gnome.desktop -Source3: sle-classic.desktop +# PATCH-FEATURE-UPSTREAM gnome-session-logging-to-systemd-journal-configurable.patch bsc#876685 bgo#768982 fezhang@suse.com -- Add a new configure switch for systemd journal support. +Patch0: gnome-session-logging-to-systemd-journal-configurable.patch BuildRequires: fdupes BuildRequires: intltool BuildRequires: pkgconfig BuildRequires: tcpd-devel -%if !0%{?is_opensuse} -BuildRequires: translation-update-upstream -%endif BuildRequires: update-desktop-files BuildRequires: xsltproc BuildRequires: pkgconfig(dbus-glib-1) >= 0.76 @@ -59,6 +57,9 @@ BuildRequires: pkgconfig(xtst) Requires: %{name}-core = %{version} Requires: %{name}-default-session = %{version} Recommends: %{name}-lang +%if !0%{?is_opensuse} +BuildRequires: translation-update-upstream +%endif # gnome-session-wayland not recommended by default yet: causes various issues: # qemu's default video mode is 'cirrus', which stays black with GNOME Wayland # YaST cannot be started without additional tricks @@ -106,6 +107,7 @@ functional GNOME desktop. %prep %setup -q +%patch0 -p1 %if !0%{?is_opensuse} translation-update-upstream %endif @@ -126,9 +128,6 @@ install -d -m755 %{buildroot}%{_bindir} install -m755 %{SOURCE1} %{buildroot}%{_bindir}/gnome install -d -m755 %{buildroot}%{_datadir}/xsessions install -m644 %{SOURCE2} %{buildroot}%{_datadir}/xsessions/gnome.desktop -%if !0%{?is_opensuse} -install -m644 %{SOURCE3} %{buildroot}%{_datadir}/wayland-sessions/sle-classic.desktop -%endif %suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/gnome.desktop %find_lang %{name}-3.0 %{?no_lang_C} %fdupes %{buildroot}/%{_prefix} @@ -137,11 +136,26 @@ install -m644 %{SOURCE3} %{buildroot}%{_datadir}/wayland-sessions/sle-classic.de rm -fr %{buildroot}%{_datadir}/wayland-sessions %endif +# Prepare for 'default.desktop' being update-alternative handled, boo#1039756 +mkdir -p %{buildroot}%{_sysconfdir}/alternatives +touch %{buildroot}%{_sysconfdir}/alternatives/default-xsession.desktop +ln -s %{_sysconfdir}/alternatives/default-xsession.desktop %{buildroot}%{_datadir}/xsessions/default.desktop + +%post +%{_sbindir}/update-alternatives --install %{_datadir}/xsessions/default.desktop \ + default-xsession.desktop %{_datadir}/xsessions/gnome.desktop 25 + +%postun +[ -f %{_datadir}/xsessions/gnome.desktop ] || %{_sbindir}/update-alternatives \ + --remove default-xsession.desktop %{_datadir}/xsessions/gnome.desktop + %files %defattr (-, root, root) %{_bindir}/gnome +%{_datadir}/xsessions/default.desktop %{_datadir}/xsessions/gnome.desktop %{_datadir}/xsessions/gnome-xorg.desktop +%ghost %{_sysconfdir}/alternatives/default-xsession.desktop %files default-session %defattr (-, root, root) @@ -153,9 +167,6 @@ rm -fr %{buildroot}%{_datadir}/wayland-sessions %defattr (-, root, root) %dir %{_datadir}/wayland-sessions %{_datadir}/wayland-sessions/gnome.desktop -%if !0%{?is_opensuse} -%{_datadir}/wayland-sessions/sle-classic.desktop -%endif # Disabled as wayland is now the default session again. #{_datadir}/wayland-sessions/gnome-wayland.desktop %endif diff --git a/sle-classic.desktop b/sle-classic.desktop deleted file mode 100644 index a8b401f..0000000 --- a/sle-classic.desktop +++ /dev/null @@ -1,142 +0,0 @@ -[Desktop Entry] -Name=SLE Classic -Name[af]=SLE Klassiek -Name[an]=SLE clasico -Name[ar]=جنوم تقليدية -Name[as]=SLE ক্লাচিক -Name[bg]=Класически SLE -Name[bn_IN]=SLE ক্লাসিক -Name[bs]=Klasični SLE -Name[ca]=SLE clàssic -Name[ca@valencia]=SLE clàssic -Name[cs]=SLE klasik -Name[da]=SLE Classic -Name[de]=SLE Classic -Name[el]=SLE Classic -Name[en_GB]=SLE Classic -Name[eo]=SLE-klasika -Name[es]=SLE clásico -Name[et]=Klassikaline SLE -Name[eu]=SLE Klasikoa -Name[fa]=گنوم کلاسیک -Name[fi]=Perinteinen Gnome -Name[fr]=SLE Classique -Name[fur]=SLE Classic -Name[gd]=SLE clasaigeach -Name[gl]=SLE clasico -Name[gu]=SLE ક્લાસિક -Name[he]=SLE קלסי -Name[hi]=SLE क्लासिक -Name[hu]=Klasszikus SLE -Name[id]=SLE Klasik -Name[is]=SLE Klassík -Name[it]=SLE classico -Name[ja]=SLE クラシック -Name[kk]=Классикалық SLE -Name[km]=SLE Classic -Name[kn]=SLE ಕ್ಲಾಸಿಕ್ -Name[ko]=그놈 클래식 -Name[lt]=Klasikinis SLE -Name[lv]=Klasiskais SLE -Name[ml]=ഗ്നോം ക്ലാസ്സിക്‍ -Name[mr]=SLE क्लासिक -Name[ms]=SLE Klasik -Name[nb]=Klassisk SLE -Name[ne]=जिनोम क्लासिक -Name[nl]=Gnome klassiek -Name[oc]=SLE Classic -Name[or]=SLE କ୍ଲାସିକ -Name[pa]=ਗਨੋਮ ਕਲਾਸਿਕ -Name[pl]=Klasyczne SLE -Name[pt]=SLE clássico -Name[pt_BR]=SLE Clássico -Name[ro]=SLE Clasic -Name[ru]=Классический SLE -Name[sk]=Klasické prostredie SLE -Name[sl]=Običajno namizje SLE -Name[sr]=Класичан Гном -Name[sr@latin]=Klasičan Gnom -Name[sv]=SLE Klassisk -Name[ta]=SLE கிளாஸிக் -Name[te]=గ్నోమ్ క్లాసిక్ -Name[tg]=SLE-и классикӣ -Name[th]=SLE คลาสสิก -Name[tr]=SLE Klasik -Name[uk]=Класичний SLE -Name[vi]=SLE cổ điển -Name[zh_CN]=SLE 经典模式 -Name[zh_HK]=SLE Classic -Name[zh_TW]=SLE Classic -Comment=This session logs you into SLE Classic -Comment[af]=Hierdie sessie laat mens aanmeld by SLE Klassiek -Comment[an]=Ista sesión encieta lo SLE clasico -Comment[ar]=تولجك هذه الجلسة في جنوم التقليدية -Comment[as]=এই অধিবেশনে আপোনাক SLE ক্লাচিকলৈ লগ কৰে -Comment[bg]=Работната среда изглежда като класическия SLE (2.x) -Comment[bn_IN]=এই সেশন অাপনাকে SLE ক্লাসিকে লগ করায় -Comment[bs]=Ova sesija vas prijavljuje na klasični SLE -Comment[ca]=Aquesta sessió us permet utilitzar el SLE clàssic -Comment[ca@valencia]=Esta sessió vos permet utilitzar el SLE clàssic -Comment[cs]=Toto sezení vás přihlásí do SLE klasik -Comment[da]=Denne session logger dig ind i SLE Classic -Comment[de]=Diese Sitzung meldet Sie in SLE Classic an -Comment[el]=Αυτή η συνεδρία σας συνδέει στο SLE Classic -Comment[en_GB]=This session logs you into SLE Classic -Comment[eo]=Ĉi seanco ensalutas vin SLE-klasiken -Comment[es]=Esta sesión inicia SLE clásico -Comment[et]=See on klassikalise SLE seanss -Comment[eu]=Saio honek SLE Klasikoa hasten du -Comment[fa]=این نشست شما را به گنوم کلاسیک وارد می‌کند -Comment[fi]=Tämä istunto kirjaa sinut perinteiseen Gnomeen -Comment[fr]=Cette session vous connnecte à SLE Classique -Comment[fur]=Cheste session a si invie cun SLE classic -Comment[gd]=Clàraidh an seisean seo a-steach gu SLE clasaigeach thu -Comment[gl]=Esta sesión iniciarao en SLE clásico -Comment[gu]=આ સત્ર તમને SLE ક્લાસિકમાં પ્રવેશ આપે છે -Comment[he]=הפעלה זו מכניסה אותך למצב הקלסי של SLE -Comment[hi]=यह सत्र गनोम क्लासिक में आपको लॉगइन करेगा -Comment[hu]=Bejelentkezés a klasszikus SLE környezetbe -Comment[id]=Sesi ini memasukkan Anda ke SLE Klasik -Comment[is]=Þessi seta skráir þig inn í klassískt SLE -Comment[it]=Questa sessione si avvia con SLE classico -Comment[ja]=SLE クラシックモードでログインします -Comment[kk]=Бұл сессия арқылы классикалық SLE ішіне кіресіз -Comment[km]=សម័យ​នេះ​នឹង​ឲ្យ​អ្នក​ចូល SLE Classic -Comment[kn]=ಈ ಅಧಿವೇಶನವು ನಿಮ್ಮನ್ನು SLE ಕ್ಲಾಸಿಕ್‌ಗೆ ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡುತ್ತದೆ -Comment[ko]=이 세션을 사용하면 그놈 클래식에 로그인합니다 -Comment[lt]=Šis seansas prijungs jus prie klasikinio SLE -Comment[lv]=Šī sesija ieraksta jūs klasiskajā SLE vidē -Comment[ml]=ഈ പ്രവര്‍ത്തനവേള നിങ്ങളെ ഗ്നോം ക്ലാസ്സിക്കിലേക്കു് കയറ്റുന്നു -Comment[mr]=हे सत्र तुम्हाला SLE क्लासिक सत्रामध्ये प्रवेश करून देतो -Comment[ms]=Sesi ini log masukkan anda ke SLE Klasik -Comment[nb]=Denne økten logger inn i klassisk SLE -Comment[ne]=यो सेसन जिनोम क्लासिकमा लगईन हुन्छ -Comment[nl]=Deze sessie meldt u aan bij Gnome klassiek -Comment[oc]=Aquesta session vos connècta a SLE Classic -Comment[or]=ଏହି ଅଧିବେଶନ ଆପଣଙ୍କୁ SLE କ୍ଲାସିକରେ ଲଗ କରାଇଥାଏ -Comment[pa]=ਇਹ ਸ਼ੈਸ਼ਨ ਤੁਹਾਨੂੰ ਗਨੋਮ ਕਲਾਸਿਕ ਵਿੱਚ ਲਾਗ ਕਰਦਾ ਹੈ -Comment[pl]=Ta sesja loguje do klasycznego środowiska SLE -Comment[pt]=Esta sessão liga-o ao SLE clássico -Comment[pt_BR]=Essa sessão se inicia como SLE Clássico -Comment[ro]=Această sesiune vă autentifică în SLE Clasic -Comment[ru]=Данный сеанс использует классический рабочий стол SLE -Comment[sk]=Táto relácia vás prihlási do klasického prostredia SLE -Comment[sl]=Seja omogoča prijavo v običajno namizje SLE. -Comment[sr]=Ова сесија вас пријављује у класичан Гном -Comment[sr@latin]=Ova sesija vas prijavljuje u klasičan Gnom -Comment[sv]=Denna session loggar in dig till SLE Klassisk -Comment[ta]=இந்த அமர்வு உங்களை SLE கிளாஸிக்கில் புகுபதிவு செய்யும் -Comment[te]=ఈ సెషన్ గ్నోమ్‌ క్లాసిక్ లోనికి లాగ్ చేస్తుంది -Comment[tg]=Ин ҷаласа шуморо ба SLE-и классикӣ ворид мекунад -Comment[th]=วาระนี้จะนำคุณเข้าสู่ระบบ SLE คลาสสิก -Comment[tr]=Bu oturum, SLE Klasik sürümüne giriş yapmanızı sağlar. -Comment[uk]=Це — сеанс входу в класичний SLE -Comment[vi]=Phiên làm việc này đăng nhập bạn vào SLE Cổ điển -Comment[zh_CN]=该会话将登录到“SLE 经典模式” -Comment[zh_HK]=這個作業階段讓你登入 SLE Classic -Comment[zh_TW]=這個作業階段讓您登入 SLE Classic -Exec=env GNOME_SHELL_SESSION_MODE=classic SLE_CLASSIC_MODE=1 gnome-session --session gnome-classic -TryExec=gnome-session -Icon= -Type=Application -DesktopNames=GNOME-Classic;GNOME