Hello community,

here is the log from the commit of package xscreensaver for openSUSE:Factory 
checked in at 2015-10-19 22:47:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xscreensaver (Old)
 and      /work/SRC/openSUSE:Factory/.xscreensaver.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xscreensaver"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xscreensaver/xscreensaver.changes        
2015-09-17 09:17:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xscreensaver.new/xscreensaver.changes   
2015-10-19 22:47:36.000000000 +0200
@@ -1,0 +2,9 @@
+Mon Oct 12 22:32:16 UTC 2015 - sor.ale...@meowr.ru
+
+- Generate screensavers .desktop files for mate-screensaver with
+  xscreensaver-desktops-generate.sh.
+- Add MATE into a NotShowIn list.
+- Make xscreensaver-data-extra recommend xscreensaver-data.
+- Spec cleanup.
+
+-------------------------------------------------------------------

New:
----
  xscreensaver-desktops-generate.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xscreensaver.spec ++++++
--- /var/tmp/diff_new_pack.82eHOe/_old  2015-10-19 22:47:37.000000000 +0200
+++ /var/tmp/diff_new_pack.82eHOe/_new  2015-10-19 22:47:37.000000000 +0200
@@ -22,12 +22,14 @@
 Summary:        A screen saver and locker for the X Window System
 License:        BSD-3-Clause and GPL-2.0+
 Group:          Amusements/Toys/Screensavers
-Url:            http://www.jwz.org/xscreensaver/
-Source:         http://www.jwz.org/xscreensaver/%{name}-%{version}.tar.gz
+Url:            https://jwz.org/xscreensaver
+Source:         https://jwz.org/xscreensaver/%{name}-%{version}.tar.gz
 Source1:        xscreensaver.pamd
 Source2:        xscreensaver-data.list
 Source3:        xscreensaver-data-extra.list
-# do not show some rpmlint warnings
+#
+Source4:        xscreensaver-desktops-generate.sh
+# Do not show some rpmlint warnings.
 Source99:       xscreensaver-rpmlintrc
 #
 Patch5:         xscreensaver-background.patch
@@ -36,17 +38,15 @@
 Patch24:        xscreensaver-slideshow-dri-detect.patch
 Patch29:        xscreensaver-ignore-no-pwent-password.patch
 Patch32:        xscreensaver-fireworkx-man.patch
-# PATCH-FIX-OPENSUSE xscreensaver-webcollage-dictpath.patch 
seife+...@b1-systems.com -- add /var/lib/dict/words to search path for word 
dictionaries
+# PATCH-FIX-OPENSUSE xscreensaver-webcollage-dictpath.patch 
seife+...@b1-systems.com -- Add /var/lib/dict/words to search path for word 
dictionaries.
 Patch42:        xscreensaver-webcollage-dictpath.patch
-# PATCH-FEATURE-OPENSUSE xscreensaver-disable-upgrade-nagging.patch bnc#890595 
g...@opensuse.org -- Disable nagging messages about upgrading to a newer version
+# PATCH-FEATURE-OPENSUSE xscreensaver-disable-upgrade-nagging.patch boo#890595 
g...@opensuse.org -- Disable nagging messages about upgrading to a newer 
version.
 Patch43:        xscreensaver-disable-upgrade-nagging-message.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  Mesa-devel
 BuildRequires:  automake
 BuildRequires:  bc
 BuildRequires:  gdmflexiserver
 BuildRequires:  intltool
-BuildRequires:  libglade2-devel
 BuildRequires:  libgle-devel
 BuildRequires:  libgnome-devel
 BuildRequires:  libjpeg-devel
@@ -55,39 +55,40 @@
 BuildRequires:  update-desktop-files
 BuildRequires:  xorg-x11-devel
 BuildRequires:  pkgconfig(glu)
+BuildRequires:  pkgconfig(libglade-2.0)
 #
 Requires:       %{name}-data
 Requires:       desktop-data
 Requires:       pam-modules
 #
+Suggests:       %{name}-data-extra
+#
 Provides:       xscreensaver-gnome = %{version}
 Provides:       xscrns = %{version}
 Obsoletes:      xscreensaver-gnome < %{version}
 Obsoletes:      xscrns < %{version}
-#
-Suggests:       %{name}-data-extra
 
 %description
