SHA256
1
0
forked from pool/gdm

Accepting request 584004 from GNOME:Next

Update to 3.27.92

OBS-URL: https://build.opensuse.org/request/show/584004
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=383
This commit is contained in:
2018-03-09 10:14:48 +00:00
committed by Git OBS Bridge
parent 34f6d95b38
commit f6c7a004ec
9 changed files with 129 additions and 983 deletions

143
gdm.spec
View File

@@ -16,46 +16,37 @@
#
# Allow to disable wayland components
%bcond_without wayland
%define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd)
# FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999
%define enable_split_authentication 0
# Allow to disable wayland components
%bcond_without wayland
Name: gdm
Version: 3.26.2.1
Version: 3.27.92
Release: 0
Summary: The GNOME Display Manager
License: GPL-2.0+
License: GPL-2.0-or-later
Group: System/GUI/GNOME
Url: https://wiki.gnome.org/Projects/GDM
Source: https://download.gnome.org/sources/gdm/3.26/%{name}-%{version}.tar.xz
URL: https://wiki.gnome.org/Projects/GDM
Source: http://download.gnome.org/sources/gdm/3.27/%{name}-%{version}.tar.xz
Source1: gdm.pamd
Source2: gdm-autologin.pamd
Source3: gdm-launch-environment.pamd
Source6: gdm-fingerprint.pamd
Source7: gdm-smartcard.pamd
Source4: gdm-fingerprint.pamd
Source5: gdm-smartcard.pamd
# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm)
Source4: gdmflexiserver-wrapper
Source6: gdmflexiserver-wrapper
# /etc/xinit.d/xdm integration script
Source5: X11-displaymanager-gdm
Source7: X11-displaymanager-gdm
# GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script
Source8: autogen.sh
# PATCH-FEATURE-OPENSUSE gdm-workaround-boo971852.patch zaitor@opensuse.org -- Work around boo971852 - xsessions is just not going to happen for a gdm user - Those users ALL have gnome-shell installed (which is mandatory for gdm to operate) - openSUSE only
Patch0: gdm-workaround-boo971852.patch
# PATCH-FIX-UPSTREAM gdm-nb-translations.patch zaitor@opensuse.org -- Update Norwegian Bokmål translations.
Patch1: gdm-nb-translations.patch
# PATCH-FIX-UPSTREAM gdm-disable-wayland-on-unsupported-chipsets.patch boo#1059356 bgo#789081 fezhang@suse.com -- Disable Wayland on Cirrus chipsets
Patch2: gdm-disable-wayland-on-unsupported-chipsets.patch
# WARNING: do not remove/significantly change patch3 without updating the relevant patch in accountsservice too
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
Patch3: gdm-sysconfig-settings.patch
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
Patch7: gdm-suse-xsession.patch
# PATCH-NEEDS-REBASE PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option
Patch9: gdm-passwordless-login.patch
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
Patch34: gdm-default-wm.patch
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
@@ -66,29 +57,23 @@ Patch36: gdm-ignore-duplicate-session.patch
Patch41: gdm-plymouth-vt1.patch
# PATCH-FIX-UPSTREAM gdm-fails-to-restart-gnome-shell.patch bsc#981976 bgo#769969 tyang@suse.com -- Gdm should stop after a few times fails
Patch42: gdm-fails-to-restart-gnome-shell.patch
# PATCH-FIX-UPSTREAM gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch bsc#1068016 bgo#792150 xwang@suse.com -- When run PreSession script, don't set DISPLAY and XAUTHORITY environment variable
Patch43: gdm-not-run-with-bogus-DISPLAY-XAUTHORITY.patch
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
Patch52: gdm-disable-gnome-initial-setup.patch
# PATCH-FIX-UPSTREAM gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1075805 bgo#793255 msrb@suse.com -- Add runtime option to start X under root instead of regular user. Necessary if no DRI drivers are present.
Patch53: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
# PATCH-FIX-UPSTREAM gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch bsc#1082958 bgo#793609 xwang@suse.com -- Show right active session of user in login dialog.
Patch54: gdm-Revert-session-don-t-call-gdm_session_defaults_chang.patch
Patch43: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
Patch1002: gdm-disable-gnome-initial-setup.patch
BuildRequires: check-devel
# needed for directory ownership
BuildRequires: dconf
BuildRequires: gnome-common
# needed for directory ownership
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: gnome-session-core
BuildRequires: keyutils-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: pwdutils
BuildRequires: tcpd-devel
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-server
BuildRequires: xorg-x11-server-extra
@@ -111,28 +96,32 @@ BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
%ifnarch s390 s390x
BuildRequires: pkgconfig(xorg-server)
%endif
BuildRequires: pkgconfig(xrandr)
Requires(pre): group(video)
Requires: %{name}-branding = %{version}
Requires: gdmflexiserver
Requires: gnome-session-core
Requires: gnome-settings-daemon
Requires: gnome-shell
Requires(post): dconf
# accessibility
Recommends: orca
# FIXME: use proper Requires(pre/post/preun/...)
# For groupadd, useradd, usermod
PreReq: pwdutils
Requires(post): dconf
Requires(pre): group(video)
Recommends: %{name}-lang
Recommends: iso-codes
# accessibility
Recommends: orca
Provides: gdm2 = %{version}
Obsoletes: gdm2 < %{version}
Provides: gnome-applets-gdm = %{version}
Obsoletes: gnome-applets-gdm < %{version}
DocDir: %{_defaultdocdir}
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
%ifnarch s390 s390x
BuildRequires: pkgconfig(xorg-server)
%endif
%description
The GNOME Display Manager is a system service that is responsible for
@@ -172,9 +161,9 @@ providing graphical log-ins and managing local and remote displays.
Summary: The GNOME Display Manager -- Upstream default configuration
Group: System/GUI/GNOME
Requires: %{name} = %{version}
Provides: %{name}-branding = %{version}
Conflicts: otherproviders(%{name}-branding)
Supplements: packageand(%{name}:branding-upstream)
Conflicts: %{name}-branding
Provides: %{name}-branding = %{version}
BuildArch: noarch
#BRAND: Provide one file:
#BRAND: /etc/gdm/custom.conf
@@ -193,38 +182,28 @@ Suggests: gdm
BuildArch: noarch
%description -n gdmflexiserver
The gdmflexiserver tool interacts with the display manager to
The GDMFlexiServer tool interacts with the display manager to
enable fast user switching. This package contains a wrapper that
selects the correct gdmflexiserver implementatoin, based on the
selects the correct Gdmflexiserver implementation, based on the
running display manager.
%lang_package
%prep
%setup -q
cp %{S:8} .
%if !0%{?is_opensuse}
translation-update-upstream
%endif
%if 0%{?is_opensuse}
# Disabled for now, see boo#981372 and boo#971852
#patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
cp %{SOURCE8} .
%patch3 -p1
%patch7 -p1
%patch9 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
# SLE-only patches start at 1000
%if !0%{?is_opensuse}
%patch52 -p1
%patch1002 -p1
%endif
%patch53 -p1
%patch54 -p1
%build
NOCONFIGURE=1 sh autogen.sh
@@ -257,42 +236,42 @@ autoreconf -fiv
%endif
--with-initial-vt=7 \
--with-run-dir=/run/gdm
%__make %{?jobs:-j%jobs} V=1
%make_build V=1
%install
%make_install
find %{buildroot} -name '*.la' -type f -delete -print
find %{buildroot} -type f -name "*.la" -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 %{buildroot}/etc/pam.d
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
# Generic pam config
cp %{SOURCE1} %{buildroot}/etc/pam.d/gdm
cp %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/gdm
# Pam config for autologin
cp %{SOURCE2} %{buildroot}/etc/pam.d/gdm-autologin
cp %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/gdm-autologin
# Pam config for the greeter session
cp %{SOURCE3} %{buildroot}/etc/pam.d/gdm-launch-environment
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/gdm-launch-environment
%if %{enable_split_authentication}
# Pam config for fingerprint authentication
cp %{SOURCE6} %{buildroot}/etc/pam.d/gdm-fingerprint
cp %{SOURCE4} %{buildroot}%{_sysconfdir}/pam.d/gdm-fingerprint
# Pam config for smartcard authentication
cp %{SOURCE7} %{buildroot}/etc/pam.d/gdm-smartcard
cp %{SOURCE5} %{buildroot}%{_sysconfdir}/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 %{buildroot}/etc/pam.d/gdm-password
rm %{buildroot}%{_sysconfdir}/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 %{buildroot}/etc/pam.d/gdm-password
ln -s gdm %{buildroot}%{_sysconfdir}/pam.d/gdm-password
## Install other files
# Install PostLogin script.
mv %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default.sample %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper
mv %{buildroot}%{_bindir}/gdmflexiserver %{buildroot}%{_libexecdir}/gdm/gdmflexiserver
install -m 755 %{SOURCE4} %{buildroot}%{_bindir}/gdmflexiserver
install -m 755 %{SOURCE6} %{buildroot}%{_bindir}/gdmflexiserver
#Install /etc/xinit.d/xdm integration script
install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
install -D -m 644 %{SOURCE7} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager
ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}%{_libexecdir}/X11/displaymanagers/default-displaymanager
@@ -305,14 +284,11 @@ ln -s ../sbin/gdm %{buildroot}%{_bindir}/gdm
%find_lang %{name} %{?no_lang_C}
%fdupes -s %{buildroot}%{_datadir}/help
%clean
rm -rf %{buildroot}
%pre
/usr/sbin/groupadd -r gdm 2> /dev/null || :
/usr/sbin/useradd -r -g gdm -G video -s /bin/false \
-c "Gnome Display Manager daemon" -d /var/lib/gdm gdm 2> /dev/null || :
/usr/sbin/usermod -g gdm -G video -s /bin/false gdm 2> /dev/null
%{_sbindir}/groupadd -r gdm 2> /dev/null || :
%{_sbindir}/useradd -r -g gdm -G video -s /bin/false \
-c "Gnome Display Manager daemon" -d %{_localstatedir}/lib/gdm gdm 2> /dev/null || :
%{_sbindir}/usermod -g gdm -G video -s /bin/false gdm 2> /dev/null
# Fix incorrect interpretation of DISPLAYMANAGER_PASSWORD_LESS_LOGIN (#307566).
# Last done in SLED10&10.1, first fixed in 10.3.
# Can be removed after SLES12:
@@ -329,10 +305,10 @@ fi
# Fix how DISPLAYMANAGER_PASSWORD_LESS_LOGIN is used. Before 11.4,
# /etc/pam.d/gdm was changed to use pam_permit. We don't want this anymore.
if test -f /sbin/conf.d/SuSEconfig.gdm; then
grep -q pam_permit.so /etc/pam.d/gdm
grep -q pam_permit.so %{_sysconfdir}/pam.d/gdm
if test $? -eq 0; then
# We'll just use the file from the new package
mv /etc/pam.d/gdm /etc/pam.d/gdm.rpmold
mv %{_sysconfdir}/pam.d/gdm %{_sysconfdir}/pam.d/gdm.rpmold
fi
fi
@@ -352,7 +328,8 @@ dconf update
%postun -n libgdm1 -p /sbin/ldconfig
%files
%doc AUTHORS COPYING ChangeLog NEWS README
%license COPYING
%doc AUTHORS ChangeLog NEWS README
%doc %{_datadir}/help/C/%{name}/
%dir %config %{_sysconfdir}/gdm
%config %{_sysconfdir}/gdm/[IPXl]*
@@ -375,14 +352,14 @@ dconf update
%attr(711,root,gdm) %dir %{_localstatedir}/log/gdm
%dir %{_localstatedir}/cache/gdm
%ghost %attr(711,root,gdm) %dir /run/gdm
%config /etc/pam.d/gdm
%config /etc/pam.d/gdm-autologin
%config %{_sysconfdir}/pam.d/gdm
%config %{_sysconfdir}/pam.d/gdm-autologin
%if %{enable_split_authentication}
%config /etc/pam.d/gdm-fingerprint
%config /etc/pam.d/gdm-smartcard
%config %{_sysconfdir}/pam.d/gdm-fingerprint
%config %{_sysconfdir}/pam.d/gdm-smartcard
%endif
%config /etc/pam.d/gdm-password
%config /etc/pam.d/gdm-launch-environment
%config %{_sysconfdir}/pam.d/gdm-password
%config %{_sysconfdir}/pam.d/gdm-launch-environment
%config %{_sysconfdir}/dbus-1/system.d/gdm.conf
# /etc/xinit.d/xdm integration
%dir %{_libexecdir}/X11/displaymanagers