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
openSUSE Build Service is sponsored by