File gnome-screensaver.spec of Package gnome-screensaver.import4334
#
# spec file for package gnome-screensaver
#
# Copyright (c) 2011 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
Version: 2.30.2
Release: 13.<RELEASE14>
Url: http://www.gnome.org/
Group: System/GUI/GNOME
License: GPLv2+
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-UPSTREAM gnome-screensaver-finger-print.patch fate#301953 bgo#563703
Patch10: gnome-screensaver-finger-print.patch
# PATCH-FIX-UPSTREAM gnome-screensaver-multihead-unlock.patch bnc#444157 bgo#455118 rodrigo@novell.com
Patch12: gnome-screensaver-multihead-unlock.patch
# PATCH-FIX-OPENSUSE gnome-screensaver-sigterm-handle.patch bnc#676097 glin@novell.com
Patch13: gnome-screensaver-sigterm-handle.patch
BuildRequires: Mesa-devel
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: intltool
BuildRequires: pam-devel
BuildRequires: translation-update-upstream
BuildRequires: update-desktop-files
%if 0%{?suse_version} <= 1120
BuildRequires: xscreensaver
%else
BuildRequires: xscreensaver-data
BuildRequires: xscreensaver-data-extra
%endif
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: pkgconfig(gnome-desktop-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
# Needed by gnome-screensaver-finger-print.patch
BuildRequires: pkgconfig(libfprint)
BuildRequires: pkgconfig(libgnomekbdui)
BuildRequires: pkgconfig(libgnome-menu)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(x11)
Requires: /sbin/unix2_chkpwd
Requires: xscreensaver-data
Recommends: %{name}-lang
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 have
simple, sane, secure defaults and be well integrated in the desktop.
It is designed to support:
* the ability to lock down configuration settings
* translation into other languages
* user switching
%package extra
Group: System/GUI/GNOME
License: GPLv2+
Summary: GNOME Screen Saver and Locker -- Additional screensavers
Requires: xscreensaver-data-extra
Supplements: packageand(%{name}:xscreensaver-data-extra)
BuildArch: noarch
%description extra
gnome-screensaver is a screen saver and locker that aims to have
simple, sane, secure defaults and be well integrated in the desktop.
It is designed to support:
* the ability to lock down configuration settings
* translation into other languages
* user switching
%lang_package
%prep
%setup -q
translation-update-upstream
%patch
%patch7 -p1
# %patch8 -p1
%patch10
%patch12
%patch13 -p1
%build
# gnome-common intltool are needed only here
autoreconf -f -i
# FIXME: Maybe libexecdir the same as xscreensaver.
%configure\
--libexecdir=%{_libexecdir}/%{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
%if 0%{?suse_version} <= 1120
%{__rm} %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
%find_lang %{name} %{?no_lang_C}
%find_gconf_schemas
%suse_update_desktop_file gnome-screensaver
%suse_update_desktop_file gnome-screensaver-preferences GNOME 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
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
# migrate all xscreensaver savers, except blacklisted ones because they are ugly
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications/screensavers
for file in `ls -1 %{_sysconfdir}/xscreensaver/*.xml | grep -v -f %{S:1} | xargs` ; do
file_root=`basename "$file" .xml`
sh data/migrate-xscreensaver-config.sh $file
# remove the Comment key: it's way too long for translators,
# and it doesn't appear in the UI
sed "s/\(^Comment=.*\)/#\1/g" $file_root.desktop > $RPM_BUILD_ROOT%{_datadir}/applications/screensavers/$file_root.desktop
%suse_update_desktop_file $file_root
done
rm -f screensavers.lst screensavers-extra.lst
for file in popsquares personal-slideshow footlogo-floaters cosmos-slideshow; do
echo %{_datadir}/applications/screensavers/$file.desktop >> screensavers.lst
done
%if 0%{?suse_version} <= 1120
for file in `rpm -ql xscreensaver | grep %{_sysconfdir}/xscreensaver/.*xml`; do
file_root=`basename "$file" .xml`
echo %{_datadir}/applications/screensavers/$file_root.desktop >> screensavers.lst
done
%else
for file in `rpm -ql xscreensaver-data | grep %{_sysconfdir}/xscreensaver/.*xml`; do
file_root=`basename "$file" .xml`
echo %{_datadir}/applications/screensavers/$file_root.desktop >> screensavers.lst
done
for file in `rpm -ql xscreensaver-data-extra | grep %{_sysconfdir}/xscreensaver/.*xml`; do
file_root=`basename "$file" .xml`
echo %{_datadir}/applications/screensavers/$file_root.desktop >> screensavers-extra.lst
done
%endif
%fdupes $RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%pre -f %{name}.schemas_pre
%post
%desktop_database_post
%posttrans -f %{name}.schemas_posttrans
%preun -f %{name}.schemas_preun
%postun
%desktop_database_postun
%files -f %{name}.schemas_list -f screensavers.lst
%defattr (-, root, root)
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%config /etc/pam.d/gnome-screensaver
%config /etc/pam.d/gnome-screensaver-smartcard
%{_sysconfdir}/xdg/autostart/*.desktop
%{_sysconfdir}/xdg/menus/gnome-screensavers.menu
%{_bindir}/*
%{_datadir}/applications/*.desktop
%{_datadir}/desktop-directories/gnome-screensaver.directory
%{_datadir}/backgrounds/*
%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
%{_datadir}/gnome-background-properties/cosmos.xml
%{_datadir}/gnome-screensaver
%{_datadir}/pixmaps/gnome-logo-white.svg
%{_mandir}/man1/gnome-screensaver*.1.gz
%{_libdir}/pkgconfig/gnome-screensaver.pc
%{_libexecdir}/%{name}
# FIXME: Directory ownership:
%dir %{_datadir}/applications/screensavers
# FIXME: Maybe bad directory ownership:
%dir %{_datadir}/backgrounds
%dir %{_datadir}/gnome-background-properties
%if 0%{?suse_version} > 1120
%files extra -f screensavers-extra.lst
%defattr (-, root, root)
%endif
%files lang -f %{name}.lang
%changelog