SHA256
1
0
forked from pool/gdm

Accepting request 538272 from GNOME:Factory

- Update gdm-ignore-duplicate-session.patch: Fix patch doesn't work
  when wayland is disabled (bsc#1060627). (forwarded request 538216 from xiaoguang_wang)

OBS-URL: https://build.opensuse.org/request/show/538272
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdm?expand=0&rev=200
This commit is contained in:
Dominique Leuenberger 2017-11-03 18:06:57 +00:00 committed by Git OBS Bridge
commit 1c174128c1
5 changed files with 114 additions and 47 deletions

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2bfaa3664281461261e1e38be5b961cfa15da7284edbe416440b9cfc8f9504d6
size 1114660

3
gdm-3.26.2.1.tar.xz Normal file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:17ddcb00602c2b426de58bb4b0d99af9de27450a8557dcc5ec850c080d55ad57
size 1119568

@ -1,8 +1,8 @@
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
index 4a5434ed..08829f6f 100644
--- a/libgdm/gdm-sessions.c
+++ b/libgdm/gdm-sessions.c
@@ -184,9 +184,22 @@ collect_sessions_from_directory (const char *dirname)
Index: gdm-3.26.2.1/libgdm/gdm-sessions.c
===================================================================
--- gdm-3.26.2.1.orig/libgdm/gdm-sessions.c
+++ gdm-3.26.2.1/libgdm/gdm-sessions.c
@@ -202,6 +202,34 @@ collect_sessions_from_directory (const c
g_dir_close (dir);
}
@ -17,18 +17,11 @@ index 4a5434ed..08829f6f 100644
+ return g_str_equal (session->translated_name, translated_name) ? TRUE : FALSE;
+}
+
static void
collect_sessions (void)
{
+static void
+remove_duplicated_session_name (void)
+{
+ GdmSessionFile *session;
+ char *translated_name = NULL;
int i;
const char *xorg_search_dirs[] = {
"/etc/X11/sessions/",
@@ -223,6 +236,16 @@ collect_sessions (void)
collect_sessions_from_directory (wayland_search_dirs [i]);
}
#endif
+
+ session = g_hash_table_lookup (gdm_available_sessions_map, "default");
+ if (session)
@ -39,6 +32,25 @@ index 4a5434ed..08829f6f 100644
+ if (session)
+ g_hash_table_remove (gdm_available_sessions_map, session->id);
+ }
+}
+
static void
collect_sessions (void)
{
@@ -233,6 +261,7 @@ collect_sessions (void)
#ifdef ENABLE_WAYLAND_SUPPORT
#ifdef ENABLE_USER_DISPLAY_SERVER
if (g_getenv ("WAYLAND_DISPLAY") == NULL && g_getenv ("RUNNING_UNDER_GDM") != NULL) {
+ remove_duplicated_session_name();
return;
}
#endif
@@ -241,6 +270,8 @@ collect_sessions (void)
collect_sessions_from_directory (wayland_search_dirs [i]);
}
#endif
+
+ remove_duplicated_session_name();
}
/**

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Thu Nov 2 01:53:56 UTC 2017 - xwang@suse.com
- Update gdm-ignore-duplicate-session.patch: Fix patch doesn't work
when wayland is disabled (bsc#1060627).
-------------------------------------------------------------------
Wed Nov 1 14:02:31 UTC 2017 - fezhang@suse.com
- Update to version 3.26.2.1:
+ Fix newly introduced race leading to crash for some users.
-------------------------------------------------------------------
Mon Oct 30 22:31:48 UTC 2017 - luc14n0@linuxmail.org
- Update to version 3.26.2:
+ Use dconf to force vitruvian man on panel.
+ Hide -xorg sessions under X11.
+ Don't add bogus wtmp entries.
+ Wait for X server to die before respawning.
+ Updated translations.
- Update Url to https://wiki.gnome.org/Projects/GDM: current GDM's
project page.
- Add the following BuildRequires based on configure.ac: gio-2.0,
gio-unix-2.0, glib-2.0, gobject-2.0, gthread-2.0 and xcb.
- Add fdupes BuildRequires: removal of duplicates.
- Run spec-cleaner to get the respective pkgconfigs from
check-devel, iso-codes-devel, libXdmcp-devel, libXi-devel,
libXinerama-devel, gobject-introspection-devel: pkgconfig(*)
check, iso-codes, xdmcp, xi, xinerama and gobject-introspection.
- Drop %glib2_gsettings_schema_requires macro: not needed/used
anymore thanks to file triggers.
-------------------------------------------------------------------
Wed Oct 18 06:37:37 UTC 2017 - xwang@suse.com
@ -75,6 +108,12 @@ Mon Aug 14 12:52:51 UTC 2017 - zaitor@opensuse.org
- Conditionally apply translations-update-upstream BuildRequires
and macro for non-openSUSE only.
-------------------------------------------------------------------
Mon Aug 14 12:20:58 UTC 2017 - fezhang@suse.com
- Drop gdm-user-logout-issue.patch: fixed upstream when the
implementations was refactored.
-------------------------------------------------------------------
Mon Jul 24 15:25:00 UTC 2017 - dimstar@opensuse.org
@ -862,6 +901,12 @@ Thu Nov 28 20:50:00 UTC 2013 - dimstar@opensuse.org
- Pass --with-gnome-settings-daemon-directory to configure.
- Drop gdm-XDMCP-fixes.patch: fixed upstream.
-------------------------------------------------------------------
Wed Nov 27 19:52:01 UTC 2013 - tyang@suse.com
- Add gdm-user-logout-issue.patch: Fix user logout causes black
screen when switching (bnc#940159).
-------------------------------------------------------------------
Wed Nov 27 19:52:01 UTC 2013 - fcrozat@suse.com

@ -25,13 +25,13 @@
%define enable_split_authentication 0
Name: gdm
Version: 3.26.1
Version: 3.26.2.1
Release: 0
Summary: The GNOME Display Manager
License: GPL-2.0+
Group: System/GUI/GNOME
Url: http://projects.gnome.org/gdm/
Source: http://download.gnome.org/sources/gdm/3.26/%{name}-%{version}.tar.xz
Url: https://wiki.gnome.org/Projects/GDM
Source: https://download.gnome.org/sources/gdm/3.26/%{name}-%{version}.tar.xz
Source1: gdm.pamd
Source2: gdm-autologin.pamd
Source3: gdm-launch-environment.pamd
@ -71,14 +71,11 @@ BuildRequires: check-devel
BuildRequires: dconf
BuildRequires: gnome-common
# needed for directory ownership
BuildRequires: fdupes
BuildRequires: gnome-session-core
BuildRequires: gobject-introspection-devel >= 0.9.12
BuildRequires: iso-codes-devel
BuildRequires: keyutils-devel
BuildRequires: libXdmcp-devel
BuildRequires: libXi-devel
BuildRequires: libXinerama-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: pwdutils
BuildRequires: tcpd-devel
%if !0%{?is_opensuse}
@ -87,13 +84,25 @@ BuildRequires: translation-update-upstream
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-server
BuildRequires: xorg-x11-server-extra
BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: pkgconfig(accountsservice) >= 0.6.35
BuildRequires: pkgconfig(check)
BuildRequires: pkgconfig(gio-2.0) >= 2.36.0
BuildRequires: pkgconfig(gio-unix-2.0) >= 2.36.0
BuildRequires: pkgconfig(glib-2.0) >= 2.36.0
BuildRequires: pkgconfig(gobject-2.0) >= 2.36.0
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.12
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 2.91.1
BuildRequires: pkgconfig(iso-codes)
BuildRequires: pkgconfig(libcanberra-gtk3) >= 0.4
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(ply-boot-client)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
%ifnarch s390 s390x
BuildRequires: pkgconfig(xorg-server)
%endif
@ -119,7 +128,6 @@ Obsoletes: gnome-applets-gdm < %{version}
Obsoletes: gdmflexiserver < %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
DocDir: %{_defaultdocdir}
%glib2_gsettings_schema_requires
%description
The GNOME Display Manager is a system service that is responsible for
@ -193,7 +201,7 @@ cp %{S:8} .
translation-update-upstream
%endif
%if 0%{?is_opensuse}
# Disabled for now, see boo#981372 and boo#971852
# Disabled for now, see boo#981372 and boo#971852
#patch0 -p1
%endif
%patch7 -p1
@ -247,32 +255,32 @@ find %{buildroot} -name '*.la' -type f -delete -print
# Do not ship the systemd.service file: openSUSE uses xdm, which enables the DM based on sysconfig.
rm %{buildroot}%{systemdsystemunitdir}/gdm.service
## Install PAM files.
mkdir -p $RPM_BUILD_ROOT/etc/pam.d
mkdir -p %{buildroot}/etc/pam.d
# Generic pam config
cp %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm
cp %{SOURCE1} %{buildroot}/etc/pam.d/gdm
# Pam config for autologin
cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin
cp %{SOURCE2} %{buildroot}/etc/pam.d/gdm-autologin
# Pam config for the greeter session
cp %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/gdm-launch-environment
cp %{SOURCE3} %{buildroot}/etc/pam.d/gdm-launch-environment
%if %{enable_split_authentication}
# Pam config for fingerprint authentication
cp %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint
cp %{SOURCE6} %{buildroot}/etc/pam.d/gdm-fingerprint
# Pam config for smartcard authentication
cp %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/gdm-smartcard
cp %{SOURCE7} %{buildroot}/etc/pam.d/gdm-smartcard
%endif
# The default gdm pam configuration is the one to be used as pam-password too
%if %{enable_split_authentication}
rm $RPM_BUILD_ROOT/etc/pam.d/gdm-password
rm %{buildroot}/etc/pam.d/gdm-password
echo "We are not ready for this, we need to know what to put in gdm-fingerprint and gdm-smartcard pam config files."
false
%endif
ln -s gdm $RPM_BUILD_ROOT/etc/pam.d/gdm-password
ln -s gdm %{buildroot}/etc/pam.d/gdm-password
## Install other files
# Install PostLogin script.
mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default
mv %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default.sample %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper
mv $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver $RPM_BUILD_ROOT%{_libexecdir}/gdm/gdmflexiserver
install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver
mv %{buildroot}%{_bindir}/gdmflexiserver %{buildroot}%{_libexecdir}/gdm/gdmflexiserver
install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/gdmflexiserver
#Install /etc/xinit.d/xdm integration script
install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
@ -280,14 +288,15 @@ touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}%{_libexecdir}/X11/displaymanagers/default-displaymanager
# Install other files
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/gdm
mkdir -p $RPM_BUILD_ROOT/run/gdm
mkdir -p $RPM_BUILD_ROOT%{_bindir}
ln -s ../sbin/gdm $RPM_BUILD_ROOT%{_bindir}/gdm
mkdir -p %{buildroot}%{_localstatedir}/log/gdm
mkdir -p %{buildroot}/run/gdm
mkdir -p %{buildroot}%{_bindir}
ln -s ../sbin/gdm %{buildroot}%{_bindir}/gdm
%find_lang %{name} %{?no_lang_C}
%fdupes -s %{buildroot}%{_datadir}/help
%clean
rm -rf $RPM_BUILD_ROOT
rm -rf %{buildroot}
%pre
/usr/sbin/groupadd -r gdm 2> /dev/null || :
@ -386,6 +395,7 @@ dconf update
%{_includedir}/gdm/
%{_libdir}/libgdm.so
%{_libdir}/pkgconfig/gdm.pc
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
%{_datadir}/gir-1.0/Gdm-1.0.gir
%files branding-upstream