LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File gnome-session.spec of Package gnome-session (Project GNOME:Factory)

#
# spec file for package gnome-session
#
# Copyright (c) 2012 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/
#


%define with_systemd 1

Name:           gnome-session
Version:        3.6.2
Release:        0
Summary:        Session Tools for the GNOME Desktop
License:        GPL-2.0+
Group:          System/GUI/GNOME
Url:            http://www.gnome.org
Source:         http://download.gnome.org/sources/gnome-session/3.6/%{name}-%{version}.tar.xz
Source1:        gnome
Source2:        gnome.desktop
# PATCH-FIX-UPSTREAM gnome-session-ice-auth-for-suid.patch hpj@novell.com -- Carries ICE auth over to other UIDs in this session using an env var.
Patch0:         gnome-session-ice-auth-for-suid.patch
# PATCH-FIX-UPSTREAM gnome-session-kdm-support.patch hpj@novell.com -- Adds support for KDM logout commands.
Patch1:         gnome-session-kdm-support.patch
# PATCH-FEATURE-OPENSUSE gnome-session-unblacklist-llvmpipe.patch badshah400@gmail.com -- Remove llvmpipe from blacklisted drivers to enable full gnome-shell session on virtual machines.
Patch4:         gnome-session-unblacklist-llvmpipe.patch
BuildRequires:  fdupes
BuildRequires:  gnome-common
BuildRequires:  hicolor-icon-theme
BuildRequires:  intltool
BuildRequires:  tcpd-devel
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(dbus-glib-1) >= 0.76
# Support gconf-based autostart
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(glib-2.0) >= 2.33.4
BuildRequires:  pkgconfig(gtk+-3.0) >= 2.90.7
BuildRequires:  pkgconfig(ice)
BuildRequires:  pkgconfig(json-glib-1.0) >= 0.10
%if 0%{?suse_version} >= 1220
BuildRequires:  pkgconfig(libsystemd-daemon)
BuildRequires:  pkgconfig(libsystemd-login)
%endif
BuildRequires:  pkgconfig(sm)
BuildRequires:  pkgconfig(upower-glib) >= 0.9.0
BuildRequires:  pkgconfig(xau)
BuildRequires:  pkgconfig(xcomposite)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xrender)
BuildRequires:  pkgconfig(xtst)
Requires:       %{name}-core = %{version}
Requires:       %{name}-default-session = %{version}
Recommends:     %{name}-lang
Obsoletes:      gnome-core
# There's no splash anymore, so no branding package.
Provides:       %{name}-branding = %{version}
Obsoletes:      %{name}-branding < %{version}
# Obsolete helpers that were in subpackages and that have been removed
Obsoletes:      gnome-session-gtk1-support <= 2.31
Obsoletes:      gnome-session-splash <= 2.31
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This package provides the basic session tools, like session management
functionality, for the GNOME Desktop.

%package default-session
Summary:        Session Manager for GNOME -- Default GNOME Session
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Requires:       gnome-settings-daemon
Requires:       gnome-shell
Recommends:     %{name}-fallback-session

%description default-session
This package contains the definition of the default GNOME session.

%package fallback-session
Summary:        Session Manager for GNOME -- Fallback GNOME Session
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Requires:       gnome-panel
Requires:       gnome-settings-daemon
Requires:       metacity
Requires:       notification-daemon

%description fallback-session
This package contains the definition of the fallback GNOME session,
which is used when the graphics are not hardware-accelerated.

%package -n gnome2-look-and-feel
Summary:        GNOME Desktop with the GNOME 2 Look and Feel
Group:          System/GUI/GNOME
Requires:       %{name}-fallback-session

%description -n gnome2-look-and-feel
This package contains the definition to choose in the display manager
a GNOME 3 session that looks and feels like GNOME 2.

%package core
Summary:        Session Manager for GNOME -- Minimal Version
Group:          System/GUI/GNOME
%if ! %{with_systemd}
Requires:       ConsoleKit
%endif
Requires:       dbus-1-x11
Requires:       gsettings-desktop-schemas >= 0.1.7
Requires:       hicolor-icon-theme
%glib2_gsettings_schema_requires

%description core
This package contains a minimal version of gnome-session, that can be
used for specific cases. The gnome-session package is needed for a fully
functional GNOME desktop.

%lang_package
%prep
%setup -q
translation-update-upstream
%patch0 -p1
%patch1 -p1
%patch4 -p1

%build
NOCONFIGURE=1 gnome-autogen.sh
%configure
%__make %{?jobs:-j%jobs} V=1

%install
%makeinstall
%if 0%{?suse_version} <= 1110
%{__rm} %{buildroot}%{_datadir}/locale/ha/LC_MESSAGES/*
%{__rm} %{buildroot}%{_datadir}/locale/ig/LC_MESSAGES/*
%endif
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
# install startup script and xsession file
install -d -m755 %{buildroot}%{_bindir}
install -m755 %SOURCE1 %{buildroot}%{_bindir}/gnome
install -d -m755 %{buildroot}%{_datadir}/xsessions
install -m644 %SOURCE2 %{buildroot}%{_datadir}/xsessions/gnome.desktop
# Install a session file for gnome 2 look-and-feel (fallback mode)
install -m644 %{S:2} %{buildroot}%{_datadir}/xsessions/gnome2-look-and-feel.desktop
sed -i "s/^Exec=.*/Exec=gnome --session gnome-fallback/" %{buildroot}%{_datadir}/xsessions/gnome2-look-and-feel.desktop
%suse_update_desktop_file session-properties X-SuSE-ControlCenter-Personal
%suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/gnome.desktop
%suse_update_desktop_file -N "GNOME 2 Look and Feel" %{buildroot}%{_datadir}/xsessions/gnome2-look-and-feel.desktop
%find_lang %{name}-3.0 %{?no_lang_C}
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun

%post core
%glib2_gsettings_schema_post
%icon_theme_cache_post

%postun core
%glib2_gsettings_schema_postun
%icon_theme_cache_postun

%files
%defattr (-, root, root)
%{_bindir}/gnome
%{_datadir}/xsessions/gnome.desktop
# gnome-session-properties
%{_bindir}/gnome-session-properties
%{_datadir}/applications/session-properties.desktop
%{_datadir}/icons/hicolor/*/apps/session-properties.*
%{_datadir}/gnome-session/session-properties.ui
%doc %{_mandir}/man1/gnome-session-properties.1%{?ext_man}

%files default-session
%defattr (-, root, root)
%{_datadir}/gnome-session/sessions/gnome.session

%files fallback-session
%defattr (-, root, root)
%{_datadir}/gnome-session/sessions/gnome-fallback.session

%files -n gnome2-look-and-feel
%defattr(-, root, root)
%{_datadir}/xsessions/gnome2-look-and-feel.desktop

%files core
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README
%{_bindir}/gnome-session
%{_bindir}/gnome-session-quit
%{_datadir}/GConf/gsettings/gnome-session.convert
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%dir %{_datadir}/gnome-session
%dir %{_datadir}/gnome-session/sessions
%{_datadir}/gnome-session/gsm-inhibit-dialog.ui
%doc %{_mandir}/man1/gnome-session.1*
%doc %{_mandir}/man1/gnome-session-quit.1*
# Helper for the session definitions, to know if hardware is accelerated
%{_libexecdir}/gnome-session-check-accelerated
%{_libexecdir}/gnome-session-check-accelerated-helper
%{_datadir}/gnome-session/hardware-compatibility

%files lang -f %{name}-3.0.lang

%changelog