-The xscreensaver program waits until the keyboard and mouse have been
-idle for a period of time, and then runs a graphics demo chosen at
-random. It turns off as soon as there is any mouse or keyboard
-activity. It can also lock the screen immediately, after a longer idle
-period, or on demand.
-
-The xscreensaver package consists of two parts: the screensaver and the
-"driver" or "daemon", which detects idleness and does locking, and the
-many graphics demos that are launched by xscreensaver.
+The xscreensaver program waits until the keyboard and mouse have
+been idle for a period of time, and then runs a graphics demo
+chosen at random. It turns off as soon as there is any mouse or
+keyboard activity. It can also lock the screen immediately, after a
+longer idle period, or on demand.
+
+The xscreensaver package consists of two parts: the screensaver and
+the "driver" or "daemon", which detects idleness and does locking,
+and the many graphics demos that are launched by xscreensaver.
 
 Any X program that can draw on the root window can be used with
-xscreensaver, regardless of how that program is written, what language
-it is written in, or what libraries it uses. The xscreensaver daemon
-takes care of detecting when the user is idle, locking, and checking
-passwords and all the other book-keeping. All the other programs need
-to do is draw.
-
-The benefit that xscreensaver has over the combination of the xlock and
-xautolock programs is the ease with which new graphic hacks can be
-installed. You do not need to recompile (or even re-run) the
+xscreensaver, regardless of how that program is written, what
+language it is written in, or what libraries it uses. The
+xscreensaver daemon takes care of detecting when the user is idle,
+locking, and checking passwords and all the other book-keeping. All
+the other programs need to do is draw.
+
+The benefit that xscreensaver has over the combination of the xlock
+and xautolock programs is the ease with which new graphic hacks can
+be installed. You do not need to recompile (or even re-run) the
 xscreensaver program to add a new display mode, you just change a
 config file.
 
@@ -96,24 +97,25 @@
 Group:          Amusements/Toys/Screensavers
 
 %description data
-The xscreensaver program waits until the keyboard and mouse have been
-idle for a period of time, and then runs a graphics demo chosen at
-random. It turns off as soon as there is any mouse or keyboard
-activity. It can also lock the screen immediately, after a longer idle
-period, or on demand.
+The xscreensaver program waits until the keyboard and mouse have
+been idle for a period of time, and then runs a graphics demo
+chosen at random. It turns off as soon as there is any mouse or
+keyboard activity. It can also lock the screen immediately, after a
+longer idle period, or on demand.
 
 This packages contains a selection of graphics demos.
 
 %package data-extra
 Summary:        Selection of screensavers from xscreensaver
 Group:          Amusements/Toys/Screensavers
+Recommends:     %{name}-data
 
 %description data-extra
-The xscreensaver program waits until the keyboard and mouse have been
-idle for a period of time, and then runs a graphics demo chosen at
-random. It turns off as soon as there is any mouse or keyboard
-activity. It can also lock the screen immediately, after a longer idle
-period, or on demand.
+The xscreensaver program waits until the keyboard and mouse have
+been idle for a period of time, and then runs a graphics demo
+chosen at random. It turns off as soon as there is any mouse or
+keyboard activity. It can also lock the screen immediately, after a
+longer idle period, or on demand.
 
 This packages contains additional graphics demos.
 
@@ -128,85 +130,91 @@
 %patch32
 %patch42
 %patch43
-# KDE and GNOME have its own screensavers:
-echo 'NotShowIn=KDE;GNOME;' >>driver/screensaver-properties.desktop.in
+# KDE, GNOME and MATE have there own screensavers:
+echo 'NotShowIn=KDE;GNOME;MATE;' >> driver/screensaver-properties.desktop.in
+cp -f %{SOURCE4} xscreensaver-desktops-generate
+chmod a+x xscreensaver-desktops-generate
 
 %build
 # Fix man pages header:
 find hacks -name '*.man' -print0 | xargs -0 sed -ie 's/TH XScreenSaver 1/TH 
XScreenSaver 6/' 
-# modify hack list to fit our needs:
+# Modify hack list to fit our needs:
 sed -re '
     
