SHA256
1
0
forked from pool/gdm
gdm/gdm.spec
Vincent Untz b6a44adcc8 Accepting request 21607 from home:vuntz:branches:GNOME:Factory
Copy from home:vuntz:branches:GNOME:Factory/gdm via accept of submit request 21607 revision 2.

OBS-URL: https://build.opensuse.org/request/show/21607
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=101
2009-10-02 15:26:52 +00:00

267 lines
11 KiB
RPMSpec

#
# 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 >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