X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=blobdiff_plain;f=gdm.spec;h=1e8a4b899f5e6dc07dfd45459da0b2940f908b50;hb=23cbe59b4213fbde4d4e8acae96cd06110fc4b22;hp=975a7d030b463313b69ba30ef06cfbf1e4b81038;hpb=e74d4afe05df0227df6e67fc0e62b462e2245c34;p=packages%2Fgdm.git diff --git a/gdm.spec b/gdm.spec index 975a7d0..1e8a4b8 100644 --- a/gdm.spec +++ b/gdm.spec @@ -1,70 +1,86 @@ +# # TODO: -# /etc/X11/dm dir should belong to XFree? It is common for KDE and GNOME -# s=/dev/null=/home/services/xdm= in %%trigger for gracefull upgrade from xdm/kdm/gdm 2.2 -# check /etc/pam.d/gdm-autologin +# - s=/dev/null=/home/services/xdm= in %%trigger for graceful upgrade from xdm/kdm/gdm 2.2 +# - check /etc/pam.d/gdm-autologin +# +# Conditiional build: +%bcond_without selinux # without selinux # Summary: GNOME Display Manager -Summary(es): Administrador de Entrada del GNOME -Summary(ja): GNOME ¥Ç¥£¥¹¥×¥ì¥¤¥Þ¥Í¡¼¥¸¥ã -Summary(pl): gdm - zarz±dca ekranów GNOME -Summary(pt_BR): Gerenciador de Entrada do GNOME -Summary(ru): äÉÓÐÌÅÊÎÙÊ ÍÅÎÅÄÖÅÒ GNOME -Summary(uk): äÉÓÐÌÅÊÎÉÊ ÍÅÎÅÄÖÅÒ GNOME +Summary(es.UTF-8): Administrador de Entrada del GNOME +Summary(ja.UTF-8): GNOME ディスプレイマネージャ +Summary(pl.UTF-8): gdm - zarządca ekranów GNOME +Summary(pt_BR.UTF-8): Gerenciador de Entrada do GNOME +Summary(ru.UTF-8): Дисплейный менеджер GNOME +Summary(uk.UTF-8): Дисплейний менеджер GNOME Name: gdm -Version: 2.6.0.3 -Release: 4 +Version: 2.20.7 +Release: 1 Epoch: 1 License: GPL/LGPL Group: X11/Applications -Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/2.6/%{name}-%{version}.tar.bz2 -# Source0-md5: 2eb8c0fb4289d78fdae686aee3cfbd5c +Source0: http://ftp.gnome.org/pub/GNOME/sources/gdm/2.20/%{name}-%{version}.tar.bz2 +# Source0-md5: 15be72743003cb1e36c9ce2ac2de5381 Source1: %{name}.pamd Source2: %{name}.init Source3: %{name}-pld-logo.png # http://cvs.pld-linux.org/cgi-bin/cvsweb/pld-artwork/gdm/storky/ Source4: %{name}-storky.tar.gz # Source4-md5: e293fbe4a60004056f6894463b874ae8 +Source5: %{name}-autologin.pamd Patch0: %{name}-xdmcp.patch Patch1: %{name}-conf.patch Patch2: %{name}-xsession.patch -Patch3: %{name}-logdir.patch -Patch4: %{name}-locale-names.patch -Patch5: %{name}-default_theme.patch -Patch6: %{name}-desktop.patch -URL: http://www.jirka.org/gdm.html +Patch3: %{name}-desktop.patch +Patch4: %{name}-defaults.patch +URL: http://www.gnome.org/projects/gdm/ +BuildRequires: ConsoleKit-devel BuildRequires: attr-devel -BuildRequires: autoconf +BuildRequires: autoconf >= 2.52 BuildRequires: automake +BuildRequires: dbus-glib-devel >= 0.73 BuildRequires: gettext-devel -BuildRequires: gtk+2-devel >= 2:2.4.3 -BuildRequires: intltool >= 0.30 -BuildRequires: libglade2-devel >= 1:2.4.0 -BuildRequires: libgnome-devel >= 2.6.1 -BuildRequires: libgnomecanvas-devel >= 2.6.1 -BuildRequires: libgnomeui-devel >= 2.6.1 -BuildRequires: libgsf-devel >= 1.9.0 -BuildRequires: librsvg-devel >= 1:2.6.5 -BuildRequires: libselinux-devel +BuildRequires: gtk+2-devel >= 2:2.12.0 +BuildRequires: intltool >= 0.36.1 +BuildRequires: libart_lgpl-devel >= 2.3.19 +BuildRequires: libglade2-devel >= 1:2.6.2 +BuildRequires: libgnomeui-devel >= 2.20.0 +BuildRequires: libgsf-devel >= 1.14.6 +BuildRequires: librsvg-devel >= 1:2.18.1 +%{?with_selinux:BuildRequires: libselinux-devel} BuildRequires: libtool -BuildRequires: libxml2-devel >= 2.5.11 +BuildRequires: libxml2-devel >= 1:2.6.29 BuildRequires: pam-devel BuildRequires: perl-modules +BuildRequires: rpmbuild(find_lang) >= 1.23 +BuildRequires: rpmbuild(macros) >= 1.311 BuildRequires: scrollkeeper +BuildRequires: sed >= 4.0 +BuildRequires: xorg-lib-libXdmcp-devel +BuildRequires: xorg-lib-libXi-devel +BuildRequires: xorg-lib-libXinerama-devel +BuildRequires: xorg-lib-libdmx-devel +Requires(post,postun): gtk+2 +Requires(post,postun): hicolor-icon-theme +Requires(post,postun): /usr/bin/scrollkeeper-update +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(postun): /usr/sbin/userdel -Requires(postun): /usr/sbin/groupdel -Requires(post,postun): /usr/bin/scrollkeeper-update -Requires: libgnome >= 2.6.1 -Requires: sessreg +Requires: libgnomeui >= 2.20.0 +Requires: pam >= 0.99.7.1 Requires: which -Requires: pam >= 0.77.3-7 -Obsoletes: xdm kdm wdm +Requires: xorg-app-xmodmap +Requires: xorg-app-sessreg +Provides: XDM +Provides: group(xdm) +Provides: user(xdm) Conflicts: gdkxft +# sr@Latn vs. sr@latin +Conflicts: glibc-misc < 6:2.7 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _sysconfdir /etc/X11 %define _localstatedir /var/lib %description @@ -73,60 +89,60 @@ reimplementation of xdm, the X Display Manager. Gdm allows you to log into your system with the X Window System running and supports running several different X sessions on your local machine at the same time. -%description -l es +%description -l es.UTF-8 Administrador de Entrada del GNOME. -%description -l ja -Gdm (the GNOME Display Manager) ¤Ï¡¢¹âÅÙ¤ËÀßÄê²Äǽ¤Ê xdm X Display -Manager ¤ÎºÆ¼ÂÁõÈǤǤ¹¡£ Gdm ¤ò»È¤¦¤È¡¢ X Window System -¤¬Æ°¤¤¤Æ¤¤¤ë¤¢¤Ê¤¿¤Î -¥·¥¹¥Æ¥à¤Ë¤¤¤í¤¤¤í¤Ê¥»¥Ã¥·¥ç¥ó¤òÁªÂò¤·¤Æ¥í¥°¥¤¥ó¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ +%description -l ja.UTF-8 +Gdm (the GNOME Display Manager) は、高度に設定可能な xdm X Display +Manager の再実装版です。 Gdm を使うと、 X Window System +が動いているあなたの +システムにいろいろなセッションを選択してログインすることができます。 -¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Gdm ¤Ç¤Ï¡¢³Æ¼ï¸À¸ì¤ä¡¢XIM ¤òÁªÂò¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¹¡£ +このバージョンの Gdm では、各種言語や、XIM を選択することも可能です。 -%description -l pl -Gdm jest wysokokonfigurowaln± reimplementacj± xdma. Gdm pozwala -logowaæ siê do systemu z poziomu X11 i wspiera jednoczesn± pracê kilku -ró¿nych sesji X na lokalnej maszynie. +%description -l pl.UTF-8 +Gdm jest wysokokonfigurowalną reimplementacją xdma. Gdm pozwala +logować się do systemu z poziomu X11 i wspiera jednoczesną pracę kilku +różnych sesji X na lokalnej maszynie. -%description -l pt_BR +%description -l pt_BR.UTF-8 Gerenciador de Entrada do GNOME. -%description -l ru -GDM (GNOME Display Manager) - ÜÔÏ ÒÅÉÍÐÌÅÍÅÎÔÁÃÉÑ xdm (X Display -Manager). GDM ÐÏÚ×ÏÌÑÅÔ ×ÁÍ ×ÈÏÄÉÔØ × ÓÉÓÔÅÍÕ, ÎÁ ËÏÔÏÒÏÊ ÚÁÐÕÝÅÎÏ X -Window É ÐÏÄÄÅÒÖÉ×ÁÅÔ ÒÁÂÏÔÕ ÎÅÓËÏÌØÕÉÈ ÒÁÚÎÙÈ X ÓÅÁÎÓÏ× ÏÄÎÏ×ÒÅÍÅÎÎÏ. +%description -l ru.UTF-8 +GDM (GNOME Display Manager) - это реимплементация xdm (X Display +Manager). GDM позволяет вам входить в систему, на которой запущено X +Window и поддерживает работу нескольуих разных X сеансов одновременно. -%description -l uk -GDM (GNOME Display Manager) - ÃÅ ÒŦÍÐÌÅÍÅÎÔÁÃ¦Ñ xdm (X Display -Manager). GDM ÄÏÚ×ÏÌѤ ×ÁÍ ×ÈÏÄÉÔÉ × ÓÉÓÔÅÍÕ, ÎÁ ÑË¦Ê ÚÁÐÕÝÅÎÏ X -Window ÔÁ ЦÄÔÒÉÍÕ¤ ÒÏÂÏÔÕ Ë¦ÌØËÏÈ Ò¦ÚÎÉÈ X ÓÅÁÎÓ¦× ÏÄÎÏÞÁÓÎÏ. +%description -l uk.UTF-8 +GDM (GNOME Display Manager) - це реімплементація xdm (X Display +Manager). GDM дозволяє вам входити в систему, на якій запущено X +Window та підтримує роботу кількох різних X сеансів одночасно. %package Xnest Summary: Xnest (ie embedded X) server for GDM -Summary(pl): Serwer Xnest dla GDM +Summary(pl.UTF-8): Serwer Xnest dla GDM Group: X11/Applications Requires: %{name} = %{epoch}:%{version}-%{release} -Requires: XFree86-Xnest +Requires: xorg-xserver-Xnest %description Xnest This package add support for Xnest server in gdm. -%description Xnest -l pl +%description Xnest -l pl.UTF-8 Ten pakiet dodaje do gdm wsparcie dla Xnest. %package init Summary: Init script for GDM -Summary(pl): Skrypt init dla GDM-a +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(post,preun): /sbin/chkconfig %description init Init script for GDM. -%description init -l pl +%description init -l pl.UTF-8 Skrypt init dla GDM-a. %prep @@ -136,27 +152,27 @@ Skrypt init dla GDM-a. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -mv po/{no,nb}.po +sed -i -e 's#sr@Latn#sr@latin#' po/LINGUAS +mv po/sr@{Latn,latin}.po %build -rm -f missing %{__libtoolize} -glib-gettextize --copy --force -intltoolize --copy --force +%{__glib_gettextize} +%{__intltoolize} %{__aclocal} %{__autoconf} %{__automake} %configure \ - --with-xinerama=yes \ - --with-xdmcp=yes \ + --disable-console-helper \ + --disable-scrollkeeper \ + --with-console-kit \ + --enable-authentication-scheme=pam \ --with-pam-prefix=/etc \ --with-tcp-wrappers=yes \ - --enable-authentication-scheme=pam \ - --disable-console-helper \ - --with-selinux + --with%{!?with_selinux:out}-selinux \ + --with-xdmcp=yes \ + --with-xinerama=yes %{__make} @@ -170,9 +186,11 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security} \ DESTDIR=$RPM_BUILD_ROOT \ PAM_PREFIX=/etc -mv $RPM_BUILD_ROOT%{_datadir}/gdm/BuiltInSessions/default.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions +mv $RPM_BUILD_ROOT%{_datadir}/gdm/BuiltInSessions/default.desktop \ + $RPM_BUILD_ROOT%{_datadir}/xsessions install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm +install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/gdm install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir} @@ -181,7 +199,7 @@ install storky/*.* $RPM_BUILD_ROOT%{_datadir}/gdm/themes/storky/ touch $RPM_BUILD_ROOT/etc/security/blacklist.gdm -%find_lang %{name} --all-name --with-gnome +%find_lang %{name} --with-gnome --with-omf --all-name # Remove useless files rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/modules/*.{la,a} @@ -193,63 +211,56 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome.desktop rm -rf $RPM_BUILD_ROOT %pre -if [ -n "`getgid xdm`" ]; then - if [ "`getgid xdm`" != "55" ]; then - echo "Error: group xdm doesn't have gid=55. Correct this before installing %{name}." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 55 -r -f xdm -fi - - -if [ -z "`id -u xdm 2>/dev/null`" ]; then - /usr/sbin/useradd -u 55 -r -d /home/services/xdm -s /bin/false -c 'X Display Manager' -g xdm xdm 1>&2 -fi +%groupadd -g 55 -r -f xdm +%useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm %post -/usr/bin/scrollkeeper-update +%scrollkeeper_update_post +%update_icon_cache hicolor %postun -/usr/bin/scrollkeeper-update +%scrollkeeper_update_postun +%update_icon_cache hicolor + if [ "$1" = "0" ]; then - if [ -n "`id -u xdm 2>/dev/null`" ]; then - /usr/sbin/userdel xdm - fi - /usr/sbin/groupdel xdm + %userremove xdm + %groupremove xdm +fi + +%triggerpostun -- %{name} < 1:2.13.0.8-1 +if [ -f /etc/X11/gdm/gdm.conf-custom.rpmsave ]; then + mv /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf fi %post init /sbin/chkconfig --add gdm if [ -f /var/lock/subsys/gdm ]; then - echo "Run \"/etc/rc.d/init.d/gdm restart\" to restart gdm." >&2 + echo "Run \"/sbin/service gdm restart\" to restart gdm." >&2 + echo "WARNING: it will terminate all sessions opened from gdm!" >&2 else - echo "Run \"/etc/rc.d/init.d/gdm start\" to start gdm." >&2 + echo "Run \"/sbin/service gdm start\" to start gdm." >&2 fi %preun init if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/gdm ]; then - /etc/rc.d/init.d/gdm stop >&2 - fi + %service gdm stop /sbin/chkconfig --del gdm fi %files -f %{name}.lang %defattr(644,root,root,755) %doc AUTHORS ChangeLog NEWS README TODO -%attr(755,root,root) %{_bindir}/gdm -%attr(755,root,root) %{_bindir}/gdm-binary -%attr(755,root,root) %{_bindir}/gdmchooser +%attr(755,root,root) %{_bindir}/gdm-dmx-reconnect-proxy +%attr(755,root,root) %{_bindir}/gdmdynamic %attr(755,root,root) %{_bindir}/gdmflexiserver -%attr(755,root,root) %{_bindir}/gdmgreeter -%attr(755,root,root) %{_bindir}/gdmlogin %attr(755,root,root) %{_bindir}/gdmphotosetup -%attr(755,root,root) %{_bindir}/gdmsetup %attr(755,root,root) %{_bindir}/gdmthemetester %attr(755,root,root) %{_libdir}/gdmaskpass %attr(755,root,root) %{_libdir}/gdmopen %attr(755,root,root) %{_libdir}/gdmtranslate +%attr(755,root,root) %{_libdir}/gdmchooser +%attr(755,root,root) %{_libdir}/gdmgreeter +%attr(755,root,root) %{_libdir}/gdmlogin %attr(755,root,root) %{_sbindir}/* %dir %{_sysconfdir}/gdm %dir %{_sysconfdir}/gdm/modules @@ -258,33 +269,30 @@ fi %attr(755,root,root) %config %{_sysconfdir}/gdm/PostSession %attr(755,root,root) %config %{_sysconfdir}/gdm/XKeepsCrashing %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession -%config %{_sysconfdir}/gdm/factory-gdm.conf %config %{_sysconfdir}/gdm/PostLogin/Default.sample +%config %{_sysconfdir}/gdm/locale.alias %config %{_sysconfdir}/gdm/modules/* -%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/gdm/gdm.conf -%config %{_sysconfdir}/gdm/locale.alias -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/gdm* -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.gdm +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/ + +%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 %attr(750,xdm,xdm) /var/lib/gdm %attr(750,xdm,xdm) /var/log/gdm %attr(750,xdm,xdm) /home/services/xdm %{_pixmapsdir}/* -%{_desktopdir}/gdmsetup.desktop -%{_desktopdir}/gdmflexiserver.desktop -%{_datadir}/gnome/capplets/* %{_datadir}/gdm #%%{_datadir}/xsessions - moved to gnome-session %{_datadir}/xsessions/default.desktop %{_iconsdir}/hicolor/*/apps/*.png -%{_omf_dest_dir}/gdm +%{_iconsdir}/hicolor/*/apps/*.svg %attr(755,root,root) %{_libdir}/gtk-2.0/modules/lib*.so %{_mandir}/man1/gdm* %files Xnest %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/gdmXnest %attr(755,root,root) %{_bindir}/gdmXnestchooser -%{_desktopdir}/gdmflexiserver-xnest.desktop %files init %defattr(644,root,root,755)