s/^([[:space:]]*(rorschach|greynetic|noseguy|deco|moire|spiral|laser|sierpinski|flag|sphere|mountain|triangle|worm|xlyap|cynosure|bsod|t3d|wander"Wander|critical|phosphor|blaster|nerverot|"SpeedMine"|poluominoes|fluidballs|barcode|bubbles))/-\1/;
     s/^-([[:space:]]*(juggle))/\1/;
     s/^@GL_KLUDGE@([[:space:]]*GL:[[:space:]]*(sproingies|"Molecule 
\(lumpy\)"|circuit|atunnel|glmatrix|stairs|pulsar|starwars|"GLText|boxed|"GLForestFire"|sballs|cubenetic|queens|endgame))/-\1/;
     s/^-([[:space:]]*GL:[[:space:]]*(fireflies))/\1/;
     /.*vidwhacker -stdin -stdout/D;
-    ' driver/XScreenSaver.ad.in > driver/XScreenSaver.ad.in.tmp && mv 
driver/XScreenSaver.ad.in.tmp driver/XScreenSaver.ad.in
+  ' driver/XScreenSaver.ad.in > driver/XScreenSaver.ad.in.tmp && mv -f 
driver/XScreenSaver.ad.in.tmp driver/XScreenSaver.ad.in
 intltoolize --copy --force
-sed -i "s:@install_sh@:../install-sh -c:" po/Makefile.in.in
+sed -i "s|@install_sh@|../install-sh -c|" po/Makefile.in.in
 chmod +x install-sh
-autoreconf -f -i
+autoreconf -fi
 # Disable direct PAM use and shadow (both needs suid).
-%configure\
-       --with-hackdir=%{_libdir}/xscreensaver\
-       --with-x-app-defaults=%{_datadir}/X11/app-defaults\
-       --with-configdir=%{_sysconfdir}/xscreensaver\
-       --without-kerberos\
-       --with-passwd-helper=/sbin/unix2_chkpwd\
-       --with-gl\
-       --with-gle\
-       --with-pixbuf\
-       --with-xpm\
-       --with-jpeg\
-       --with-xshm-ext\
-       --with-xdbe-ext\
-       --without-pam\
-       --without-shadow\
-       --with-login-manager=%{_bindir}/gdmflexiserver\
-       --with-image-directory=%{_datadir}/wallpapers\
-       --enable-locking\
+%configure \
+  --with-hackdir=%{_libdir}/xscreensaver             \
+  --with-x-app-defaults=%{_datadir}/X11/app-defaults \
+  --with-configdir=%{_sysconfdir}/xscreensaver       \
+  --without-kerberos                                 \
+  --with-passwd-helper=/sbin/unix2_chkpwd            \
+  --with-gl                                          \
+  --with-gle                                         \
+  --with-pixbuf                                      \
+  --with-xpm                                         \
+  --with-jpeg                                        \
+  --with-xshm-ext                                    \
+  --with-xdbe-ext                                    \
+  --without-pam                                      \
+  --without-shadow                                   \
+  --with-login-manager=%{_bindir}/gdmflexiserver     \
+  --with-image-directory=%{_datadir}/wallpapers      \
+  --enable-locking                                   \
        --with-login-manager
-make %{?jobs:-j%jobs} all
+make %{?_smp_mflags} all
 
 %install
-rm hacks/config/vidwhacker.xml
-mkdir -p $RPM_BUILD_ROOT/tmp/bin
-make install_prefix=$RPM_BUILD_ROOT \
+rm -f hacks/config/vidwhacker.xml
+mkdir -p %{buildroot}/tmp/bin/
+make install_prefix=%{buildroot} \
      KDEDIR=/tmp \
-     DESTDIR=$RPM_BUILD_ROOT \
+  DESTDIR=%{buildroot}           \
      datadir=%{_datadir} \
      install
-rm -r $RPM_BUILD_ROOT/tmp
+rm -r %{buildroot}/tmp/
 #
-# remove obsolete suid bit
-chmod 755 $RPM_BUILD_ROOT%{_bindir}/xscreensaver
+# Remove obsolete SUID bit.
+chmod 0755 %{buildroot}%{_bindir}/xscreensaver
 #
-# pam config
-install -d -m 755 $RPM_BUILD_ROOT/etc/pam.d
-install -m 644 %{S:1} $RPM_BUILD_ROOT/etc/pam.d/xscreensaver
+# PAM config.
+install -Dm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/xscreensaver
 #
-# language files
+# Language files.
 %find_lang %{name}
 #
-# desktop files
+# Desktop files.
 %suse_update_desktop_file -G "Screensaver properties" xscreensaver-properties 
DesktopSettings
 #
-# list files for screensavers in data and data-extra subpackages
+# Generate .desktop files for mate-screensaver usage.
+mkdir -p %{buildroot}%{_datadir}/applications/screensavers/
+./xscreensaver-desktops-generate %{buildroot}%{_sysconfdir}/xscreensaver/ 
%{buildroot}%{_datadir}/applications/screensavers/
+# Remove duplicate of a file from mate-screensaver.
+rm -f %{buildroot}%{_datadir}/applications/screensavers/popsquares.desktop
+#
+# List files for screensavers in data and data-extra subpackages.
 rm -f %{name}-data.lst %{name}-data-extra.lst
-for hack in `grep -v '#' %{SOURCE2}`; do
-        test -f %{buildroot}%{_mandir}/man6/$hack.6* && echo "%doc 
%{_mandir}/man6/$hack.6*" >> %{name}-data.lst
-        test -f %{buildroot}%{_sysconfdir}/xscreensaver/$hack.xml && echo 
"%config %{_sysconfdir}/xscreensaver/$hack.xml" >> %{name}-data.lst
+for hack in $(grep -v '#' %{SOURCE2}); do
+    [ -f %{buildroot}%{_mandir}/man6/$hack.6* ] && echo "%doc 
%{_mandir}/man6/$hack.6*" >> %{name}-data.lst
+    [ -f %{buildroot}%{_sysconfdir}/xscreensaver/$hack.xml ] && echo "%config 
%{_sysconfdir}/xscreensaver/$hack.xml" >> %{name}-data.lst
+    [ -f %{buildroot}%{_datadir}/applications/screensavers/$hack.desktop ] && 
echo "%{_datadir}/applications/screensavers/$hack.desktop" >> %{name}-data.lst
         echo "%{_libdir}/xscreensaver/$hack" >> %{name}-data.lst
 done
-for hack in `grep -v '#' %{SOURCE3}`; do
-        test -f %{buildroot}%{_mandir}/man6/$hack.6* && echo "%doc 
%{_mandir}/man6/$hack.6*" >> %{name}-data-extra.lst
-        test -f %{buildroot}%{_sysconfdir}/xscreensaver/$hack.xml && echo 
"%config %{_sysconfdir}/xscreensaver/$hack.xml" >> %{name}-data-extra.lst
+for hack in $(grep -v '#' %{SOURCE3}); do
+    [ -f %{buildroot}%{_mandir}/man6/$hack.6* ] && echo "%doc 
%{_mandir}/man6/$hack.6*" >> %{name}-data-extra.lst
+    [ -f %{buildroot}%{_sysconfdir}/xscreensaver/$hack.xml ] && echo "%config 
%{_sysconfdir}/xscreensaver/$hack.xml" >> %{name}-data-extra.lst
+    [ -f %{buildroot}%{_datadir}/applications/screensavers/$hack.desktop ] && 
echo "%{_datadir}/applications/screensavers/$hack.desktop" >> 
%{name}-data-extra.lst
         echo "%{_libdir}/xscreensaver/$hack" >> %{name}-data-extra.lst
 done
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %files -f %{name}.lang
 %defattr(-,root,root)
 %doc README
@@ -218,33 +226,35 @@
 %{_datadir}/pixmaps/xscreensaver.xpm
 %dir %{_datadir}/xscreensaver/
 %{_datadir}/xscreensaver/glade/
-%doc %{_mandir}/man1/xscreensaver.*
-%doc %{_mandir}/man1/xscreensaver-command.*
-%doc %{_mandir}/man1/xscreensaver-demo.*
-%doc %{_mandir}/man6/xscreensaver-gl-helper.*
-%dir %{_datadir}/X11/app-defaults
+%{_mandir}/man1/xscreensaver.*
+%{_mandir}/man1/xscreensaver-command.*
+%{_mandir}/man1/xscreensaver-demo.*
+%{_mandir}/man6/xscreensaver-gl-helper.*
+%dir %{_datadir}/X11/app-defaults/
 %{_datadir}/X11/app-defaults/XScreenSaver
 %config %{_sysconfdir}/pam.d/xscreensaver
-%dir %{_sysconfdir}/xscreensaver
+%dir %{_sysconfdir}/xscreensaver/
 %{_sysconfdir}/xscreensaver/README
 
 %files data -f %{name}-data.lst
 %defattr(-,root,root)
-%dir %{_libdir}/xscreensaver
-%dir %{_sysconfdir}/xscreensaver
+%dir %{_libdir}/xscreensaver/
+%dir %{_sysconfdir}/xscreensaver/
+%dir %{_datadir}/applications/screensavers/
 
 %files data-extra -f %{name}-data-extra.lst
 %defattr(-,root,root)
-%dir %{_libdir}/xscreensaver
-%dir %{_sysconfdir}/xscreensaver
-# screensavers using those utilities are in this package
+%dir %{_libdir}/xscreensaver/
+%dir %{_sysconfdir}/xscreensaver/
+%dir %{_datadir}/applications/screensavers/
+# Screensavers using those utilities are in this package.
 %{_bindir}/xscreensaver-getimage
 %{_bindir}/xscreensaver-getimage-file
 %{_bindir}/xscreensaver-getimage-video
 %{_bindir}/xscreensaver-text
-%doc %{_mandir}/man1/xscreensaver-getimage.*
-%doc %{_mandir}/man1/xscreensaver-getimage-file.*
-%doc %{_mandir}/man1/xscreensaver-getimage-video.*
-%doc %{_mandir}/man1/xscreensaver-text.*
+%{_mandir}/man1/xscreensaver-getimage.*
+%{_mandir}/man1/xscreensaver-getimage-file.*
+%{_mandir}/man1/xscreensaver-getimage-video.*
+%{_mandir}/man1/xscreensaver-text.*
 
 %changelog

++++++ xscreensaver-desktops-generate.sh ++++++
#!/bin/bash
# Provided an xml files as arguments, generates a desktop file.
# 2008-2012 Tormod Volden
# 2015 Sorokin Alexei

# Poor man's xml parser "can i haz xml purrser".
get_xml_option () {
    file="$1"
    tag="$2"
    option="$3"

    < "$file" sed -n '/\<'$tag' /s@.* '$option'="\([^"]*\)".*@\1@p'
}

get_xml_entity () {
    file="$1"
    tag="$2"

    < "$file" sed -e ':a; /<'$tag'/N;s/\n/ /; ta' |
      sed -ne 's/.*<'$tag'> *\(.*\)<\/'$tag'>.*/\1/p'
}

extract_entries () {
    export XML="$1"

    export XMLNAME="$(get_xml_option "$XML" 'screensaver' 'name')"
    export XMLARG="$(get_xml_option "$XML" 'command' 'arg' | sed -e ':a; N; 
s/\n/ /; ta')"
    export XMLEXE="$XMLNAME $XMLARG"

    export XMLLABEL="$(get_xml_option "$XML" 'screensaver' '_label')"
    export XMLGL="$(get_xml_option "$XML" 'screensaver' 'gl')"

    # Delete trailing spaces and years.
    export XMLDES="$(get_xml_entity "$XML" '_description' |
      sed -e 's/   */ /g; s/[;,.] [0-9;,. ]*$/./')"

    # Only get first part of first paragraph.
    export SHORTDES="$(echo "$XMLDES" | sed -e 's/[.:!(].*/./')"
}

OPTIND=1
while getopts "hv" opt; do
    case "$opt" in
      h)
        echo -e "Usage:\n  $(basename $0) [-hvV] XML-DIR DESKTOPS-DIR"
        exit 0
      ;;
      v)
        echo "$(basename $0) 0.1"
      ;;
    esac
