diff --git a/gdm-3.38.2.tar.xz b/gdm-3.38.2.tar.xz deleted file mode 100644 index 8b7f1c8..0000000 --- a/gdm-3.38.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25a26666c3dd4bb6a545decbbe0678439b2b227ee63b67eebd2d7910761e53cc -size 787024 diff --git a/gdm-40.rc.tar.xz b/gdm-40.rc.tar.xz new file mode 100644 index 0000000..78323f6 --- /dev/null +++ b/gdm-40.rc.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ed72f6108ebc670088bf029a3c7fdbd1eba0eebdfbe3e53e584e0834b3323c0 +size 800008 diff --git a/gdm-UsrEtc.patch b/gdm-UsrEtc.patch deleted file mode 100644 index 3a04a52..0000000 --- a/gdm-UsrEtc.patch +++ /dev/null @@ -1,99 +0,0 @@ -diff -u -r gdm-3.36.3.orig/data/Init.in gdm-3.36.3/data/Init.in ---- gdm-3.36.3.orig/data/Init.in 2020-09-16 10:46:25.114437000 +0200 -+++ gdm-3.36.3/data/Init.in 2020-09-16 10:49:16.450653000 +0200 -@@ -22,14 +22,22 @@ - echo "$OUTPUT" - } - --sysresources=/etc/X11/Xresources -+if [ -f /etc/X11/Xresources ]; then -+ sysresources=/etc/X11/Xresources -+else -+ sysresources=/usr/etc/X11/Xresources -+fi - - # merge in defaults - if [ -f "$sysresources" ]; then - xrdb -merge "$sysresources" - fi - --sysmodmap=/etc/X11/Xmodmap -+if [ -f /etc/X11/Xmodmap ]; then -+ sysmodmap=/etc/X11/Xmodmap -+else -+ sysmodmap=/usr/etc/X11/Xmodmap -+fi - - XMODMAP=`gdmwhich xmodmap` - if [ "x$XMODMAP" != "x" ] ; then -diff -u -r gdm-3.36.3.orig/data/Xsession.in gdm-3.36.3/data/Xsession.in ---- gdm-3.36.3.orig/data/Xsession.in 2020-09-16 10:46:25.136436000 +0200 -+++ gdm-3.36.3/data/Xsession.in 2020-09-16 11:06:52.038405000 +0200 -@@ -29,11 +29,20 @@ - # good for debugging where things went wrong - echo "$0: Beginning session setup..." - --# First read /etc/profile and .profile --test -f /etc/profile && . /etc/profile -+# First read /etc/profile (resp. /usr/etc/profile) and .profile -+if [ -f /etc/profile ]; then -+ . /etc/profile -+elif [ -f /usr/etc/profile ]; then -+ . /usr/etc/profile -+fi - test -f "$HOME/.profile" && . "$HOME/.profile" --# Second read /etc/xprofile and .xprofile for X specific setup --test -f /etc/xprofile && . /etc/xprofile -+# Second read /etc/xprofile (resp. /usr/etc/xprofile) and .xprofile for X specific setup -+if [ -f /etc/xprofile ]; then -+ . /etc/xprofile -+elif [ -f /usr/etc/xprofile ]; then -+ . /usr/etc/xprofile -+ -+fi - test -f "$HOME/.xprofile" && . "$HOME/.xprofile" - - # Translation stuff -@@ -85,9 +94,23 @@ - usermodmap="$HOME/.Xmodmap" - userxkbmap="$HOME/.Xkbmap" - --sysresources=/etc/X11/Xresources --sysmodmap=/etc/X11/Xmodmap --sysxkbmap=/etc/X11/Xkbmap -+if [ -f /etc/X11/Xresources ]; then -+ sysresources=/etc/X11/Xresources -+else -+ sysresources=/usr/etc/X11/Xresources -+fi -+ -+if [ -f /etc/X11/Xmodmap ]; then -+ sysmodmap=/etc/X11/Xmodmap -+else -+ sysmodmap=/usr/etc/X11/Xmodmap -+fi -+ -+if [ -f /etc/X11/Xkbmap ]; then -+ sysxkbmap=/etc/X11/Xkbmap -+else -+ sysxkbmap=/usr/etc/X11/Xkbmap -+fi - - rh6sysresources=/etc/X11/xinit/Xresources - rh6sysmodmap=/etc/X11/xinit/Xmodmap -@@ -149,6 +172,15 @@ - xhost +si:localuser:`id -un` || : - - # run all system xinitrc shell scripts. -+if [ -d /usr/etc/X11/xinit/xinitrc.d ]; then -+ for i in /usr/etc/X11/xinit/xinitrc.d/* ; do -+ sname=$(basename $script) -+ test -x /etc/X11/xinit/xinitrc.d/$sname && continue -+ if [ -x "$i" -a ! -d "$i" ]; then -+ . "$i" -+ fi -+ done -+fi - if [ -d /etc/X11/xinit/xinitrc.d ]; then - for i in /etc/X11/xinit/xinitrc.d/* ; do - if [ -x "$i" -a ! -d "$i" ]; then diff --git a/gdm-disable-wayland-on-mgag200-chipsets.patch b/gdm-disable-wayland-on-mgag200-chipsets.patch index f439204..6238116 100644 --- a/gdm-disable-wayland-on-mgag200-chipsets.patch +++ b/gdm-disable-wayland-on-mgag200-chipsets.patch @@ -1,18 +1,18 @@ -Index: gdm-3.37.90/data/61-gdm.rules.in +Index: gdm-40.beta/data/61-gdm.rules.in =================================================================== ---- gdm-3.37.90.orig/data/61-gdm.rules.in -+++ gdm-3.37.90/data/61-gdm.rules.in +--- gdm-40.beta.orig/data/61-gdm.rules.in ++++ gdm-40.beta/data/61-gdm.rules.in @@ -4,3 +4,13 @@ ATTR{vendor}=="0x19e5", ATTR{device}=="0 - DRIVER=="nvidia", RUN+="@libexecdir@/gdm-disable-wayland" + DRIVER=="nvidia", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" # disable Wayland if modesetting is disabled - IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-disable-wayland" + IMPORT{cmdline}="nomodeset", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" +# disable Wayland on Matrox Electronics Systems Ltd. MGA G200 server engines -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", RUN+="@libexecdir@/gdm-disable-wayland" -+ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", RUN+="@libexecdir@/gdm-disable-wayland" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" ++ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", RUN+="@libexecdir@/gdm-runtime-config set daemon WaylandEnable false" + diff --git a/gdm.changes b/gdm.changes index dbcfd40..e3b4371 100644 --- a/gdm.changes +++ b/gdm.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Wed Mar 17 12:43:45 UTC 2021 - Dominique Leuenberger + +- Update to version 40.rc: + + Fingerprint auth fixes. + + Fix timeout handling for graphics bringup. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 9 15:54:57 UTC 2021 - Dominique Leuenberger + +- Update to version 40.beta: + + xinit script improvements. + + Build goo fixes. + + Support systems that boot before the graphics subsystem fully + loads. + + Don't overwrite PATH set by user. + + Generalize gdm-disable-wayland into new gdm-runtime-config + tool. + + Fail hard if accountsservice fails. + + PAM integration improvements. + + Leak fixes. + + Stop using deprecated systemd functions. +- Changes from version 3.38.2.1: + + Address autologin unlock bug issue (CVE-2020-27837). + + Updated translations. +- Rebase gdm-disable-wayland-on-mgag200-chipsets.patch. +- Drop gdm-UsrEtc.patch: merged upstream. + ------------------------------------------------------------------- Fri Jan 29 09:46:20 UTC 2021 - Dominique Leuenberger diff --git a/gdm.spec b/gdm.spec index 25d0497..4311e77 100644 --- a/gdm.spec +++ b/gdm.spec @@ -21,14 +21,14 @@ %define enable_split_authentication 0 Name: gdm -Version: 3.38.2 +Version: 40.rc Release: 0 Summary: The GNOME Display Manager License: GPL-2.0-or-later Group: System/GUI/GNOME URL: https://wiki.gnome.org/Projects/GDM -Source0: https://download.gnome.org/sources/gdm/3.38/%{name}-%{version}.tar.xz +Source0: https://download.gnome.org/sources/gdm/40/%{name}-%{version}.tar.xz Source1: gdm.pamd Source2: gdm-autologin.pamd Source3: gdm-launch-environment.pamd @@ -63,8 +63,6 @@ Patch13: gdm-s390-not-require-g-s-d_wacom.patch Patch14: gdm-switch-user-tty7.patch # PATCH-FIX-UPSTREAM gdm-disable-wayland-on-mgag200-chipsets.patch bsc#1162888 glgo#GNOME/mutter#57 qkzhu@suse.com -- Disable Wayland on mgag200 chipsets Patch15: gdm-disable-wayland-on-mgag200-chipsets.patch -# PATCH-FIX-OPENSUSE gdm-UsrEtc.patch boo#1173049 boo#1173052 boo#1173053 -- needed changes for xdm/xinit/xmodmap move to /usr/etc/X11 -Patch16: gdm-UsrEtc.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. @@ -88,10 +86,10 @@ BuildRequires: xorg-x11-server-extra BuildRequires: pkgconfig(accountsservice) >= 0.6.35 BuildRequires: pkgconfig(audit) 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(gio-2.0) >= 2.56.0 +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.56.0 +BuildRequires: pkgconfig(glib-2.0) >= 2.56.0 +BuildRequires: pkgconfig(gobject-2.0) >= 2.56.0 BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.12 BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(gtk+-3.0) >= 2.91.1 @@ -222,7 +220,6 @@ running display manager. %endif %patch14 -p1 %patch15 -p1 -%patch16 -p1 # SLE and Leap only patches start at 1000 %if 0%{?sle_version} @@ -237,7 +234,7 @@ running display manager. -Dgnome-settings-daemon-dir=%{_libexecdir}/gnome-settings-daemon-3.0 \ -Dinitial-vt=7 \ -Dipv6=true \ - -Dpam-mod-dir=/%{_lib}/security \ + -Dpam-mod-dir=%{_pamdir} \ -Dplymouth=enabled \ -Drun-dir=/run/gdm \ %if %{enable_split_authentication} @@ -254,26 +251,26 @@ running display manager. %install %meson_install ## Install PAM files. -mkdir -p %{buildroot}%{_sysconfdir}/pam.d +mkdir -p %{buildroot}%{_distconfdir}/pam.d # Generic pam config -cp %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/gdm +cp %{SOURCE1} %{buildroot}%{_distconfdir}/pam.d/gdm # Pam config for autologin -cp %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/gdm-autologin +cp %{SOURCE2} %{buildroot}%{_distconfdir}/pam.d/gdm-autologin # Pam config for the greeter session -cp %{SOURCE3} %{buildroot}%{_sysconfdir}/pam.d/gdm-launch-environment +cp %{SOURCE3} %{buildroot}%{_distconfdir}/pam.d/gdm-launch-environment %if %{enable_split_authentication} # Pam config for fingerprint authentication -cp %{SOURCE4} %{buildroot}%{_sysconfdir}/pam.d/gdm-fingerprint +cp %{SOURCE4} %{buildroot}%{_distconfdir}/pam.d/gdm-fingerprint # Pam config for smartcard authentication -cp %{SOURCE5} %{buildroot}%{_sysconfdir}/pam.d/gdm-smartcard +cp %{SOURCE5} %{buildroot}%{_distconfdir}/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}%{_sysconfdir}/pam.d/gdm-password +rm %{buildroot}%{_distconfdir}/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}%{_sysconfdir}/pam.d/gdm-password +ln -s gdm %{buildroot}%{_distconfdir}/pam.d/gdm-password ## Install other files # Install PostLogin script. mv %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default.sample %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default @@ -339,7 +336,7 @@ dconf update %{_datadir}/gdm/ %{_datadir}/gnome-session/sessions/gnome-login.session %{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml -/%{_lib}/security/pam_gdm.so +%{_pamdir}/pam_gdm.so %dir %{_libexecdir}/gdm %{_libexecdir}/gdm/gdm-* %{_libexecdir}/gdm/gdmflexiserver @@ -347,14 +344,14 @@ dconf update %ghost %attr(711,root,gdm) %dir %{_localstatedir}/log/gdm %ghost %dir %{_localstatedir}/cache/gdm %ghost %attr(711,root,gdm) %dir /run/gdm -%config %{_sysconfdir}/pam.d/gdm -%config %{_sysconfdir}/pam.d/gdm-autologin +%{_distconfdir}/pam.d/gdm +%{_distconfdir}/pam.d/gdm-autologin %if %{enable_split_authentication} -%config %{_sysconfdir}/pam.d/gdm-fingerprint -%config %{_sysconfdir}/pam.d/gdm-smartcard +%{_distconfdir}/pam.d/gdm-fingerprint +%{_distconfdir}/pam.d/gdm-smartcard %endif -%config %{_sysconfdir}/pam.d/gdm-password -%config %{_sysconfdir}/pam.d/gdm-launch-environment +%{_distconfdir}/pam.d/gdm-password +%{_distconfdir}/pam.d/gdm-launch-environment %config %{_sysconfdir}/dbus-1/system.d/gdm.conf # /etc/xinit.d/xdm integration %dir %{_prefix}/lib/X11/displaymanagers