diff --git a/9000-add-openeuler-pam-config.patch b/9000-add-openeuler-pam-config.patch deleted file mode 100644 index a0ed45fac8c8b9bd00aaceba9826cdbe2290c40d..0000000000000000000000000000000000000000 --- a/9000-add-openeuler-pam-config.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gdm-42.0/meson.build.orig 2022-04-01 14:44:07.292205407 +0800 -+++ gdm-42.0/meson.build 2022-04-01 14:44:35.215611962 +0800 -@@ -170,6 +170,7 @@ default_pam_config = get_option('default - # If requested, try autodetecting from release files (see NetworkManager source) - if default_pam_config == 'autodetect' - pam_autodetect_map = { -+ '/etc/openEuler-release': 'redhat', - '/etc/redhat-release': 'redhat', - '/etc/fedora-release': 'redhat', - '/etc/exherbo-release': 'exherbo', diff --git a/gdm-42.0.tar.xz b/gdm-42.0.tar.xz deleted file mode 100644 index 97693bf75e9f924fd753addfd0c2571c5a582628..0000000000000000000000000000000000000000 Binary files a/gdm-42.0.tar.xz and /dev/null differ diff --git a/gdm-43.0.tar.xz b/gdm-43.0.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..b5f5355eab0a946ae4813f280e29fdb903d4cfb2 Binary files /dev/null and b/gdm-43.0.tar.xz differ diff --git a/gdm-should-recover-automatically.patch b/gdm-should-recover-automatically.patch deleted file mode 100644 index 5d80df08862ac62b65d05e94f53520dead87f61b..0000000000000000000000000000000000000000 --- a/gdm-should-recover-automatically.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- gdm-42.0/data/gdm.service.in.orig 2022-04-01 14:42:08.314733966 +0800 -+++ gdm-42.0/data/gdm.service.in 2022-04-01 14:42:20.537474205 +0800 -@@ -20,6 +20,7 @@ After=rc-local.service plymouth-start.se - OnFailure=plymouth-quit.service - - [Service] -+ExecStartPre=/bin/sh -c "systemctl stop session-c*.scope" - ExecStart=${sbindir}/gdm - KillMode=mixed - Restart=always diff --git a/gdm.spec b/gdm.spec index 40cc05069f9bb846aaa46bd675f1206c4dd7edf3..2243719cb42d31c37498cd730ad2711abdbc57bd 100644 --- a/gdm.spec +++ b/gdm.spec @@ -1,76 +1,117 @@ +%global _hardened_build 1 + %define libauditver 1.0.6 %define gtk3_version 2.99.2 %define pam_version 0.99.8.1-11 %define desktop_file_utils_version 0.2.90 %define nss_version 3.11.1 -Name: gdm -Epoch: 1 -Version: 42.0 -Release: 2 -Summary: A graphical display manager -License: GPLv2+ -URL: https://wiki.gnome.org/Projects/GDM -Source0: http://download.gnome.org/sources/gdm/42/gdm-%{version}.tar.xz -Source1: org.gnome.login-screen.gschema.override -Source5: default.pa-for-gdm - -Patch0: 0001-data-add-system-dconf-databases-to-gdm-profile.patch -Patch1: 0001-Honor-initial-setup-being-disabled-by-distro-install.patch -Patch2: gdm-should-recover-automatically.patch -Patch3: 9000-add-openeuler-pam-config.patch - -BuildRequires: meson automake autoconf systemd dconf itstool libtool which -BuildRequires: systemd-devel libselinux-devel libattr-devel gettext-devel -BuildRequires: yelp-devel yelp-tools plymouth-devel libdmx-devel libXdmcp-devel -BuildRequires: xorg-x11-server-Xorg xorg-x11-server-devel keyutils-libs-devel accountsservice-devel -BuildRequires: pkgconfig(check) pkgconfig(gobject-introspection-1.0) pkgconfig(libcanberra-gtk3) -BuildRequires: pkgconfig(iso-codes) pkgconfig(gudev-1.0) -BuildRequires: pkgconfig(ply-boot-client) pkgconfig(x11) pkgconfig(xau) -BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} -BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} -BuildRequires: nss-devel >= %{nss_version} -BuildRequires: pam-devel >= 0:%{pam_version} -BuildRequires: audit-devel >= %{libauditver} +Name: gdm +Epoch: 1 +Version: 43.0 +Release: 1 +Summary: The GNOME Display Manager +License: GPLv2+ +URL: https://wiki.gnome.org/Projects/GDM +Source0: http://download.gnome.org/sources/gdm/43/gdm-%{version}.tar.xz +Source1: org.gnome.login-screen.gschema.override +Source5: default.pa-for-gdm + +Patch0: 0001-Honor-initial-setup-being-disabled-by-distro-install.patch +Patch1: 0001-data-add-system-dconf-databases-to-gdm-profile.patch + +BuildRequires: accountsservice-devel +BuildRequires: audit-libs-devel >= %{libauditver} +BuildRequires: dconf +BuildRequires: desktop-file-utils >= %{desktop_file_utils_version} +BuildRequires: gettext-devel +BuildRequires: keyutils-libs-devel +BuildRequires: libXdmcp-devel +BuildRequires: libattr-devel +BuildRequires: libdmx-devel +BuildRequires: meson +BuildRequires: nss-devel >= %{nss_version} +BuildRequires: pam-devel >= 0:%{pam_version} +BuildRequires: pkgconfig(accountsservice) >= 0.6.3 +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} +BuildRequires: pkgconfig(gudev-1.0) +BuildRequires: pkgconfig(iso-codes) +BuildRequires: pkgconfig(libcanberra-gtk3) +BuildRequires: pkgconfig(libselinux) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(ply-boot-client) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xau) +BuildRequires: pkgconfig(xorg-server) +BuildRequires: plymouth-devel +BuildRequires: systemd +BuildRequires: which +BuildRequires: xorg-x11-server-Xorg +BuildRequires: xorg-x11-server-devel +BuildRequires: yelp-devel +BuildRequires: yelp-tools + +Requires: accountsservice +Requires: audit-libs >= %{libauditver} +Requires: dconf +Requires: gnome-keyring-pam +Requires: gnome-session +Requires: gnome-session-wayland-session +Requires: gnome-settings-daemon >= 3.27.90 +Requires: gnome-shell +Requires: iso-codes +Requires: libXau >= 1.0.4-4 +Requires: pam >= 0:%{pam_version} +Requires: /sbin/nologin +Requires: setxkbmap +Requires: systemd >= 186 +Requires: system-logos +Requires: systemd-pam +Requires: xhost xmodmap xrdb +Requires: xorg-x11-xinit +Requires: /usr/bin/dbus-run-session + +Provides: service(graphical-login) = %{name} +Provides: gdm-libs%{?_isa} = %{epoch}:%{version}-%{release} +Provides: gdm-plugin-smartcard = %{epoch}:%{version}-%{release} +Provides: gdm-plugin-fingerprint = %{epoch}:%{version}-%{release} +Provides: pulseaudio-gdm-hooks = 1:%{version}-%{release} +Obsoletes: gdm-libs < 1:%{version}-%{release} gdm-plugin-smartcard < 1:%{version}-%{release} +Obsoletes: gdm-plugin-fingerprint < 1:%{version}-%{release} pulseaudio-gdm-hooks < 1:%{version}-%{release} Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -Requires: accountsservice dconf gnome-keyring-pam gnome-session dbus-daemon -Requires: gnome-session-wayland-session gnome-settings-daemon >= 3.27.90 gnome-shell iso-codes -Requires: libXau >= 1.0.4-4 util-linux systemd >= 186 xorg-x11-xkb-utils -Requires: system-logos xorg-x11-server-utils xorg-x11-xinit systemd-pam -Requires: audit-libs >= %{libauditver} pam >= 0:%{pam_version} - -Provides: service(graphical-login) = %{name} -Provides: gdm-libs%{?_isa} = %{epoch}:%{version}-%{release} -Provides: gdm-plugin-smartcard = %{epoch}:%{version}-%{release} -Provides: gdm-plugin-fingerprint = %{epoch}:%{version}-%{release} -Provides: pulseaudio-gdm-hooks = 1:%{version}-%{release} -Obsoletes: gdm-libs < 1:%{version}-%{release} gdm-plugin-smartcard < 1:%{version}-%{release} -Obsoletes: gdm-plugin-fingerprint < 1:%{version}-%{release} pulseaudio-gdm-hooks < 1:%{version}-%{release} - %description -The GNOME Display Manager is a system service that is responsible for -providing graphical log-ins and managing local and remote displays, -and if the session doesn't provide a display server, GDM will start -the display server. It also provides initiate functionality for -user-switching, so multiple users can be logged in at the same time. - -%package devel -Summary: Development files for gdm -Requires: %{name} = %{epoch}:%{version}-%{release} pam-devel -Provides: gdm-pam-extensions-devel = %{epoch}:%{version}-%{release} -Obsoletes: gdm-pam-extensions-devel < %{epoch}:%{version}-%{release} - -%description devel -The gdm-devel package contains header files and others for building -applications that use GDM. +GDM, the GNOME Display Manager, handles authentication-related backend +functionality for logging in a user and unlocking the user's session after +it's been locked. GDM also provides functionality for initiating user-switching, +so more than one user can be logged in at the same time. It handles +graphical session registration with the system for both local and remote +sessions (in the latter case, via the XDMCP protocol). In cases where the +session doesn't provide it's own display server, GDM can start the display +server on behalf of the session. + +%package devel +Summary: Development files for gdm +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: pam-devel +Provides: gdm-pam-extensions-devel = %{epoch}:%{version}-%{release} +Obsoletes: gdm-pam-extensions-devel < %{epoch}:%{version}-%{release} + +%description devel +The gdm-devel package contains headers and other +files needed to build custom greeters. %prep %autosetup -n %{name}-%{version} -p1 +sed -i '/ExecStart/i ExecStartPre=\/bin\/sh -c "systemctl stop session-c*.scope"' data/gdm.service.in +sed -i "/redhat-release/i \ \ \ \ '\/etc\/openEuler-release': 'redhat'," meson.build %build %meson -Dpam-prefix=%{_sysconfdir} \ @@ -94,6 +135,7 @@ install -d %{buildroot}/run/gdm %meson_install install -p -m644 -D %{SOURCE5} %{buildroot}%{_localstatedir}/lib/gdm/.config/pulse/default.pa +#install -p -m644 -D %{SOURCE6} %{buildroot}%{_sysusersdir}/%{name}.conf rm -f %{buildroot}%{_sysconfdir}/pam.d/gdm cp -a %{SOURCE1} %{buildroot}%{_datadir}/glib-2.0/schemas rm -rf %{buildroot}/%{_prefix}/doc @@ -177,6 +219,7 @@ fi %config %{_sysconfdir}/gdm/PostSession/* %config %{_sysconfdir}/pam.d/gdm-autologin %config %{_sysconfdir}/pam.d/gdm-password +# not config files %{_sysconfdir}/gdm/Xsession %{_datadir}/gdm/gdm.schemas %{_sysconfdir}/dbus-1/system.d/gdm.conf @@ -225,17 +268,20 @@ fi %{_unitdir}/gdm.service %dir %{_userunitdir}/gnome-session@gnome-login.target.d/ %{_userunitdir}/gnome-session@gnome-login.target.d/session.conf +#%%{_sysusersdir}/%{name}.conf %files devel %dir %{_includedir}/gdm %{_includedir}/gdm/*.h -%exclude %{_includedir}/gdm/gdm-pam-extensions.h %dir %{_datadir}/gir-1.0 %{_datadir}/gir-1.0/Gdm-1.0.gir %{_libdir}/pkgconfig/gdm.pc %{_libdir}/pkgconfig/gdm-pam-extensions.pc %changelog +* Mon Jan 02 2023 lin zhang - 1:43.0-1 +- Update to 43.0 + * Mon Aug 1 2022 caodongxia - 1:42.0-2 - The installation dependency pam is added to solve the gdm.servic startup problem diff --git a/gdm.sysusers b/gdm.sysusers new file mode 100644 index 0000000000000000000000000000000000000000..78a16304a5dddbe77402677759941e7d63400858 --- /dev/null +++ b/gdm.sysusers @@ -0,0 +1 @@ +u gdm 42 "GNOME Display Manager" /var/lib/gdm