done
shift $((OPTIND-1))

if [[ "$1" == "--" ]]; then
    shift 1
fi
if [[ -z "$1" ]]; then
    echo "$(basename $0): xscreensaver hack XML files directory is not 
specified." >&2
    exit 1
fi

if [ -z "$1" ] || [ ! -d "$1" ] || [ ! -r "$1" ]; then
    echo "$(basename $0): \`$1' is not a readable directory." >&2
    exit 1
elif [ -z "$2" ] || [ ! -d "$2" ]; then
    echo "$(basename $0): \`$2' is not a directory." >&2
    exit 1
fi

ls "$1" | grep '\.xml$' | while read file; do
    extract_entries "$1/$file"
    cat > "$2/$(basename "$1/$file" .xml).desktop" <<- EOF
        [Desktop Entry]
        Name=$XMLLABEL
        Comment=$XMLDES
        Exec=$XMLEXE
        TryExec=$XMLNAME
        StartupNotify=false
        Terminal=false
        Type=Application
        Categories=Screensaver;
        OnlyShowIn=MATE;
        EOF
done
++++++ xscreensaver-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.82eHOe/_old  2015-10-19 22:47:37.000000000 +0200
+++ /var/tmp/diff_new_pack.82eHOe/_new  2015-10-19 22:47:37.000000000 +0200
@@ -1 +1,2 @@
+addFilter('desktopfile-without-binary')
 addFilter('binary-or-shlib-calls-gethostbyname')


Reply via email to