SHA256
1
0
forked from pool/gdm

Accepting request 81172 from home:vuntz:branches:GNOME:Factory

Integrate Egbert's /etc/init.d/xdm changes + cleanup + update to 3.1.90

OBS-URL: https://build.opensuse.org/request/show/81172
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=173
This commit is contained in:
Vincent Untz
2011-09-07 03:49:36 +00:00
committed by Git OBS Bridge
parent 132d82e404
commit 8b376d62d8
11 changed files with 327 additions and 154 deletions

177
gdm.spec
View File

@@ -15,25 +15,29 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
# FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999
%define enable_split_authentication 0
Name: gdm
License: GPLv2+
Group: System/GUI/GNOME
Version: 3.1.2
Release: 4
Version: 3.1.90
Release: 1
Summary: The GNOME Display Manager
Url: http://projects.gnome.org/gdm/
Source: %{name}-%{version}.tar.bz2
Source: http://download.gnome.org/sources/gdm/3.1/%{name}-%{version}.tar.bz2
Source1: gdm.pamd
Source2: gdm-autologin.pamd
Source3: gdmflexiserver.sh
Source3: gdm-welcome.pamd
# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm)
Source4: gdmflexiserver-wrapper
# /etc/xinit.d/xdm integration script
Source5: X11-displaymanager-gdm
# PATCH-FEATURE-UPSTREAM gdm-plymouth.patch vuntz@opensuse.org -- Get a nice transition from plymouth; taken from Fedora
Patch0: gdm-plymouth.patch
# PATCH-FIX-UPSTREAM gdm-plymouth-X-nr.patch vuntz@opensuse.org -- Patch on top of the previous patch (we keep it separate so it's easy to sync with Fedora) to use -nr when starting X
Patch1: gdm-plymouth-X-nr.patch
# 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
# PATCH-FIX-UPSTREAM gdm-helper-directory.patch bgo582320 vuntz@novell.com -- Add --with-consolekit-directory
Patch2: gdm-helper-directory.patch
# PATCH-FIX-OPENSUSE gdm-is-not-unstable-unless.patch vuntz@opensuse.org -- Make gdm think it's never running a development version unless SUSE_ENABLE_UNSTABLE_CHECK is set. This disables fatal warnings as well as abusive log
Patch3: gdm-is-not-unstable-unless.patch
@@ -65,14 +69,15 @@ Patch40: gdm-look-at-runlevel.patch
# PATCH-FIX-OPENSUSE gdm-selinux.patch -- Small changes to make it compile fine with SELinux
Patch60: gdm-selinux.patch
BuildRequires: check-devel
BuildRequires: dbus-1-glib-devel
# needed for directory ownership
BuildRequires: dconf
BuildRequires: fdupes
BuildRequires: gconf2-devel
BuildRequires: gnome-doc-utils-devel
BuildRequires: gnome-patch-translation
# needed for directory ownership
BuildRequires: gnome-session-core
BuildRequires: gobject-introspection-devel >= 0.9.12
BuildRequires: intltool
BuildRequires: iso-codes-devel
BuildRequires: libattr-devel
@@ -91,14 +96,23 @@ BuildRequires: pkgconfig(accountsservice)
BuildRequires: pkgconfig(nss)
Requires: %{name}-branding = %{version}
Requires: ConsoleKit-x11
Requires: gdmflexiserver
Requires: gnome-session-core
Requires: klogd
Requires: xorg-x11-server-extra
Requires: gdmflexiserver
# Packages for the gdm session (see /usr/share/gnome-session/sessions/gdm.session)
Requires: gnome-settings-daemon
### Packages for the gdm session (see /usr/share/gnome-session/sessions/{gdm,gdm-fallback}.session and /usr/share/gdm/greeter/applications)
## Fallback
Requires: metacity
Requires: polkit-gnome
## Non-fallback
# Use Recommends, since we do not want to force people to install gnome-shell, and if it's not there, the fallback session will be used
Recommends: gnome-shell
## All sessions
Requires: gnome-settings-daemon
# Those accessibility features rely on deprecated modules that we don't ship :/ See bgo#658429.
#Recommends: gnome-mag
#Recommends: gok
Recommends: orca
# For groupadd, useradd, usermod
PreReq: pwdutils
PreReq: %insserv_prereq
@@ -116,9 +130,19 @@ DocDir: %{_defaultdocdir}
The GNOME Display Manager is a system service that is responsible for
providing graphical log-ins and managing local and remote displays.
%package -n libgdmgreeter1
License: GPLv2+
Summary: Client Library for Communicating with GDM Greeter Server
Group: System/Libraries
Recommends: gdm
%description -n libgdmgreeter1
The GNOME Display Manager is a system service that is responsible for
providing graphical log-ins and managing local and remote displays.
%package -n libgdmsimplegreeter1
License: GPLv2+
Summary: Library for GDM Simple Greeter Plugins
Summary: Library for GDM Simple Greeter Extensions
Group: System/Libraries
Recommends: gdm
@@ -126,13 +150,29 @@ Recommends: gdm
The GNOME Display Manager is a system service that is responsible for
providing graphical log-ins and managing local and remote displays.
%package -n libgdmsimplegreeter-devel
%if %{enable_split_authentication}
%package simple-greeter-extensions
License: GPLv2+
Summary: Library for GDM Simple Greeter Plugins -- Development Files
Group: Development/Libraries/GNOME
Requires: libgdmsimplegreeter1 = %{version}
Summary: GDM Simple Greeter Extensions -- Fingerprint and Smartcard Support
Group: System/Libraries
Supplements: gdm
%glib2_gsettings_schema_requires
%description -n libgdmsimplegreeter-devel
%description simple-greeter-extensions
The GNOME Display Manager is a system service that is responsible for
providing graphical log-ins and managing local and remote displays.
%endif
%package devel
License: GPLv2+
Summary: Libraries for GDM -- Development Files
Group: Development/Libraries/GNOME
Requires: libgdmgreeter1 = %{version}
Requires: libgdmsimplegreeter1 = %{version}
Provides: libgdmsimplegreeter-devel = %{version}
Obsoletes: libgdmsimplegreeter-devel < %{version}
%description devel
The GNOME Display Manager is a system service that is responsible for
providing graphical log-ins and managing local and remote displays.
@@ -157,15 +197,16 @@ This package provides the upstream default configuration for gdm.
%package -n gdmflexiserver
License: GPLv2+
Summary: gdmflexiserver Compatibility Wrapper
Summary: Gdmflexiserver Compatibility Wrapper for Display Managers
Group: System/GUI/GNOME
Suggests: gdm
BuildArch: noarch
%description -n gdmflexiserver
This package provides a gdmflexiserver compatiblity wrapper which selects and
executes the correct gdmflexiserver executable based on the running display
manager.
The gdmflexiserver tool interacts with the display manager to
enable fast user switching. This package contains a wrapper that
selects the correct gdmflexiserver implementatoin, based on the
running display manager.
%lang_package
%prep
@@ -182,9 +223,9 @@ translation-update-upstream
%patch7 -p1
%patch8 -p1
%patch9 -p1
#%patch10 -p1
#%%patch10 -p1
# needs rebase (bnc#689552)
##%patch15 -p1
#%%patch15 -p1
%patch18 -p1
%patch31 -p1
%patch34 -p1
@@ -201,11 +242,14 @@ autoreconf -f -i
--libexecdir=%{_prefix}/lib/gdm \
--localstatedir=%{_localstatedir} \
--with-at-spi-registryd-directory=%{_libexecdir}/at-spi \
--with-gnome-settings-daemon-directory=%{_libexecdir}/gnome-settings-daemon-3.0 \
--with-consolekit-directory=%{_libexecdir}/ConsoleKit \
--with-polkit-gnome-directory=%{_libexecdir}/polkit-gnome \
--with-selinux \
--enable-ipv6 \
%if %{enable_split_authentication}
--enable-split-authentication \
%else
--disable-split-authentication \
%endif
--disable-scrollkeeper
%__make %{?jobs:-j%jobs} V=1
@@ -216,26 +260,31 @@ autoreconf -f -i
%endif
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%find_gconf_schemas
%if ! %{enable_split_authentication}
# Create extensions directory if it's not there yet, so we can package it
test ! -d %{buildroot}%{_libdir}/gdm/simple-greeter/extensions
mkdir -p %{buildroot}%{_libdir}/gdm/simple-greeter/extensions
%endif
# Remove wrapper, it is not needed.
mv $RPM_BUILD_ROOT%{_sbindir}/gdm-binary $RPM_BUILD_ROOT%{_sbindir}/gdm
# Install PAM files.
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
cp %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm
cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin
cp %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/gdm-welcome
# Install PostLogin script.
mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper.
# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper
mv $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver $RPM_BUILD_ROOT%{_libexecdir}/gdm/gdmflexiserver
install -m 755 %{S:3} $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver
mkdir -p $RPM_BUILD_ROOT{_localstatedir}/log/gdm
mkdir -p $RPM_BUILD_ROOT{_localstatedir}/run/gdm
%find_lang %{name} %{?no_lang_C}
install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver
# Install /etc/xinit.d/xdm integration script
install -D -m 644 %{SOURCE5} %{buildroot}%{_libdir}/X11/displaymanagers/gdm
# Install other files
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/gdm
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/gdm
mkdir -p $RPM_BUILD_ROOT%{_bindir}
ln -s ../sbin/gdm $RPM_BUILD_ROOT%{_bindir}/gdm
%fdupes $RPM_BUILD_ROOT
%find_lang %{name} %{?no_lang_C}
%clean
rm -rf $RPM_BUILD_ROOT
@@ -279,10 +328,22 @@ fi
%insserv_cleanup
%icon_theme_cache_postun
%post -n libgdmgreeter1 -p /sbin/ldconfig
%postun -n libgdmgreeter1 -p /sbin/ldconfig
%post -n libgdmsimplegreeter1 -p /sbin/ldconfig
%postun -n libgdmsimplegreeter1 -p /sbin/ldconfig
%if %{enable_split_authentication}
%post simple-greeter-extensions
%glib2_gsettings_schema_post
%postun simple-greeter-extensions
%glib2_gsettings_schema_postun
%endif
%files -f %{name}.schemas_list
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
@@ -299,7 +360,8 @@ fi
%{_bindir}/gdm
%{_bindir}/gdm-screenshot
%{_datadir}/gdm/
%{_datadir}/gnome-session/sessions/gdm.session
%{_datadir}/gnome-session/sessions/gdm-fallback.session
%{_datadir}/gnome-session/sessions/gdm-shell.session
%{_datadir}/icons/*/*/*/*.*
%{_datadir}/pixmaps/*.png
%dir %{_libexecdir}/gdm
@@ -311,16 +373,23 @@ fi
%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
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm/.local
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm/.local/share
%attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm/.local/share/applications
%attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.local/share/applications/mime-dummy-handler.desktop
%attr(640,gdm,gdm) %{_localstatedir}/lib/gdm/.local/share/applications/mimeapps.list
%dir %{_localstatedir}/cache/gdm
%config /etc/pam.d/*
%config /etc/pam.d/gdm
%config /etc/pam.d/gdm-autologin
%config /etc/pam.d/gdm-welcome
%config %{_sysconfdir}/dbus-1/system.d/gdm.conf
%{_sysconfdir}/dconf/db/gdm
%{_sysconfdir}/dconf/profile/gdm
# /etc/xinit.d/xdm integration
%dir %{_libdir}/X11/displaymanagers
%{_libdir}/X11/displaymanagers/gdm
# Exclude simple-greeter extensions
%exclude %{_datadir}/gdm/simple-greeter/extensions
%files -n libgdmgreeter1
%defattr(-,root,root)
%{_libdir}/libgdmgreeter.so.*
%{_libdir}/girepository-1.0/GdmGreeter-1.0.typelib
%files -n libgdmsimplegreeter1
%defattr(-,root,root)
@@ -332,12 +401,36 @@ fi
%dir %{_libdir}/gdm
%dir %{_libdir}/gdm/simple-greeter
%dir %{_libdir}/gdm/simple-greeter/extensions
%if %{enable_split_authentication}
%config /etc/pam.d/gdm-password
%{_datadir}/gdm/simple-greeter/extensions/password/
%{_libdir}/gdm/simple-greeter/extensions/libpassword.so
%{_datadir}/gdm/simple-greeter/extensions/unified/
%endif
%files -n libgdmsimplegreeter-devel
%if %{enable_split_authentication}
%files simple-greeter-extensions
%defattr(-,root,root)
# fingerprint
%config /etc/pam.d/gdm-fingerprint
%{_datadir}/gdm/simple-greeter/extensions/fingerprint/
%{_libdir}/gdm/simple-greeter/extensions/libfingerprint.so
%{_datadir}/glib-2.0/schemas/org.gnome.display-manager.extensions.fingerprint.gschema.xml
# smartcard
%config /etc/pam.d/gdm-smartcart
%{_datadir}/gdm/simple-greeter/extensions/smartcard/
%{_libdir}/gdm/simple-greeter/extensions/libsmartcard.so
%{_datadir}/glib-2.0/schemas/org.gnome.display-manager.extensions.smartcard.gschema.xml
%endif
%files devel
%defattr(-,root,root)
%{_includedir}/gdm/
%{_libdir}/libgdmgreeter.so
%{_libdir}/libgdmsimplegreeter.so
%{_libdir}/pkgconfig/gdmgreeter.pc
%{_libdir}/pkgconfig/gdmsimplegreeter.pc
%{_datadir}/gir-1.0/GdmGreeter-1.0.gir
%files branding-upstream
%defattr(-,root,root)