283 lines
11 KiB
RPMSpec
283 lines
11 KiB
RPMSpec
%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: 1
|
|
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}
|
|
|
|
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
|
|
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.
|
|
|
|
%prep
|
|
%autosetup -n %{name}-%{version} -p1
|
|
|
|
%build
|
|
%meson -Dpam-prefix=%{_sysconfdir} \
|
|
-Drun-dir=/run/gdm \
|
|
-Dudev-dir=%{_udevrulesdir} \
|
|
-Ddefault-path=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin \
|
|
-Dprofiling=true \
|
|
-Dplymouth=enabled \
|
|
-Dselinux=enabled
|
|
%meson_build
|
|
|
|
%install
|
|
install -d %{buildroot}%{_sysconfdir}/gdm/Init
|
|
install -d %{buildroot}%{_sysconfdir}/gdm/PreSession
|
|
install -d %{buildroot}%{_sysconfdir}/gdm/PostSession
|
|
install -d %{buildroot}%{_sysconfdir}/dconf/db/gdm.d/locks
|
|
install -d %{buildroot}/var/log/gdm
|
|
install -d %{buildroot}%{_datadir}/gdm/autostart/LoginWindow
|
|
install -d %{buildroot}/run/gdm
|
|
|
|
%meson_install
|
|
|
|
install -p -m644 -D %{SOURCE5} %{buildroot}%{_localstatedir}/lib/gdm/.config/pulse/default.pa
|
|
rm -f %{buildroot}%{_sysconfdir}/pam.d/gdm
|
|
cp -a %{SOURCE1} %{buildroot}%{_datadir}/glib-2.0/schemas
|
|
rm -rf %{buildroot}/%{_prefix}/doc
|
|
|
|
(cd %{buildroot}%{_sysconfdir}/gdm; ln -sf ../X11/xinit/Xsession .)
|
|
|
|
%delete_la_and_a
|
|
|
|
%find_lang gdm --with-gnome
|
|
|
|
%pre
|
|
/usr/sbin/useradd -M -u 42 -d /var/lib/gdm -s /sbin/nologin -r gdm > /dev/null 2>&1
|
|
/usr/sbin/usermod -d /var/lib/gdm -s /sbin/nologin gdm >/dev/null 2>&1
|
|
exit 0
|
|
|
|
%post
|
|
custom=/etc/gdm/custom.conf
|
|
|
|
if [ $1 -ge 2 ] ; then
|
|
if [ -f /usr/share/gdm/config/gdm.conf-custom ]; then
|
|
oldconffile=/usr/share/gdm/config/gdm.conf-custom
|
|
elif [ -f /etc/X11/gdm/gdm.conf ]; then
|
|
oldconffile=/etc/X11/gdm/gdm.conf
|
|
fi
|
|
|
|
# Comment out some entries from the custom config file that may
|
|
# have changed locations in the update. Also move various
|
|
# elements to their new locations.
|
|
|
|
[ -n "$oldconffile" ] && sed \
|
|
-e 's@^command=/usr/X11R6/bin/X@#command=/usr/bin/Xorg@' \
|
|
-e 's@^Xnest=/usr/X11R6/bin/Xnest@#Xnest=/usr/X11R6/bin/Xnest@' \
|
|
-e 's@^BaseXsession=/etc/X11/xdm/Xsession@#BaseXsession=/etc/X11/xinit/Xsession@' \
|
|
-e 's@^BaseXsession=/etc/X11/gdm/Xsession@#&@' \
|
|
-e 's@^BaseXsession=/etc/gdm/Xsession@#&@' \
|
|
-e 's@^Greeter=/usr/bin/gdmgreeter@#Greeter=/usr/libexec/gdmgreeter@' \
|
|
-e 's@^RemoteGreeter=/usr/bin/gdmlogin@#RemoteGreeter=/usr/libexec/gdmlogin@' \
|
|
-e 's@^GraphicalTheme=Bluecurve@#&@' \
|
|
-e 's@^BackgroundColor=#20305a@#&@' \
|
|
-e 's@^DefaultPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin@#&@' \
|
|
-e 's@^RootPath=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin@#&@' \
|
|
-e 's@^HostImageDir=/usr/share/hosts/@#HostImageDir=/usr/share/pixmaps/faces/@' \
|
|
-e 's@^LogDir=/var/log/gdm@#&@' \
|
|
-e 's@^PostLoginScriptDir=/etc/X11/gdm/PostLogin@#&@' \
|
|
-e 's@^PreLoginScriptDir=/etc/X11/gdm/PreLogin@#&@' \
|
|
-e 's@^PreSessionScriptDir=/etc/X11/gdm/PreSession@#&@' \
|
|
-e 's@^PostSessionScriptDir=/etc/X11/gdm/PostSession@#&@' \
|
|
-e 's@^DisplayInitDir=/var/run/gdm.pid@#&@' \
|
|
-e 's@^RebootCommand=/sbin/reboot;/sbin/shutdown -r now;/usr/sbin/shutdown -r now;/usr/bin/reboot@#&@' \
|
|
-e 's@^HaltCommand=/sbin/poweroff;/sbin/shutdown -h now;/usr/sbin/shutdown -h now;/usr/bin/poweroff@#&@' \
|
|
-e 's@^ServAuthDir=/var/gdm@#&@' \
|
|
-e 's@^Greeter=/usr/bin/gdmlogin@Greeter=/usr/libexec/gdmlogin@' \
|
|
-e 's@^RemoteGreeter=/usr/bin/gdmgreeter@RemoteGreeter=/usr/libexec/gdmgreeter@' \
|
|
$oldconffile > $custom
|
|
fi
|
|
|
|
if [ $1 -ge 2 -a -f $custom ] && grep -q /etc/X11/gdm $custom ; then
|
|
sed -i -e 's@/etc/X11/gdm@/etc/gdm@g' $custom
|
|
fi
|
|
|
|
if [ -f "$custom" ]; then
|
|
sed -ie 's@^#WaylandEnable=false@WaylandEnable=false@' $custom
|
|
fi
|
|
|
|
%systemd_post gdm.service
|
|
|
|
%preun
|
|
%systemd_preun gdm.service
|
|
|
|
%postun
|
|
%systemd_postun gdm.service
|
|
|
|
%files -f gdm.lang
|
|
%doc AUTHORS NEWS README.md
|
|
%license COPYING
|
|
%dir %{_sysconfdir}/gdm
|
|
%config(noreplace) %{_sysconfdir}/gdm/custom.conf
|
|
%config %{_sysconfdir}/gdm/Init/*
|
|
%config %{_sysconfdir}/gdm/PostLogin/*
|
|
%config %{_sysconfdir}/gdm/PreSession/*
|
|
%config %{_sysconfdir}/gdm/PostSession/*
|
|
%config %{_sysconfdir}/pam.d/gdm-autologin
|
|
%config %{_sysconfdir}/pam.d/gdm-password
|
|
%{_sysconfdir}/gdm/Xsession
|
|
%{_datadir}/gdm/gdm.schemas
|
|
%{_sysconfdir}/dbus-1/system.d/gdm.conf
|
|
%dir %{_sysconfdir}/gdm/Init
|
|
%dir %{_sysconfdir}/gdm/PreSession
|
|
%dir %{_sysconfdir}/gdm/PostSession
|
|
%dir %{_sysconfdir}/gdm/PostLogin
|
|
%dir %{_sysconfdir}/dconf/db/gdm.d
|
|
%dir %{_sysconfdir}/dconf/db/gdm.d/locks
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml
|
|
%{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.override
|
|
%{_libexecdir}/gdm-host-chooser
|
|
%{_libexecdir}/gdm-runtime-config
|
|
%{_libexecdir}/gdm-session-worker
|
|
%{_libexecdir}/gdm-simple-chooser
|
|
%{_libexecdir}/gdm-wayland-session
|
|
%{_libexecdir}/gdm-x-session
|
|
%{_sbindir}/gdm
|
|
%{_bindir}/gdmflexiserver
|
|
%{_bindir}/gdm-screenshot
|
|
%dir %{_datadir}/dconf
|
|
%dir %{_datadir}/dconf/profile
|
|
%{_datadir}/dconf/profile/gdm
|
|
%dir %{_datadir}/gdm/greeter
|
|
%dir %{_datadir}/gdm/greeter/applications
|
|
%{_datadir}/gdm/greeter/applications/*
|
|
%dir %{_datadir}/gdm/greeter/autostart
|
|
%{_datadir}/gdm/greeter/autostart/*
|
|
%{_datadir}/gdm/greeter-dconf-defaults
|
|
%{_datadir}/gdm/locale.alias
|
|
%{_datadir}/gdm/gdb-cmd
|
|
%{_datadir}/gnome-session/sessions/gnome-login.session
|
|
%{_libdir}/girepository-1.0/Gdm-1.0.typelib
|
|
%{_libdir}/security/pam_gdm.so
|
|
%{_libdir}/libgdm*.so*
|
|
%dir %{_localstatedir}/log/gdm
|
|
%attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm
|
|
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config
|
|
%attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config/pulse
|
|
%attr(0600, gdm, gdm) %{_localstatedir}/lib/gdm/.config/pulse/default.pa
|
|
%attr(0711, root, gdm) %dir /run/gdm
|
|
%config %{_sysconfdir}/pam.d/gdm-smartcard
|
|
%config %{_sysconfdir}/pam.d/gdm-fingerprint
|
|
%{_sysconfdir}/pam.d/gdm-launch-environment
|
|
%{_udevrulesdir}/61-gdm.rules
|
|
%{_unitdir}/gdm.service
|
|
%dir %{_userunitdir}/gnome-session@gnome-login.target.d/
|
|
%{_userunitdir}/gnome-session@gnome-login.target.d/session.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
|
|
* Apr Fri 15 2022 dillon chen <dillon.chen@gmail.com> - 1:42.0-1
|
|
- Update to 42.0
|
|
|
|
* Tue Aug 17 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-3
|
|
- Add 9000-add-openeuler-pam-config.patch for openeuler pam config to normally start gdm
|
|
|
|
* Wed Jun 23 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-2
|
|
- Add Omitted Sources1 and Sources5
|
|
- Add Omitted patches Patch0 and Patch1
|
|
- Recover Patch2
|
|
|
|
* Mon May 24 2021 weijin deng <weijin.deng@turbolinux.com.cn> - 3.38.2-1
|
|
- Upgrade to 3.38.2
|
|
- Update Version, Release, Source0, BuildRequires
|
|
- Use meson rebuild and install
|
|
- Delete patches, delete pam.d related and other two files which not in 3.38.2
|
|
- Add new file session.conf. modify /etc/gdm/custom.conf
|
|
|
|
* Fri Feb 5 2021 wangxiao <wangxiao65@huawei.com> - 1:3.30.1-10
|
|
- fix CVE-2019-3825
|
|
|
|
* Fri Dec 18 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 1:3.30.1-9
|
|
- Gdm should recover automatically when killed
|
|
|
|
* Thu Nov 19 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:3.30.1-8
|
|
- fix CVE-2020-16125
|
|
|
|
* Tue Jan 14 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:3.30.1-7
|
|
- Type:bugfix
|
|
- Id:NA
|
|
- SUG:NA
|
|
- DESC: delete the isa in obsoletes
|
|
|
|
* Mon Jan 13 2020 openEuler Buildteam <buildteam@openeuler.org> - 1:3.30.1-6
|
|
- delete unused patch
|
|
|
|
* Mon Dec 30 2019 Ling Yang <lingyang2@huawei.com> - 1:3.30.1-5
|
|
- Disable wayland
|
|
|
|
* Tue Dec 17 2019 Jiangping Hu <hujiangping@huawei.com> - 1:3.30.1-4
|
|
- Add openEuler PAM config
|
|
|
|
* Sat Nov 23 2019 Jiangping Hu <hujiangping@huawei.com> - 1:3.30.1-3
|
|
- Package init
|