# # spec file for package gdm (Version 2.30.2) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: gdm BuildRequires: DeviceKit-power-devel BuildRequires: check-devel BuildRequires: fdupes BuildRequires: gconf2-devel BuildRequires: gnome-doc-utils-devel BuildRequires: gnome-panel-devel BuildRequires: gnome-patch-translation BuildRequires: intltool BuildRequires: iso-codes-devel BuildRequires: libcanberra-devel BuildRequires: libselinux-devel BuildRequires: libxklavier-devel BuildRequires: pam-devel BuildRequires: pwdutils BuildRequires: tcpd-devel BuildRequires: translation-update-upstream BuildRequires: update-desktop-files BuildRequires: xorg-x11-server BuildRequires: xorg-x11-server-extra BuildRequires: zenity License: GPLv2+ Group: System/GUI/GNOME Version: 2.30.2 Release: 3 Summary: The GNOME 2.x Display Manager Source: %{name}-%{version}.tar.bz2 Source1: gdm.pamd Source2: gdm-autologin.pamd # FIXME: See FIXME in the script. Source3: SuSEconfig.gdm # PATCH-FIX-UPSTREAM gdm-helper-directory.patch bgo582320 vuntz@novell.com -- Add --with-gnome-settings-daemon-directory, --with-consolekit-directory, --with-at-spi-registryd-directory Patch1: gdm-helper-directory.patch # PATCH-FIX-OPENSUSE gdm-2.21.9-no-fatal-warnings.patch -- Do not accept fatal warnings in development version: gdm is too critical Patch2: gdm-2.21.9-no-fatal-warnings.patch # PATCH-FIX-UPSTREAM gdm-vt-allocation-hack.patch bgo511168 hpj@novell.com -- Needed for user switching Patch4: gdm-vt-allocation-hack.patch # PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started Patch6: gdm-desktop-session-env-pam.patch # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts Patch7: gdm-suse-xsession.patch # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager Patch8: gdm-sysconfig-settings.patch # PATCH-FEATURE-SLED gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain Patch9: gdm-domain-logon.patch # PATCH-FIX-UPSTREAM gdm-greeter-greater-ui.patch bnc436431 bgo560508 vuntz@novell.com -- Improve the layout of the greeter. Note: the patch contains a patched glade file *and* the result glade file (for reference only, in case we need to rebase the patch) Patch15: gdm-greeter-greater-ui.patch # PATCH-FIX-UPSTREAM gdm-always-reflect-keyboard-layout.patch bnc438159 bgo561771 hpj@novell.com -- Make keyboard selector not neglect to apply the selected keyboard in some situations. Patch18: gdm-always-reflect-keyboard-layout.patch # PATCH-FIX-UPSTREAM gdm-save-panel-space-on-low-resolutions.patch bnc449815 bgo603817 hpj@novell.com -- Hide clock and/or selector labels on low resolutions. (needed because of gdm-domain-logon.patch) Patch19: gdm-save-panel-space-on-low-resolutions.patch # PATCH-FIX-UPSTREAM gdm-selecting-desktop-environment.patch bnc460591 mxwu@novell.com -- Selecting the right desktop environment Patch20: gdm-selecting-desktop-environment.patch # PATCH-FIX-OPENSUSE gdm-gconf-path.patch vuntz@novell.com -- Fix gconf paths to be consistent with the ones used in openSUSE Patch31: gdm-gconf-path.patch # PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default Patch34: gdm-default-wm.patch # PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bgo555464 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to localhost for local logins to avoid issues in the session in case the hostname changes Patch35: gdm-xauthlocalhostname.patch # PATCH-FIX-UPSTREAM gdm-autologin-once.patch bgo587606 vuntz@novell.com -- Make autologin work only once Patch37: gdm-autologin-once.patch # PATCH-FIX-UPSTREAM gdm-polkit-gnome-path.patch bgo597050 vuntz@opensuse.org -- Use the right patch for the polkit agent. The current patch is a quick workaround for now, until we know how upstream wants to fix this. Patch39: gdm-polkit-gnome-path.patch # PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 vuntz@opensuse.org -- Look at the current runlevel before managing the display again, so we don't do this when shutting down or rebooting Patch40: gdm-look-at-runlevel.patch # PATCH-FIX-UPSTREAM gdm-add-missing-locale.patch captain.magnus@opensuse.org -- Add missing locale.alias file. This patch can be removed with the next version update Patch41: gdm-add-missing-locale.patch # PATCH-FIX-UPSTREAM gdm-xdmcp-uninitialized.patch captain.magnus@opensuse.org -- Fix an uninitialized variable. Patch taken from git upstream and can be removed with the next update Patch42: gdm-xdmcp-uninitialized.patch # PATCH-FIX-OPENSUSE gdm-selinux.patch -- Small changes to make it compile fine with SELinux Patch60: gdm-selinux.patch Url: http://www.gnome.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build DocDir: %{_defaultdocdir} Provides: gdm2 = %{version} Obsoletes: gdm2 < %{version} Obsoletes: fast-user-switch-applet <= 2.22.0 Requires: %{name}-branding Requires: %{name}-lang = %{version} Requires: ConsoleKit-x11 Requires: gnome-session-core Requires: gnome-themes Requires: klogd Requires: xorg-x11-server-extra # For groupadd, useradd, usermod PreReq: pwdutils PreReq: %insserv_prereq Recommends: gnome-settings-daemon %gconf_schemas_prereq %description This version of GDM, the GNOME display manager, is based on GTK2 and is suited for the GNOME 2.x Desktop. GDM is a flexible X Window System display manager that has many options, is usable for remote login, and provides a good looking graphical interface. %package branding-upstream License: GPLv2+ Summary: The GNOME 2.x Display Manager Group: System/GUI/GNOME Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) #BRAND: Provide two equal files - /usr/share/gdm/defaults.conf and #BRAND: factory-defaults.conf with default configuration of gdm. #BRAND: Branding package requires the package with the default theme. #NOTE: We may want to create gdm-themes with upstream themes. %description branding-upstream This version of GDM, the GNOME display manager, is based on GTK2 and is suited for the GNOME 2.x Desktop. GDM is a flexible X Window System display manager that has many options, is usable for remote login, and provides a good looking graphical interface. %package -n gnome-applets-gdm License: GPLv2+ Summary: Switch User Panel Applet Group: System/GUI/GNOME Supplements: packageand(%{name}:gnome-panel) %description -n gnome-applets-gdm This package provides the switch user panel applet, that uses GDM, the GNOME display manager. %lang_package %prep %setup -q translation-update-upstream gnome-patch-translation-prepare %patch1 -p1 %patch2 -p1 %patch4 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch15 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch31 -p1 %patch34 -p1 %patch35 -p0 %patch37 -p1 %patch39 -p0 %patch40 -p1 %patch41 -p1 %patch42 -p1 %patch60 gnome-patch-translation-update %build libtoolize -f -i autoreconf -f -i %configure\ --libexecdir=%{_prefix}/lib/gdm \ --localstatedir=%{_localstatedir} \ --with-at-spi-registryd-directory=%{_libexecdir}/at-spi \ --with-gnome-settings-daemon-directory=%{_libexecdir}/gnome-settings-daemon \ --with-consolekit-directory=%{_libexecdir}/ConsoleKit \ --with-polkit-gnome-directory=%{_libexecdir}/polkit-gnome \ --with-selinux \ --enable-ipv6\ --disable-scrollkeeper %__make %{?jobs:-j%jobs} %install %makeinstall %if 0%{?suse_version} <= 1120 %{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/* %endif %find_gconf_schemas # Remove wrapper, it is not needed. mv $RPM_BUILD_ROOT%{_sbindir}/gdm-binary $RPM_BUILD_ROOT%{_sbindir}/gdm # Install PAM files and remove examples. mkdir -p $RPM_BUILD_ROOT/etc/pam.d cp %{S:1} $RPM_BUILD_ROOT/etc/pam.d/gdm cp %{S:2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin # Install PostLogin script. mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default # Install SuSEconfig script. mkdir -p $RPM_BUILD_ROOT/sbin/conf.d cp %{S:3} $RPM_BUILD_ROOT/sbin/conf.d chmod +x $RPM_BUILD_ROOT/sbin/conf.d/SuSEconfig.gdm mkdir -p $RPM_BUILD_ROOT{_localstatedir}/log/gdm mkdir -p $RPM_BUILD_ROOT{_localstatedir}/run/gdm %find_lang %{name} mkdir -p $RPM_BUILD_ROOT%{_bindir} ln -s ../sbin/gdm $RPM_BUILD_ROOT%{_bindir}/gdm %fdupes $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %pre -f %{name}.schemas_pre /usr/sbin/groupadd -r gdm 2> /dev/null || : /usr/sbin/useradd -r -o -g gdm -s /bin/false \ -c "Gnome Display Manager daemon" -d /var/lib/gdm gdm 2> /dev/null || : /usr/sbin/usermod -g gdm -G gdm -s /bin/false gdm 2> /dev/null # Fix incorrect interpretation of DISPLAYMANAGER_PASSWORD_LESS_LOGIN (#307566). # Last done in SLED10&10.1, first fixed in 10.3. # Can be removed after SLES12: if test -f sbin/conf.d/SuSEconfig.gdm && grep -q gdm-autologin sbin/conf.d/SuSEconfig.gdm ; then if grep -q '^DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"' etc/sysconfig/displaymanager ; then sed 's/^\(auth[[:space:]][[:space:]]*\)include[[:space:]]\([[:space:]]*\)common-auth/\1required\2pam_permit.so/' etc/pam.d/gdm-autologin.new if cmp -s etc/pam.d/gdm-autologin etc/pam.d/gdm-autologin.new ; then rm etc/pam.d/gdm-autologin.new else mv etc/pam.d/gdm-autologin.new etc/pam.d/gdm-autologin fi fi fi %preun -f %{name}.schemas_preun %posttrans -f %{name}.schemas_posttrans %postun %insserv_cleanup %files -f %{name}.schemas_list %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README %dir %config %{_sysconfdir}/gdm %config %{_sysconfdir}/gdm/[IPXl]* %{_sbindir}/* %{_bindir}/* %{_datadir}/gdm %{_datadir}/pixmaps/*.png %{_datadir}/pixmaps/faces %{_datadir}/icons/*/*/*/*.* %dir %{_libexecdir}/gdm %{_libexecdir}/gdm/gdm-* %exclude %{_libexecdir}/gdm/gdm-user-switch-applet %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm %attr(751,gdm,gdm) %dir %{_localstatedir}/run/gdm %attr(750,gdm,gdm) %dir %{_localstatedir}/log/gdm %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory %attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.gconf.mandatory/%gconf-tree.xml %attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.gconf.path %dir %{_localstatedir}/cache/gdm %config /etc/pam.d/* /sbin/conf.d/SuSEconfig.gdm %config %{_sysconfdir}/dbus-1/system.d/gdm.conf %config %{_sysconfdir}/gdm/gdm.schemas %files branding-upstream %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/gdm/custom.conf %files -n gnome-applets-gdm %defattr(-,root,root) %{_libexecdir}/gdm/gdm-user-switch-applet %{_libdir}/bonobo/servers/GNOME_FastUserSwitchApplet.server %{_datadir}/gnome-2.0/ui/GNOME_FastUserSwitchApplet.xml %files lang -f %{name}.lang %changelog