summaryrefslogtreecommitdiffstats
path: root/redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch')
-rw-r--r--redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch b/redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch
new file mode 100644
index 000000000..4277d6856
--- /dev/null
+++ b/redhat/tdeartwork/tdeartwork-3.5.13.2-fix_update_screensaver_list.patch
@@ -0,0 +1,57 @@
+--- trinity-tdeartwork/kscreensaver/kxsconfig/update_hacks.sh.ORI 2013-07-31 11:08:50.105439282 +0200
++++ trinity-tdeartwork/kscreensaver/kxsconfig/update_hacks.sh 2013-07-31 11:22:06.146113235 +0200
+@@ -1,18 +1,50 @@
+ #!/bin/sh
+-scsvs=`cd /usr/lib/xscreensaver/ && ls -1 | grep -v config`
++
++# Checks for Xscreensaver directory (may vary on different distributions)
++if [ -d /usr/libexec/xscreensaver ]; then
++ XSDIR=/usr/libexec/xscreensaver
++elif [ -d /usr/lib64/xscreensaver ]; then
++ XSDIR=/usr/lib64/xscreensaver
++else
++ XSDIR=/usr/lib/xscreensaver
++fi
++
++# Gets list of screensavers. Exclude 'config'.
++scsvs=""
++pushd "${XSDIR}" >/dev/null
++for i in *; do
++ if [ "${i}" != "config" ]; then
++ scsvs="${scsvs} ${i}"
++ fi
++done
++popd >/dev/null
++
+ echo $scsvs
++
++# Removes useless .desktop files, if any
++for f in ScreenSavers/*.desktop; do
++ # Gets the command line for this screensaver
++ Exec="$(sed -n '/^Exec=kxsconfig / s/.* \(.*\)/\1/' $f)"
++ if [ ! -x "${XSDIR}/${Exec}" ]; then
++ echo "Removing ${f}"
++ rm -f "${f}"
++ fi
++done
++
++# Creates missing screensavers .desktop files
+ for name in $scsvs; do
+- if test -f /usr/lib/xscreensaver/$name && test -f /usr/share/xscreensaver/config/$name.xml && test ! -f ScreenSavers/$name.desktop; then
++ if test -f "${XSDIR}/$name" && test -f "/usr/share/xscreensaver/config/$name.xml" && test ! -f "ScreenSavers/$name.desktop"; then
+ echo "name: $name"
+ label=`grep '<screensaver.*_label' /usr/share/xscreensaver/config/$name.xml | sed -e 's#^.*_label=\"\(.*\)\".*$#\1#'`
+ echo "label: $label"
+ f=ScreenSavers/$name.desktop
+ sed -e "s#@NAME@#$name#; s#@LABEL@#$label#" ScreenSavers/xscreensaver.template > $f
+- if ldd /usr/lib/xscreensaver/$name 2>&1 | grep libGL; then
++ if ldd "${XSDIR}/$name" 2>&1 | grep libGL; then
+ sed -e "s,@GL1@,X-KDE-Category=OpenGL Screen Savers,; s,@GL2@,X-KDE-Type=OpenGL," $f > $f.new
+ else
+ grep -v @GL $f > $f.new
+ fi
+ mv $f.new $f
+ fi
+-done
++done
++