X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=gdm.spec;h=1b380736ac1516b6bd35a9a11a846d9178bf5fdf;hb=fbba9a313d2c0b440626881d873b0cd44065a488;hp=6b2ac6a1f69ca9c01b41039052b1ca29f81c0e73;hpb=7c166dd1a54bbe8a9b3f058e1f3db4d8797257c4;p=packages%2Fgdm.git diff --git a/gdm.spec b/gdm.spec index 6b2ac6a..1b38073 100644 --- a/gdm.spec +++ b/gdm.spec @@ -1,12 +1,13 @@ # # TODO: # - s=/dev/null=/home/services/xdm= in %%trigger for graceful upgrade from xdm/kdm/gdm 2.2 -# - check /etc/pam.d/gdm-autologin +# - check all /etc/pam.d/gdm-* to be pldized: +# gdm-autologin[4] gdm-fingerprint[10] gdm-password[1] gdm-smartcard gdm-launch-environment[11] # # Conditional build: -%bcond_without selinux # without selinux -%bcond_without systemd # by default use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime) +%bcond_without static_libs # static library +%define glib2_ver 1:2.56.0 Summary: GNOME Display Manager Summary(es.UTF-8): Administrador de Entrada del GNOME Summary(ja.UTF-8): GNOME ディスプレイマネージャ @@ -15,67 +16,63 @@ Summary(pt_BR.UTF-8): Gerenciador de Entrada do GNOME Summary(ru.UTF-8): Дисплейный менеджер GNOME Summary(uk.UTF-8): Дисплейний менеджер GNOME Name: gdm -Version: 3.4.1 -Release: 2 +Version: 41.3 +Release: 1 Epoch: 2 -License: GPL/LGPL +License: GPL v2+ Group: X11/Applications -Source0: http://ftp.gnome.org/pub/GNOME/sources/gdm/3.4/%{name}-%{version}.tar.xz -# Source0-md5: fda0470340f9c0bc2f8daccb280af520 +Source0: https://download.gnome.org/sources/gdm/41/%{name}-%{version}.tar.xz +# Source0-md5: 32e70f633b0709f0345b327d57349c82 Source1: %{name}.pamd Source2: %{name}.init Source3: %{name}-pld-logo.png Source4: %{name}-autologin.pamd Source5: %{name}-custom.desktop Source6: %{name}-default.desktop -Source7: %{name}.upstart Source9: %{name}.tmpfiles +Source10: %{name}-fingerprint.pamd +Source11: %{name}-launch-environment.pamd Patch0: %{name}-xdmcp.patch -Patch1: %{name}-polkit.patch -Patch2: %{name}-xsession.patch -Patch3: %{name}-defaults.patch -Patch4: shell-check.patch -URL: http://www.gnome.org/projects/gdm/ -BuildRequires: accountsservice-devel >= 0.6.12 -BuildRequires: attr-devel +Patch1: %{name}-xsession.patch +Patch2: %{name}-defaults.patch +Patch3: %{name}-both-libraries.patch +URL: https://wiki.gnome.org/Projects/GDM +BuildRequires: accountsservice-devel >= 0.6.35 BuildRequires: audit-libs-devel -BuildRequires: autoconf >= 2.60 -BuildRequires: automake >= 1:1.11 -BuildRequires: check >= 0.9.4 -BuildRequires: dbus-glib-devel >= 0.74 -BuildRequires: docbook-dtd412-xml -BuildRequires: fontconfig-devel >= 2.5.0 -BuildRequires: gettext-devel -BuildRequires: glib2-devel >= 1:2.30.0 -BuildRequires: gnome-doc-utils +BuildRequires: check-devel >= 0.9.4 +BuildRequires: dconf +BuildRequires: gettext-tools >= 0.19.8 +BuildRequires: glib2-devel >= %{glib2_ver} +BuildRequires: gobject-introspection-devel >= 0.9.12 BuildRequires: gtk+3-devel >= 3.0.0 -BuildRequires: intltool >= 0.40.0 BuildRequires: iso-codes +BuildRequires: keyutils-devel >= 1.6 BuildRequires: libcanberra-gtk3-devel >= 0.4 -%{?with_selinux:BuildRequires: libselinux-devel} -BuildRequires: libtool +BuildRequires: libselinux-devel +BuildRequires: libstdc++-devel BuildRequires: libwrap-devel -BuildRequires: libxklavier-devel >= 4.0-2 -BuildRequires: nss-devel >= 3.11.1 +BuildRequires: libxcb-devel +BuildRequires: meson >= 0.50 +BuildRequires: ninja >= 1.5 BuildRequires: pam-devel -BuildRequires: pango-devel >= 1.3.0 -BuildRequires: perl-modules BuildRequires: pkgconfig -BuildRequires: polkit-devel >= 0.93 +BuildRequires: plymouth-devel BuildRequires: rpmbuild(find_lang) >= 1.23 -BuildRequires: rpmbuild(macros) >= 1.627 -%{?with_systemd:BuildRequires: systemd-devel} +BuildRequires: rpmbuild(macros) >= 1.736 +BuildRequires: systemd-devel >= 1:209 BuildRequires: tar >= 1:1.22 -BuildRequires: upower-devel >= 0.9.0 BuildRequires: xorg-lib-libX11-devel BuildRequires: xorg-lib-libXau-devel BuildRequires: xorg-lib-libXdmcp-devel +BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXft-devel BuildRequires: xorg-lib-libXi-devel BuildRequires: xorg-lib-libXinerama-devel -BuildRequires: xorg-lib-libXrandr-devel +# for "XServer disables tcp access by default" detection +BuildRequires: xorg-xserver-server-devel >= 1.17 BuildRequires: xz -Requires(post,postun): glib2 >= 1:2.26.0 +BuildRequires: yelp-tools +Requires(post,postun): glib2 >= %{glib2_ver} Requires(post,postun): gtk-update-icon-cache Requires(postun): /usr/sbin/groupdel Requires(postun): /usr/sbin/userdel @@ -83,35 +80,37 @@ Requires(pre): /bin/id Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires(posttrans): dconf -Requires(post,preun,postun): systemd-units >= 38 Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: /usr/bin/X -Requires: accountsservice >= 0.6.12 +Requires: accountsservice >= 0.6.35 Requires: dbus-x11 Requires: gdm-wm >= 3.2.1 -Requires: gnome-session >= 3.0.0 -Requires: gnome-settings-daemon >= 3.0.0 +Requires: glib2 >= %{glib2_ver} +Requires: gnome-session >= 3.26.0 +Requires: gnome-settings-daemon >= 3.26.0 Requires: hicolor-icon-theme +Requires: iso-codes +Requires: libcanberra-gtk3 >= 0.4 Requires: pam >= 0.99.7.1 Requires: polkit-gnome >= 0.93 -Requires: systemd-units >= 38 Requires: which Requires: xinitrc-ng >= 1.0 Requires: xorg-app-sessreg Requires: xorg-app-xmodmap Suggests: ConsoleKit-x11 >= 0.4.1 Suggests: pam-pam_gnome_keyring +Suggests: xorg-xserver-Xephyr >= 1.17 Suggests: zenity Provides: XDM Provides: group(xdm) Provides: user(xdm) -Obsoletes: gdm-Xnest -Obsoletes: gdm-systemd -Obsoletes: gdm-user-switch-applet -Obsoletes: gnome-applet-fast-user-switch +Obsoletes: gdm-Xnest < 2:2.28 +Obsoletes: gdm-systemd < 2:3.2.1.1-10 +Obsoletes: gdm-upstart < 2:3.20 +Obsoletes: gdm-user-switch-applet < 2:3.0.0-2 +Obsoletes: gnome-applet-fast-user-switch < 2.21 Conflicts: gdkxft -# sr@Latn vs. sr@latin -Conflicts: glibc-misc < 6:2.7 +Conflicts: systemd < 186 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -148,6 +147,23 @@ GDM (GNOME Display Manager) - це реімплементація xdm (X Display Manager). GDM дозволяє вам входити в систему, на якій запущено X Window та підтримує роботу кількох різних X сеансів одночасно. +%package init +Summary: Init script for GDM +Summary(pl.UTF-8): Skrypt init dla GDM-a +Group: X11/Applications +Requires(post,preun): /sbin/chkconfig +Requires(post,preun,postun): systemd-units >= 38 +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: open +Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 + +%description init +Init script for GDM. + +%description init -l pl.UTF-8 +Skrypt init dla GDM-a. + %package libs Summary: GDM libraries Summary(pl.UTF-8): Biblioteki GDM @@ -185,99 +201,56 @@ This package contains static libraries for GDM. %description static -l pl.UTF-8 Pakiet zawiera statyczne biblioteki GDM. -%package init -Summary: Init script for GDM -Summary(pl.UTF-8): Skrypt init dla GDM-a -Group: X11/Applications -Requires(post,preun): /sbin/chkconfig -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: open -Requires: rc-scripts >= 0.4.3.0 - -%description init -Init script for GDM. - -%description init -l pl.UTF-8 -Skrypt init dla GDM-a. - -%package upstart -Summary: Upstart job description for GDM -Summary(pl.UTF-8): Opis zadania Upstart dla GDM -Group: Daemons -Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: upstart >= 0.6 - -%description upstart -Upstart job description for GDM. - -%description upstart -l pl.UTF-8 -Opis zadania Upstart dla GDM. - %prep %setup -q %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 %build -touch data/gdm.schemas.in.in -%{__libtoolize} -%{__glib_gettextize} -%{__intltoolize} -%{__aclocal} -%{__autoheader} -%{__autoconf} -%{__automake} -%configure \ - --disable-console-helper \ - --disable-scrollkeeper \ - --disable-silent-rules \ - %{__with_without systemd systemd} \ - --with-console-kit \ - --enable-authentication-scheme=pam \ - --with-pam-prefix=/etc \ - --with-tcp-wrappers=yes \ - --with%{!?with_selinux:out}-selinux \ - --with-xdmcp=yes \ - --with-xinerama=yes \ - --with-user=xdm \ - --with-group=xdm - -%{__make} +%meson build \ + %{!?with_static_libs:--default-library=shared} \ + -Dgdm-xsession=true \ + -Dgroup=xdm \ + -Dinitial-vt=9 \ + -Dipv6=true \ + -Dpam-mod-dir=/%{_lib}/security \ + -Dpam-prefix=/etc \ + -Dtcp-wrappers=true \ + -Dudev-dir=/lib/udev/rules.d \ + -Duser=xdm + +%ninja_build -C build %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security,init} \ - $RPM_BUILD_ROOT{/home/services/xdm,/var/log/gdm} \ - $RPM_BUILD_ROOT{%{_datadir}/xsessions,%{systemdunitdir}} \ +install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security} \ + $RPM_BUILD_ROOT{/home/services/xdm,/var/lib/gdm/.local,/var/log/gdm,/var/run/gdm/greeter} \ + $RPM_BUILD_ROOT{%{_pixmapsdir},%{_datadir}/xsessions,%{systemdunitdir}} \ $RPM_BUILD_ROOT%{systemdtmpfilesdir} -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT \ - PAM_PREFIX=%{_sysconfdir} +%ninja_install -C build -cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm-password +cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin +cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/pam.d/gdm-launch-environment install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/gdm -cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/init/%{name}.conf cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir} -ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/gdm.service -install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf +cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf + +# replace file with mask (to allow choosing via prefdm.service) +ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/gdm.service touch $RPM_BUILD_ROOT/etc/security/blacklist.gdm -%find_lang %{name} --with-gnome --with-omf --all-name +%find_lang %{name} --with-gnome # allow executing ~/.Xclients and ~/.xsession cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/xsessions/custom.desktop cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/xsessions/default.desktop -%{__rm} $RPM_BUILD_ROOT%{_libdir}/gdm/simple-greeter/extensions/*.{a,la} \ - $RPM_BUILD_ROOT%{_libdir}/*.la - %clean rm -rf $RPM_BUILD_ROOT @@ -290,29 +263,28 @@ umask 022 %useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm %post -%glib_compile_schemas %update_icon_cache hicolor -%systemd_reload %postun %update_icon_cache hicolor -%systemd_reload - if [ "$1" = "0" ]; then - %glib_compile_schemas %userremove xdm %groupremove xdm fi %triggerpostun -- %{name} < 2:3.2.1.1-10 if [ -f /etc/X11/gdm/gdm.conf-custom.rpmsave ]; then - mv /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf + mv -f /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf fi %post init /sbin/chkconfig --add gdm # -n skips restarting as it would otherise terminate all sessions opened from gdm! %service -n gdm restart +%systemd_reload + +%postun init +%systemd_reload %preun init if [ "$1" = "0" ]; then @@ -320,32 +292,30 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del gdm fi -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%post libs +/sbin/ldconfig +%glib_compile_schemas + +%postun libs +/sbin/ldconfig +if [ "$1" = "0" ]; then + %glib_compile_schemas +fi %files -f %{name}.lang %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS README TODO +%doc AUTHORS MAINTAINERS NEWS README.md %attr(755,root,root) %{_sbindir}/gdm -%attr(755,root,root) %{_sbindir}/gdm-binary %attr(755,root,root) %{_bindir}/gdm-screenshot %attr(755,root,root) %{_bindir}/gdmflexiserver -%dir %{_libdir}/gdm -%dir %{_libdir}/gdm/simple-greeter -%dir %{_libdir}/gdm/simple-greeter/extensions -%attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libfingerprint.so -%attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libpassword.so -%attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libsmartcard.so -%attr(755,root,root) %{_libexecdir}/gdm-crash-logger -%attr(755,root,root) %{_libexecdir}/gdm-factory-slave %attr(755,root,root) %{_libexecdir}/gdm-host-chooser -%attr(755,root,root) %{_libexecdir}/gdm-product-slave +%attr(755,root,root) %{_libexecdir}/gdm-runtime-config %attr(755,root,root) %{_libexecdir}/gdm-session-worker %attr(755,root,root) %{_libexecdir}/gdm-simple-chooser -%attr(755,root,root) %{_libexecdir}/gdm-simple-greeter -%attr(755,root,root) %{_libexecdir}/gdm-simple-slave -%attr(755,root,root) %{_libexecdir}/gdm-xdmcp-chooser-slave -%attr(755,root,root) %{_libexecdir}/gdm-smartcard-worker +%attr(755,root,root) %{_libexecdir}/gdm-wayland-session +%attr(755,root,root) %{_libexecdir}/gdm-x-session +%attr(755,root,root) /%{_lib}/security/pam_gdm.so +/lib/udev/rules.d/61-gdm.rules %dir %{_sysconfdir}/gdm %dir %{_sysconfdir}/gdm/Init %attr(755,root,root) %config %{_sysconfdir}/gdm/Init/Default @@ -354,65 +324,51 @@ fi %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession %dir %{_sysconfdir}/gdm/PostLogin %config %{_sysconfdir}/gdm/PostLogin/Default.sample -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf -%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/* -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm* +%attr(640,root,xdm) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf +%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/gdm.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm-* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.gdm -%{_sysconfdir}/dconf/db/gdm.d -%{_sysconfdir}/dconf/profile/gdm -%attr(1755,root,xdm) %dir /var/cache/gdm -%attr(1770,root,xdm) %dir /var/gdm +%{_datadir}/dconf/profile/gdm +%dir %{systemduserunitdir}/gnome-session@gnome-login.target.d +%{systemduserunitdir}/gnome-session@gnome-login.target.d/session.conf %attr(1770,root,xdm) %dir /var/lib/gdm -%dir /var/lib/gdm/.config -%attr(755,xdm,xdm) %dir /var/lib/gdm/.config/dconf %attr(755,xdm,xdm) /var/lib/gdm/.local %attr(750,xdm,xdm) %dir /var/log/gdm %attr(711,root,xdm) %dir /var/run/gdm %attr(755,xdm,xdm) %dir /var/run/gdm/greeter %attr(750,xdm,xdm) /home/services/xdm %{systemdtmpfilesdir}/%{name}.conf -%{_pixmapsdir}/* +%{_pixmapsdir}/gdm-pld-logo.png %{_datadir}/gdm -%{_datadir}/polkit-1/actions/gdm.policy -%{_datadir}/gnome-session/sessions/gdm-fallback.session -%{_datadir}/gnome-session/sessions/gdm-shell.session +%{_datadir}/gnome-session/sessions/gnome-login.session %{_datadir}/xsessions/custom.desktop %{_datadir}/xsessions/default.desktop -%{_iconsdir}/hicolor/*/apps/*.png -%{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml + +%files init +%defattr(644,root,root,755) +%attr(754,root,root) /etc/rc.d/init.d/gdm +%{systemdunitdir}/gdm.service %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libgdmgreeter.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libgdmgreeter.so.1 -%attr(755,root,root) %{_libdir}/libgdmsimplegreeter.so.1.0.0 -%attr(755,root,root) %ghost %{_libdir}/libgdmsimplegreeter.so.1 -%{_libdir}/girepository-1.0/GdmGreeter-1.0.typelib +%attr(755,root,root) %{_libdir}/libgdm.so.1.0.0 +%attr(755,root,root) %ghost %{_libdir}/libgdm.so.1 +%{_libdir}/girepository-1.0/Gdm-1.0.typelib +%{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml %files devel %defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libgdm.so %dir %{_includedir}/gdm -%dir %{_includedir}/gdm/greeter -%{_includedir}/gdm/greeter/gdm-greeter-client.h -%{_includedir}/gdm/greeter/gdm-greeter-sessions.h -%dir %{_includedir}/gdm/simple-greeter -%{_includedir}/gdm/simple-greeter/gdm-login-extension.h -%{_pkgconfigdir}/gdmgreeter.pc -%{_pkgconfigdir}/gdmsimplegreeter.pc -%{_libdir}/libgdmgreeter.so -%{_libdir}/libgdmsimplegreeter.so -%{_datadir}/gir-1.0/GdmGreeter-1.0.gir +%{_includedir}/gdm/gdm-client-glue.h +%{_includedir}/gdm/gdm-client.h +%{_includedir}/gdm/gdm-pam-extensions.h +%{_includedir}/gdm/gdm-sessions.h +%{_includedir}/gdm/gdm-user-switching.h +%{_pkgconfigdir}/gdm.pc +%{_pkgconfigdir}/gdm-pam-extensions.pc +%{_datadir}/gir-1.0/Gdm-1.0.gir %files static %defattr(644,root,root,755) -%{_libdir}/libgdmgreeter.a -%{_libdir}/libgdmsimplegreeter.a - -%files init -%defattr(644,root,root,755) -%attr(754,root,root) /etc/rc.d/init.d/gdm -%{systemdunitdir}/gdm.service - -%files upstart -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf +%{_libdir}/libgdm.a