# # spec file for package gdm (Version 2.28.0) # # Copyright (c) 2009 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: 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: libglade2-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: GPL v2 or later Group: System/GUI/GNOME Version: 2.28.0 Release: 1 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 Source5: sysconfig.displaymanager-gdm # PATCH-FIX-UPSTREAM gdm-helper-directory.patch bgo582320 vuntz@novell.com -- Add --with-gnome-settings-daemon-directory and --with-consolekit-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-NEEDS-REBASE gdm-domain-logon.patch hpj@novell.com -- Add UI to log in a specific domain (was: PATCH-FEATURE-SLED) Patch8: gdm-domain-logon.patch # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager Patch13: gdm-sysconfig-settings.patch # PATCH-NEEDS-REBASE 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) (was PATCH-FIX-UPSTREAM) 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-OPENSUSE gdm-save-panel-space-on-low-resolutions.patch bnc449815 hpj@novell.com -- Hide clock and/or selector labels on low resolutions. 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-UPSTREAM gdm-keyboard-from-hal.patch bnc492284 bnc478083 vuntz@novell.com -- Read the keyboard layout from hal Patch32: gdm-keyboard-from-hal.patch # PATCH-FIX-OPENSUSE gdm-keyboard-from-sysconfig.patch bnc432360 bnc478083 hpj@novell.com -- Read keyboard options from sysconfig (for openSUSE <= 11.1, since keyboard layout wasn't in hal) Patch33: gdm-keyboard-from-sysconfig.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-build-fixes.patch bgo596605 vuntz@novell.com -- Add missing return value Patch36: gdm-build-fixes.patch # PATCH-FIX-UPSTREAM gdm-autologin-once.patch bgo587606 vuntz@novell.com -- Make autologin work only once Patch37: gdm-autologin-once.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 Obsoletes: gdm2 Obsoletes: fast-user-switch-applet <= 2.22.0 Requires: %{name}-branding Requires: %{name}-lang = %{version} Requires: ConsoleKit-x11 Requires: gnome-session 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: GPL v2 or later Summary: The GNOME 2.x Display Manager Group: System/GUI/GNOME Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(branding-upstream:%{name}) #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. %lang_package %prep %setup -q translation-update-upstream gnome-patch-translation-prepare %patch1 -p1 %patch2 -p1 %patch4 -p1 %patch6 -p1 %patch7 -p1 # NEEDS-REBASE - also re-enable gnome-patch-translation-update after patch rebase # %%patch8 -p1 %patch13 -p1 # %%patch15 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch31 -p1 %if %suse_version > 1110 %patch32 -p1 %else %patch33 -p1 %endif %patch34 -p1 %patch35 -p1 %patch36 -p1 %patch37 -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=%{_prefix}/lib/at-spi \ --with-gnome-settings-daemon-directory=%{_prefix}/lib/gnome-settings-daemon \ --with-consolekit-directory=%{_prefix}/lib/ConsoleKit \ --with-selinux \ --enable-ipv6\ --disable-scrollkeeper %__make %{?jobs:-j%jobs} %install %makeinstall %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 touch $RPM_BUILD_ROOT%{_sysconfdir}/gdm/gdm_sysconfig.conf 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 # Remove old gdm_sysconfig.conf to update custom.conf from sysconfig settings. rm -f etc/gdm/gdm_sysconfig.conf # 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]* %ghost %{_sysconfdir}/gdm/gdm_sysconfig.conf %{_sbindir}/* %{_bindir}/* %{_datadir}/gdm %{_datadir}/pixmaps/*.png %{_datadir}/pixmaps/faces %{_datadir}/icons/*/*/*/*.* %dir %{_prefix}/lib/gdm %{_prefix}/lib/gdm/gdm-* %{_libdir}/bonobo/servers/* %{_datadir}/gnome-2.0/ui/* %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm %attr(755,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 lang -f %{name}.lang %changelog