File gnome-screensaver.spec of Package gnome-screensaver

#
# spec file for package gnome-screensaver (Version 2.24.0)
#
# 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:           gnome-screensaver
BuildRequires:  fdupes gnome-common gnome-desktop-devel gnome-menus-devel
BuildRequires:  intltool libfprint-devel libglade2-devel libgnomekbd-devel libgnomeui-devel
BuildRequires:  libnotify-devel libxslt pam-devel perl-XML-Parser
BuildRequires:  update-desktop-files xmlto xscreensaver
%if %suse_version > 1010
BuildRequires:  dbus-1-glib-devel
%else
BuildRequires:  dbus-1-devel dbus-1-glib
%endif
Version:        2.24.0
Release:        7.<RELEASE10>
Url:            http://www.gnome.org/
Group:          System/GUI/GNOME
License:        GPL v2 or later
Summary:        GNOME Screen Saver and Locker
Source:         ftp://ftp.gnome.org/pub/gnome/sources/%{name}/2.18/%{name}-%{version}.tar.bz2
Source1:        xscreensaver-blacklist
# PATCH-FEATURE-OPENSUSE gnome-screensaver-suse-pam.diff
Patch:          gnome-screensaver-suse-pam.diff
# PATCH-FEATURE-OPENSUSE gnome-screensaver-xvkbd-on-lock.patch rodrigo@novell.com -- Run xvkbd when locking the screen
Patch7:         gnome-screensaver-xvkbd-on-lock.patch
# PATCH-NEEDS-REBASE gnome-screensaver-2.19.1.1-securitytoken.patch
Patch8:         gnome-screensaver-2.19.1.1-securitytoken.patch
# PATCH-FEATURE-OPENSUSE gnome-screensaver-finger-print.patch fate#301953
Patch10:        gnome-screensaver-finger-print.patch
# PATCH-FIX-UPSTREAM gnome-screensaver-dont-leak-root-windows.patch bnc#432980 bgo#555701 rodrigo@novell.com
Patch11:        gnome-screensaver-dont-leak-root-windows.patch
# PATCH-FIX-UPSTREAM gnome-screensaver-lock-external-display.patch bnc#550695 bgo#593616 vuntz@opensuse.org -- Fix locking of external display plugged during suspend
Patch12:        gnome-screensaver-lock-external-display.patch
# PATCH-FIX-UPSTREAM gnome-screensaver-bnc579250.patch bnc#579250 vuntz@opensuse.org -- Fix crash when pressing return key too often
Patch13:        gnome-screensaver-bnc579250.patch
AutoReqProv:    on
Requires:       /sbin/unix2_chkpwd xscreensaver
Requires:       %{name}-lang = %{version}
Provides:       %{name}-devel = %{version}-%{release}
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%gconf_schemas_prereq

%description
gnome-screensaver is a screen saver and locker that aims to
   havesimple, sane, and secure defaults and to be well integrated
   in the desktop. It is designed to support: * The ability to lock
   down configuration settings

* Translation into other languages

* User switching



Authors:
--------
    William Jon McCann <mccann@jhu.edu>

%lang_package
%prep
%setup -q
%patch
%patch7 -p1
# %patch8 -p1
%patch10
%patch11 -p1
%patch12 -p1
%patch13 -p1

%build
# gnome-common intltool are needed only here
autoreconf -f -i
# needed for gnome-screensaver-2.16.1:
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
# FIXME: Maybe libexecdir the same as xscreensaver.
%configure\
	--libexecdir=%{_prefix}/lib/%{name}\
	--with-pam-prefix=/etc\
	--enable-authentication-scheme=helper\
	--with-passwd-helper="/sbin/unix2_chkpwd"\
	--with-xscreensaverdir=/etc/xscreensaver\
	--disable-docbook-docs
%__make %{?jobs:-j%jobs}

%install
%makeinstall
%suse_update_desktop_file gnome-screensaver-preferences GNOME Screensaver X-SuSE-ControlCenter-LookAndFeel
%suse_update_desktop_file popsquares
%suse_update_desktop_file personal-slideshow
%suse_update_desktop_file footlogo-floaters
%suse_update_desktop_file cosmos-slideshow
# migrate all xscreensaver savers, except blacklisted ones because they are ugly
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications/screensavers
for file in `ls -1 /etc/xscreensaver/*.xml | grep -v -f %{S:1} | xargs` ; do
    file_root=`basename "$file" .xml`
    sh data/migrate-xscreensaver-config.sh $file
    mv $file_root.desktop $RPM_BUILD_ROOT%{_datadir}/applications/screensavers
    #%suse_update_desktop_file $file_root
done
%find_lang %{name}
%find_gconf_schemas
cat %{name}.schemas_list >%{name}.lst
sed -e 's/common-auth/common-auth-smartcard/g' < $RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver > $RPM_BUILD_ROOT/etc/pam.d/gnome-screensaver-smartcard
%fdupes $RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%pre -f %{name}.schemas_pre

%posttrans -f %{name}.schemas_posttrans

%preun -f %{name}.schemas_preun

%files -f %{name}.lst
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog HACKING NEWS README TODO
%config /etc/pam.d/gnome-screensaver
%config /etc/pam.d/gnome-screensaver-smartcard
%{_sysconfdir}/xdg/menus/gnome-screensavers.menu
%{_bindir}/*
%{_datadir}/applications/*.desktop
%{_datadir}/applications/screensavers/*.desktop
%{_datadir}/desktop-directories/gnome-screensaver.directory
%{_datadir}/pixmaps/backgrounds/*
%{_datadir}/gnome-screensaver
%{_datadir}/pixmaps/gnome-logo-white.svg
%{_mandir}/man1/gnome-screensaver*.1.gz
%{_libdir}/pkgconfig/gnome-screensaver.pc
%{_prefix}/lib/%{name}
# FIXME: Directory ownership:
%dir %{_datadir}/applications/screensavers
# FIXME: Maybe bad directory ownership:
%dir %{_datadir}/pixmaps/backgrounds
# FIXME: Directory ownership:
#%dir %{_sysconfdir}/xdg/menus

%files lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by