Hello community,

here is the log from the commit of package conky for openSUSE:Factory checked 
in at 2016-02-11 12:37:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/conky (Old)
 and      /work/SRC/openSUSE:Factory/.conky.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "conky"

Changes:
--------
--- /work/SRC/openSUSE:Factory/conky/conky.changes      2015-10-06 
13:26:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.conky.new/conky.changes 2016-02-11 
12:37:18.000000000 +0100
@@ -1,0 +2,41 @@
+Thu Jan  7 06:21:15 UTC 2016 - [email protected]
+
+- update version 1.10.1
+  * bugfix release
+  * If BUILD_IPV6=ON (default), but the user has disabled ipv6
+    support in the kernel using the parameter ipv6.disable=1,
+    then conky fails to open /proc/net/if_inet6. This leads to
+    a segfault when conky calls fclose(file) regardless. This
+    fix simply moves the fclose call into the preceding if
+    statement. (boo#958897)
+- drop patch: conky-1.10.0-libdir.patch
+- add patch: conky-libdir.patch
+- add patch: conky-1.10.1-avoid-git.patch
+- add patch: conky-1.10.1-check_include_file.patch
+  * fix check_include_file not found
+- enable builds for sles 12
+
+-------------------------------------------------------------------
+Thu Jan  7 00:54:33 UTC 2016 - [email protected]
+
+- for suse_version after 1320
+  add BuildRequires:   libtolua++-5_1-devel
+
+-------------------------------------------------------------------
+Fri Dec 18 07:44:47 UTC 2015 - [email protected]
+
+- Add conky-1.10.0-fix-upstream-issue-187-IPV6-crash.patch fixing
+  upstream issue #187 and (boo#958897) patch taken from upstream
+  
https://github.com/brndnmtthws/conky/commit/ee08a9e1b045e8d2f4f13a0e60c2f603b66b0d69?diff=unified
+
+-------------------------------------------------------------------
+Sat Nov 21 13:23:07 UTC 2015 - [email protected]
+
+- Its always /usr/bin/lua5.1
+
+-------------------------------------------------------------------
+Thu Oct 29 08:22:28 UTC 2015 - [email protected]
+
+- Also use /usr/bin/lua5.1 on Leap 42.1 (boo#952599).
+
+-------------------------------------------------------------------

Old:
----
  conky-1.10.0-libdir.patch
  conky-1.10.0.tar.gz

New:
----
  conky-1.10.1-avoid-git.patch
  conky-1.10.1-check_include_file.patch
  conky-1.10.1.tar.gz
  conky-libdir.patch

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

Other differences:
------------------
++++++ conky.spec ++++++
--- /var/tmp/diff_new_pack.fRS5EL/_old  2016-02-11 12:37:18.000000000 +0100
+++ /var/tmp/diff_new_pack.fRS5EL/_new  2016-02-11 12:37:18.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package conky
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           conky
-Version:        1.10.0
+Version:        1.10.1
 Release:        0
 Summary:        Lightweight System Monitor
 License:        GPL-3.0+ and LGPL-3.0+ and MIT
@@ -26,7 +26,10 @@
 Source:         
https://github.com/brndnmtthws/conky/archive/v%{version}/conky-%{version}.tar.gz
 Patch:          conky-1.10.0-libircclient.patch
 # PATCH-FIX-UPSTREAM [email protected] - respect LIB_INSTALL_DIR
-Patch1:         conky-1.10.0-libdir.patch
+Patch1:         conky-libdir.patch
+Patch2:         conky-1.10.1-avoid-git.patch
+# PATCH-FIX-UPSTREAM check_include_file not found.
+Patch3:         conky-1.10.1-check_include_file.patch
 BuildRequires:  alsa-devel
 BuildRequires:  cairo-devel
 BuildRequires:  cmake
@@ -36,10 +39,8 @@
 BuildRequires:  freetype2-devel
 BuildRequires:  gcc-c++
 BuildRequires:  glib2-devel
-BuildRequires:  imlib2-devel
 BuildRequires:  libcurl-devel
 BuildRequires:  libical-devel
-BuildRequires:  libircclient-devel
 BuildRequires:  libiw-devel
 BuildRequires:  libmicrohttpd-devel
 BuildRequires:  libmysqld-devel
@@ -50,7 +51,11 @@
 BuildRequires:  lua51-devel
 BuildRequires:  ncurses-devel
 BuildRequires:  pkg-config
+%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 && 0%{?is_opensuse} 
!= 1
+BuildRequires:  libtolua++-5_1-devel
+%else
 BuildRequires:  tolua++
+%endif
 BuildRequires:  update-desktop-files
 BuildRequires:  vim
 BuildRequires:  xorg-x11-devel
@@ -68,12 +73,16 @@
 Provides:       conky-feature-audacious = %{version}
 Obsoletes:      conky-feature-audacious < %{version}
 %endif
-# This is required for imlib2 function properly.
-Requires:       imlib2-loaders
 Provides:       conky-cairo = %{version}
 Obsoletes:      conky-cairo < %{version}
+%if 0%{?suse_version} != 1315 || 0%{?is_opensuse} == 1
+BuildRequires:  imlib2-devel
+BuildRequires:  libircclient-devel
+# This is required for imlib2 function properly.
+Requires:       imlib2-loaders
 Provides:       conky-imlib2 = %{version}
 Obsoletes:      conky-imlib2 < %{version}
+%endif
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -122,6 +131,8 @@
 %setup -q
 %patch -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 mkdir build && cd build
@@ -139,7 +150,13 @@
        -DBUILD_IBM=ON \
        -DBUILD_ICAL=ON \
        -DBUILD_ICONV=ON \
+%if 0%{?suse_version} == 1315 && 0%{?is_opensuse} != 1
+       -DBUILD_IMLIB2=OFF \
+    -DBUILD_LUA_IMLIB2=OFF \
+%else
        -DBUILD_IMLIB2=ON \
+    -DBUILD_LUA_IMLIB2=ON \
+%endif
        -DBUILD_IOSTATS=ON \
        -DBUILD_IPV6=ON \
 %if 0%{?suse_version} > 1320
@@ -148,6 +165,7 @@
     -DBUILD_IRC=OFF \
 %endif
        -DBUILD_MATH=ON \
+       -DBUILD_MIXER_ALSA=ON \
        -DBUILD_MOC=ON \
        -DBUILD_MPD=ON \
        -DBUILD_MYSQL=ON \
@@ -165,8 +183,8 @@
        -DBUILD_XSHAPE=ON \
        -DOWN_WINDOW=ON \
        -DBUILD_LUA_CAIRO=ON \
-       -DBUILD_LUA_IMLIB2=ON \
        -DBUILD_LUA_RSVG=ON \
+       -DBUILD_LUA_EXTRAS=ON \
 %if 0%{?packman_bs}
        -DBUILD_AUDACIOUS=ON \
        -DBUILD_CMUS=ON \
@@ -211,11 +229,7 @@
 # config
 mkdir -p %{buildroot}%{_sysconfdir}/conky
 sed -i "1d" extras/convert.lua
-%if 0%{?suse_version} > 1320
 sed -i "1s/^/#!\/usr\/bin\/lua5.1\\n/" extras/convert.lua
-%else
-sed -i "1s/^/#!\/usr\/bin\/lua51\\n/" extras/convert.lua
-%endif
 install -m 0755 extras/convert.lua %{buildroot}%{_sysconfdir}/conky/
 install -m 0644 data/conky_no_x11.conf data/conky.conf 
%{buildroot}%{_sysconfdir}/conky/
 # vim
@@ -237,9 +251,11 @@
 %doc %{_mandir}/man1/conky.1%{ext_man}
 %dir %{_libdir}/conky
 %{_libdir}/conky/libcairo.so
+%{_libdir}/conky/librsvg.so
+%if 0%{?suse_version} != 1315 || 0%{?is_opensuse} == 1
 %{_libdir}/conky/libcairo_imlib2_helper.so
 %{_libdir}/conky/libimlib2.so
-%{_libdir}/conky/librsvg.so
+%endif
 
 %files doc
 %defattr(-,root,root)

++++++ conky-1.10.1-avoid-git.patch ++++++
Index: conky-1.10.1/cmake/Conky.cmake
===================================================================
--- conky-1.10.1.orig/cmake/Conky.cmake
+++ conky-1.10.1/cmake/Conky.cmake
@@ -20,7 +20,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-#set(RELEASE true)
+set(RELEASE true)
 
 # Set system vars
 if(CMAKE_SYSTEM_NAME MATCHES "Linux")
++++++ conky-1.10.1-check_include_file.patch ++++++
Index: conky-1.10.1/cmake/ConkyPlatformChecks.cmake
===================================================================
--- conky-1.10.1.orig/cmake/ConkyPlatformChecks.cmake
+++ conky-1.10.1/cmake/ConkyPlatformChecks.cmake
@@ -141,7 +141,8 @@ if(BUILD_MYSQL)
 endif(BUILD_MYSQL)
 
 if(BUILD_WLAN)
-       check_include_file(iwlib.h IWLIB_H -D_GNU_SOURCE)
+       set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
+       check_include_files(iwlib.h IWLIB_H)
        if(NOT IWLIB_H)
                message(FATAL_ERROR "Unable to find iwlib.h")
        endif(NOT IWLIB_H)
++++++ conky-1.10.0.tar.gz -> conky-1.10.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/README.md new/conky-1.10.1/README.md
--- old/conky-1.10.0/README.md  2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/README.md  2015-11-18 16:47:45.000000000 +0100
@@ -5,7 +5,7 @@
 **Conky** is a free, light-weight system monitor for X, that displays
 any kind of information on your desktop.
 
-- Stable version: Just grab it from the GitHub! I no longer publish 
"releases". - Brenden
+Grab the [latest release from 
GitHub](https://github.com/brndnmtthws/conky/releases/latest).
 
 ### Features
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/cmake/Conky.cmake 
new/conky-1.10.1/cmake/Conky.cmake
--- old/conky-1.10.0/cmake/Conky.cmake  2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/cmake/Conky.cmake  2015-11-18 16:47:45.000000000 +0100
@@ -20,7 +20,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-set(RELEASE true)
+#set(RELEASE true)
 
 # Set system vars
 if(CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -69,12 +69,12 @@
 # Do version stuff
 set(VERSION_MAJOR "1")
 set(VERSION_MINOR "10")
-set(VERSION_PATCH "0")
+set(VERSION_PATCH "1")
 
-find_program(APP_GAWK gawk)
-if(NOT APP_GAWK)
-       message(FATAL_ERROR "Unable to find program 'gawk'")
-endif(NOT APP_GAWK)
+find_program(APP_AWK awk)
+if(NOT APP_AWK)
+       message(FATAL_ERROR "Unable to find program 'awk'")
+endif(NOT APP_AWK)
 
 find_program(APP_WC wc)
 if(NOT APP_WC)
@@ -99,7 +99,7 @@
        mark_as_advanced(APP_GIT)
 endif(NOT RELEASE)
 
-mark_as_advanced(APP_GAWK APP_WC APP_DATE APP_UNAME)
+mark_as_advanced(APP_AWK APP_WC APP_DATE APP_UNAME)
 
 #BUILD_DATE=$(LANG=en_US LC_ALL=en_US LOCALE=en_US date)
 #BUILD_ARCH="$(uname -sr) ($(uname -m))"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/cmake/ConkyBuildOptions.cmake 
new/conky-1.10.1/cmake/ConkyBuildOptions.cmake
--- old/conky-1.10.0/cmake/ConkyBuildOptions.cmake      2015-06-22 
02:49:06.000000000 +0200
+++ new/conky-1.10.1/cmake/ConkyBuildOptions.cmake      2015-11-18 
16:47:45.000000000 +0100
@@ -33,13 +33,13 @@
 endif(NOT CMAKE_BUILD_TYPE)
 
 # -std options for all build types
-set(CMAKE_C_FLAGS "-std=c99" CACHE STRING "Flags used by the C compiler during 
all build types." FORCE)
-set(CMAKE_CXX_FLAGS "-std=c++0x" CACHE STRING "Flags used by the C++ compiler 
during all build types." FORCE)
+set(CMAKE_C_FLAGS "-std=c99 ${CMAKE_C_FLAGS}" CACHE STRING "Flags used by the 
C compiler during all build types." FORCE)
+set(CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}" CACHE STRING "Flags used 
by the C++ compiler during all build types." FORCE)
 
 if(MAINTAINER_MODE)
        # some extra debug flags when in 'maintainer mode'
-       set(CMAKE_C_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused 
-Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith 
-Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings 
-Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn 
-Wmissing-format-attribute -Wredundant-decls -pedantic -Werror" CACHE STRING 
"Flags used by the compiler during debug builds." FORCE)
-       set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused -pedantic 
-Werror -Wno-format" CACHE STRING "Flags used by the compiler during debug 
builds." FORCE)
+       set(CMAKE_C_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused 
-Wdeclaration-after-statement -Wundef -Wendif-labels -Wshadow -Wpointer-arith 
-Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings 
-Wstrict-prototypes -Wold-style-definition -Winline -Wmissing-noreturn 
-Wmissing-format-attribute -Wredundant-decls -pedantic -Werror 
${CMAKE_C_FLAGS_DEBUG}" CACHE STRING "Flags used by the compiler during debug 
builds." FORCE)
+       set(CMAKE_CXX_FLAGS_DEBUG "-ggdb -Wall -W -Wextra -Wunused -pedantic 
-Werror -Wno-format ${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Flags used by the 
compiler during debug builds." FORCE)
 endif(MAINTAINER_MODE)
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/cmake/ConkyCPackSetup.cmake 
new/conky-1.10.1/cmake/ConkyCPackSetup.cmake
--- old/conky-1.10.0/cmake/ConkyCPackSetup.cmake        2015-06-22 
02:49:06.000000000 +0200
+++ new/conky-1.10.1/cmake/ConkyCPackSetup.cmake        2015-11-18 
16:47:45.000000000 +0100
@@ -44,7 +44,7 @@
 # Source package setup. Compile with "make package_source".
 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${VERSION}-src")
 set(CPACK_SOURCE_GENERATOR "TBZ2")
-execute_process(COMMAND ${APP_UNAME} COMMAND ${APP_GAWK} "{print $1}"
+execute_process(COMMAND ${APP_UNAME} COMMAND ${APP_AWK} "{print $1}"
        RESULT_VARIABLE RETVAL OUTPUT_VARIABLE CPU_ARCH
        OUTPUT_STRIP_TRAILING_WHITESPACE)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/cmake/ConkyPlatformChecks.cmake 
new/conky-1.10.1/cmake/ConkyPlatformChecks.cmake
--- old/conky-1.10.0/cmake/ConkyPlatformChecks.cmake    2015-06-22 
02:49:06.000000000 +0200
+++ new/conky-1.10.1/cmake/ConkyPlatformChecks.cmake    2015-11-18 
16:47:45.000000000 +0100
@@ -22,7 +22,7 @@
 
 include(FindPkgConfig)
 include(CheckFunctionExists)
-include(CheckIncludeFile)
+include(CheckIncludeFiles)
 include(CheckSymbolExists)
 
 # Check for some headers
@@ -105,7 +105,7 @@
 if(BUILD_IPV6)
        find_file(IF_INET6 if_inet6 PATHS /proc/net)
        if(NOT IF_INET6)
-               message(FATAL_ERROR "/proc/net/if_inet6 unavailable")
+               message(WARNING "/proc/net/if_inet6 unavailable")
        endif(NOT IF_INET6)
 endif(BUILD_IPV6)
 
@@ -119,7 +119,7 @@
 endif(BUILD_HTTP)
 
 if(BUILD_NCURSES)
-       check_include_file(ncurses.h NCURSES_H)
+       check_include_files(ncurses.h NCURSES_H)
        find_library(NCURSES_LIB NAMES ncurses)
        if(NOT NCURSES_H OR NOT NCURSES_LIB)
                message(FATAL_ERROR "Unable to find ncurses library")
@@ -167,7 +167,7 @@
 
 # Check for iconv
 if(BUILD_ICONV)
-       check_include_file(iconv.h HAVE_ICONV_H)
+       check_include_files(iconv.h HAVE_ICONV_H)
        find_library(ICONV_LIBRARY NAMES iconv)
        if(NOT ICONV_LIBRARY)
                # maybe iconv() is provided by libc
@@ -422,6 +422,6 @@
        execute_process(COMMAND
                ${APP_GIT} --git-dir=${CMAKE_CURRENT_SOURCE_DIR}/.git log
                --since=${VERSION_MAJOR}-${VERSION_MINOR}-01 --pretty=oneline 
COMMAND
-               ${APP_WC} -l COMMAND ${APP_GAWK} "{print $1}" RESULT_VARIABLE 
RETVAL
+               ${APP_WC} -l COMMAND ${APP_AWK} "{print $1}" RESULT_VARIABLE 
RETVAL
                OUTPUT_VARIABLE COMMIT_COUNT OUTPUT_STRIP_TRAILING_WHITESPACE)
 endif(DEBUG)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/cmake/Docbook.cmake 
new/conky-1.10.1/cmake/Docbook.cmake
--- old/conky-1.10.0/cmake/Docbook.cmake        2015-06-22 02:49:06.000000000 
+0200
+++ new/conky-1.10.1/cmake/Docbook.cmake        2015-11-18 16:47:45.000000000 
+0100
@@ -72,7 +72,7 @@
                        COMMAND ${APP_XSLTPROC} 
http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl 
${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml > ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html
 
                        COMMAND ${APP_DB2X_XSLTPROC} -s man 
${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml -o ${FIL}.mxml
-                       COMMAND ${APP_DB2X_MANXML} ${FIL}.mxml --output-dir 
${CMAKE_CURRENT_SOURCE_DIR}
+                       COMMAND ${APP_DB2X_MANXML} --encoding=utf-8 ${FIL}.mxml 
--output-dir ${CMAKE_CURRENT_SOURCE_DIR}
                        COMMAND ${APP_XSLTPROC} 
http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl 
${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.xml > ${CMAKE_CURRENT_SOURCE_DIR}/${FIL}.html
                        COMMAND ${APP_MAN} -P '${APP_LESS} -is' 
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.1 > ${CMAKE_SOURCE_DIR}/README
                        COMMAND ${APP_SED} -i "s/[[:cntrl:]]\\[[0-9]*m//g" 
${CMAKE_SOURCE_DIR}/README
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/doc/config_settings.xml 
new/conky-1.10.1/doc/config_settings.xml
--- old/conky-1.10.0/doc/config_settings.xml    2015-06-22 02:49:06.000000000 
+0200
+++ new/conky-1.10.1/doc/config_settings.xml    2015-11-18 16:47:45.000000000 
+0100
@@ -917,7 +917,7 @@
             <member>'\n' -&gt; newline</member>
             <member>'\\' -&gt; backslash</member>
             <member>'\ ' -&gt; space</member>
-            <member>'\N' -&gt; template argument N</member>
+            <member>'\N' -&gt; template argument N (starting from 1)</member>
         </simplelist>
         <para /></listitem>
     </varlistentry>
@@ -960,6 +960,17 @@
         <para /></listitem>
     </varlistentry>
     <varlistentry>
+        <term>
+            <command>
+                <option>top_name_verbose</option>
+            </command>
+        </term>
+        <listitem>If true, top name shows the full command line of each
+        process, including arguments (whenever possible). Otherwise,
+        only the basename is displayed. Default value is false.
+        <para /></listitem>
+    </varlistentry>
+    <varlistentry>
         <term>
             <command>
                 <option>top_name_width</option>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/doc/variables.xml 
new/conky-1.10.1/doc/variables.xml
--- old/conky-1.10.0/doc/variables.xml  2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/doc/variables.xml  2015-11-18 16:47:45.000000000 +0100
@@ -236,7 +236,7 @@
                 <option>apm_adapter</option>
             </command>
         </term>
-        <listitem>Display APM AC adapter status (FreeBSD only) 
+        <listitem>Display APM AC adapter status (FreeBSD, OpenBSD only) 
         <para /></listitem>
     </varlistentry>
     <varlistentry>
@@ -245,7 +245,7 @@
                 <option>apm_battery_life</option>
             </command>
         </term>
-        <listitem>Display APM battery life in percent (FreeBSD
+        <listitem>Display APM battery life in percent (FreeBSD, OpenBSD
         only) 
         <para /></listitem>
     </varlistentry>
@@ -257,7 +257,7 @@
         </term>
         <listitem>Display remaining APM battery life in hh:mm:ss or
         "unknown" if AC adapterstatus is on-line or charging
-        (FreeBSD only) 
+        (FreeBSD, OpenBSD only) 
         <para /></listitem>
     </varlistentry>
     <varlistentry>
@@ -1849,9 +1849,21 @@
             </command>
             <option>(process)</option>
         </term>
-        <listitem>if PROCESS is running, display everything
-        $if_running and the matching $endif. This uses the
-        ``pidof'' command, so the -x switch is also supported. 
+        <listitem>If PROCESS is running, display everything
+        between $if_running and the corresponding $else or $endif.
+        Note that PROCESS may be either a full command line with
+        arguments (without the directory prefix), or simply the name
+        of an executable. For example, either of the following will
+        be true if there is a running process with the command line
+        <command>/usr/bin/conky -u 5</command>:
+        <simplelist>
+            <member>
+                <command>${if_running conky -u 5}</command> or
+                <command>${if_running conky}</command>
+            </member>
+        </simplelist>
+        It is important not to include trailing spaces. For example,
+        <command>${if_running conky }</command> will be false.
         <para /></listitem>
     </varlistentry>
     <varlistentry>
@@ -1918,7 +1930,7 @@
         changing the WxH will scale the image. If you specify the
         no-cache flag (-n), the image will not be cached.
         Alternately, you can specify the -f int switch to specify a
-        cache flust interval for a particular image. Example:
+        cache flush interval for a particular image. Example:
         ${image /home/brenden/cheeseburger.jpg -p 20,20 -s 200x200}
         will render 'cheeseburger.jpg' at (20,20) scaled to 200x200
         pixels. Conky does not make any attempt to adjust the
@@ -3707,12 +3719,12 @@
             whitespace. Also simple nesting of templates is
             possible this way.</para>
             <para>Here are some examples of template
-            definitions:</para>
+            definitions, note they are placed between [[ ... ]] instead of ' 
... ':</para>
             <simplelist>
-                <member>template0 $\1\2</member>
-                <member>template1 \1: ${fs_used \2} / ${fs_size
-                \2}</member>
-                <member>template2 \1 \2</member>
+                <member>template0 = [[$\1\2]]</member>
+                <member>template1 = [[\1: ${fs_used \2} / ${fs_size
+                \2}]]</member>
+                <member>template2 = [[\1 \2]]</member>
             </simplelist>
             <para>The following list shows sample usage of the
             templates defined above, with the equivalent syntax
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/extras/vim/syntax/conkyrc.vim 
new/conky-1.10.1/extras/vim/syntax/conkyrc.vim
--- old/conky-1.10.0/extras/vim/syntax/conkyrc.vim      2015-06-22 
02:49:06.000000000 +0200
+++ new/conky-1.10.1/extras/vim/syntax/conkyrc.vim      2015-11-18 
16:47:45.000000000 +0100
@@ -12,7 +12,7 @@
 
 syn region ConkyrcComment start=/^\s*#/ end=/$/
 
-syn keyword ConkyrcSetting alignment append_file background 
border_inner_margin border_outer_margin border_width color0 color1 color2 
color3 color4 color5 color6 color7 color8 color9 colorN cpu_avg_samples 
default_bar_height default_bar_width default_color default_gauge_height 
default_gauge_width default_graph_height default_graph_width 
default_outline_color default_shade_color diskio_avg_samples display 
double_buffer draw_borders draw_graph_borders draw_outline draw_shades 
extra_newline font format_human_readable gap_x gap_y http_refresh 
if_up_strictness imap imlib_cache_flush_interval imlib_cache_size 
lua_draw_hook_post lua_draw_hook_pre lua_load lua_shutdown_hook 
lua_startup_hook mail_spool max_port_monitor_connections max_text_width 
max_user_text maximum_width minimum_height minumum_width mpd_host mpd_password 
mpd_port music_player_interval mysql_host mysql_port mysql_user mysql_password 
mysql_db net_avg_samples no_buffers nvidia_display out_to_console out_to_http 
out_to_ncurses out_to_stderr out_to_x override_utf8_locale overwrite_file 
own_window own_window_class own_window_colour own_window_hints own_window_title 
own_window_transparent own_window_type pad_percents pop3 sensor_device 
short_units show_graph_range show_graph_scale stippled_borders temperature_unit 
template template0 template1 template2 template3 template4 template5 template6 
template7 template8 template9 text text_buffer_size times_in_seconds 
top_cpu_separate top_name_width total_run_times update_interval 
update_interval_on_battery uppercase use_spacer use_xft xftalpha xftfont
+syn keyword ConkyrcSetting alignment append_file background 
border_inner_margin border_outer_margin border_width color0 color1 color2 
color3 color4 color5 color6 color7 color8 color9 colorN cpu_avg_samples 
default_bar_height default_bar_width default_color default_gauge_height 
default_gauge_width default_graph_height default_graph_width 
default_outline_color default_shade_color diskio_avg_samples display 
double_buffer draw_borders draw_graph_borders draw_outline draw_shades 
extra_newline font format_human_readable gap_x gap_y http_refresh 
if_up_strictness imap imlib_cache_flush_interval imlib_cache_size 
lua_draw_hook_post lua_draw_hook_pre lua_load lua_shutdown_hook 
lua_startup_hook mail_spool max_port_monitor_connections max_text_width 
max_user_text maximum_width minimum_height minimum_width mpd_host mpd_password 
mpd_port music_player_interval mysql_host mysql_port mysql_user mysql_password 
mysql_db net_avg_samples no_buffers nvidia_display out_to_console out_to_http 
out_to_ncurses out_to_stderr out_to_x override_utf8_locale overwrite_file 
own_window own_window_class own_window_colour own_window_hints own_window_title 
own_window_transparent own_window_type pad_percents pop3 sensor_device 
short_units show_graph_range show_graph_scale stippled_borders temperature_unit 
template template0 template1 template2 template3 template4 template5 template6 
template7 template8 template9 text text_buffer_size times_in_seconds 
top_cpu_separate top_name_width total_run_times update_interval 
update_interval_on_battery uppercase use_spacer use_xft xftalpha xftfont
 
 syn keyword ConkyrcConstant
                        \ above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/lua/CMakeLists.txt 
new/conky-1.10.1/lua/CMakeLists.txt
--- old/conky-1.10.0/lua/CMakeLists.txt 2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/lua/CMakeLists.txt 2015-11-18 16:47:45.000000000 +0100
@@ -23,10 +23,10 @@
 include(ToLua)
 
 add_definitions(-DTOLUA_RELEASE)
-set(CMAKE_C_FLAGS "-O3")
-set(CMAKE_C_FLAGS_DEBUG "-ggdb")
-set(CMAKE_CXX_FLAGS "-O3")
-set(CMAKE_CXX_FLAGS_DEBUG "-ggdb")
+set(CMAKE_C_FLAGS "-O3 ${CMAKE_C_FLAGS}")
+set(CMAKE_C_FLAGS_DEBUG "-ggdb ${CMAKE_C_FLAGS_DEBUG}")
+set(CMAKE_CXX_FLAGS "-O3 ${CMAKE_CXX_FLAGS}")
+set(CMAKE_CXX_FLAGS_DEBUG "-ggdb ${CMAKE_CXX_FLAGS_DEBUG}")
 
 if(BUILD_LUA_CAIRO)
        include_directories(${luacairo_includes} ${CMAKE_CURRENT_SOURCE_DIR})
@@ -76,6 +76,6 @@
 
 install(TARGETS
        ${lua_libs}
-       LIBRARY DESTINATION lib/conky
-       ARCHIVE DESTINATION lib/conky
+       LIBRARY DESTINATION lib${LIB_SUFFIX}/conky
+       ARCHIVE DESTINATION lib${LIB_SUFFIX}/conky
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/c++wrap.cc 
new/conky-1.10.1/src/c++wrap.cc
--- old/conky-1.10.0/src/c++wrap.cc     2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/c++wrap.cc     2015-11-18 16:47:45.000000000 +0100
@@ -26,8 +26,17 @@
 #include "c++wrap.hh"
 
 #include <unistd.h>
+
+/* force use of  POSIX strerror_r instead of non-portable GNU specific */
+#ifdef _GNU_SOURCE
+#undef _GNU_SOURCE
+#endif
 #include <string.h>
 
+#if __cplusplus <= 199711L
+#define thread_local __thread
+#endif
+
 #if !defined(HAVE_PIPE2) || !defined(HAVE_O_CLOEXEC)
 #include <fcntl.h>
 
@@ -62,8 +71,10 @@
 
 std::string strerror_r(int errnum)
 {
-       char buf[100];
-       return strerror_r(errnum, buf, sizeof buf);
+       static thread_local char buf[100];
+       if (strerror_r(errnum, buf, sizeof buf) != 0)
+               snprintf(buf, sizeof buf, "Unknown error %i", errnum);
+       return buf;
 }
 
 std::pair<int, int> pipe2(int flags)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/ccurl_thread.cc 
new/conky-1.10.1/src/ccurl_thread.cc
--- old/conky-1.10.0/src/ccurl_thread.cc        2015-06-22 02:49:06.000000000 
+0200
+++ new/conky-1.10.1/src/ccurl_thread.cc        2015-11-18 16:47:45.000000000 
+0100
@@ -119,9 +119,7 @@
                        headers.h = curl_slist_append(headers.h, 
("If-None-Match: " + etag).c_str());
                        etag.clear();
                }
-               if (headers.h) {
-                       curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers.h);
-               }
+               curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers.h);
 
                res = curl_easy_perform(curl);
                if (res == CURLE_OK) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/common.cc 
new/conky-1.10.1/src/common.cc
--- old/conky-1.10.0/src/common.cc      2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/common.cc      2015-11-18 16:47:45.000000000 +0100
@@ -42,7 +42,6 @@
 #include <errno.h>
 #include <time.h>
 #include <sys/ioctl.h>
-#include <sys/sysctl.h>
 #include <net/if.h>
 #include <netinet/in.h>
 #include <pthread.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/conky.cc 
new/conky-1.10.1/src/conky.cc
--- old/conky-1.10.0/src/conky.cc       2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/conky.cc       2015-11-18 16:47:45.000000000 +0100
@@ -270,12 +270,21 @@
 #ifdef BUILD_RSS
                 << _("  * RSS\n")
 #endif /* BUILD_RSS */
+#ifdef BUILD_ICAL
+                << _("  * ICal\n")
+#endif /* BUILD_ICAL */
+#ifdef BUILD_ICONV
+                << _("  * iconv\n")
+#endif /* BUILD_ICONV */
+#ifdef BUILD_MYSQL
+                << _("  * MySQL\n")
+#endif /* BUILD_MYSQL */
 #ifdef BUILD_WEATHER_METAR
                 << _("  * Weather (METAR)\n")
+#endif /* BUILD_WEATHER_METAR */                
 #ifdef BUILD_WEATHER_XOAP
                 << _("  * Weather (XOAP)\n")
 #endif /* BUILD_WEATHER_XOAP */
-#endif /* BUILD_WEATHER_METAR */
 #ifdef BUILD_WLAN
                 << _("  * wireless\n")
 #endif /* BUILD_WLAN */
@@ -315,7 +324,7 @@
 #ifdef DEBUG
                 << _("  * Debugging extensions\n")
 #endif
-#if defined BUILD_LUA_CAIRO || defined BUILD_LUA_IMLIB2
+#if defined BUILD_LUA_CAIRO || defined BUILD_LUA_IMLIB2 || BUILD_LUA_RSVG
                 << _("\n Lua bindings:\n")
 #endif
 #ifdef BUILD_LUA_CAIRO
@@ -324,11 +333,17 @@
 #ifdef BUILD_LUA_IMLIB2
                 << _("  * Imlib2\n")
 #endif /* BUILD_LUA_IMLIB2 */
+#ifdef BUILD_LUA_RSVG
+                << _("  * RSVG\n")
+#endif /* BUILD_LUA_RSVG */
 #ifdef BUILD_X11
                 << _(" X11:\n")
 # ifdef BUILD_XDAMAGE
                 << _("  * Xdamage extension\n")
 # endif /* BUILD_XDAMAGE */
+# ifdef BUILD_XSHAPE
+                << _("  * Xshape extension (click through)\n")
+# endif /* BUILD_XSHAPE */
 # ifdef BUILD_XDBE
                 << _("  * XDBE (double buffer extension)\n")
 # endif /* BUILD_XDBE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/core.cc new/conky-1.10.1/src/core.cc
--- old/conky-1.10.0/src/core.cc        2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/core.cc        2015-11-18 16:47:45.000000000 +0100
@@ -571,23 +571,27 @@
                __var = 0; \
 }
        END OBJ(cpu, &update_cpu_usage)
+               get_cpu_count();
                SCAN_CPU(arg, obj->data.i);
                obj->callbacks.percentage = &cpu_percentage;
                DBGP2("Adding $cpu for CPU %d", obj->data.i);
 #ifdef BUILD_X11
        END OBJ(cpugauge, &update_cpu_usage)
+               get_cpu_count();
                SCAN_CPU(arg, obj->data.i);
                scan_gauge(obj, arg, 1);
                obj->callbacks.gaugeval = &cpu_barval;
                DBGP2("Adding $cpugauge for CPU %d", obj->data.i);
 #endif
        END OBJ(cpubar, &update_cpu_usage)
+               get_cpu_count();
                SCAN_CPU(arg, obj->data.i);
                scan_bar(obj, arg, 1);
                obj->callbacks.barval = &cpu_barval;
                DBGP2("Adding $cpubar for CPU %d", obj->data.i);
 #ifdef BUILD_X11
        END OBJ(cpugraph, &update_cpu_usage)
+               get_cpu_count();
                char *buf = 0;
                SCAN_CPU(arg, obj->data.i);
                buf = scan_graph(obj, arg, 1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/linux.cc 
new/conky-1.10.1/src/linux.cc
--- old/conky-1.10.0/src/linux.cc       2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/linux.cc       2015-11-18 16:47:45.000000000 +0100
@@ -144,7 +144,7 @@
                return 0;
 
        if ((mtab = fopen("/etc/mtab", "r"))) {
-               char buf1[256], buf2[128];
+               char buf1[256], buf2[129];
 
                while (fgets(buf1, 256, mtab)) {
                        sscanf(buf1, "%*s %128s", buf2);
@@ -593,7 +593,7 @@
 
 #ifdef BUILD_IPV6
        FILE *file;
-       char v6addr[32];
+       char v6addr[33];
        char devname[21];
        unsigned int netmask, scope;
        struct net_stat *ns;
@@ -643,8 +643,8 @@
                        }
                        lastv6->next = NULL;
                }
+               fclose(file);
        }
-       fclose(file);
 #endif /* BUILD_IPV6 */
 
        first = 0;
@@ -1898,14 +1898,14 @@
                                snprintf(last_battery_str[idx], 64, "unknown 
%d%%",
                                        (int) (((float)remaining_capacity / 
acpi_last_full[idx]) * 100));
                        else
-                               strncpy(last_battery_str[idx], "AC", 64);
+                               strncpy(last_battery_str[idx], "not present", 
64);
                }
        } else if (acpi_bat_fp[idx] != NULL) {
                /* ACPI */
                int present_rate = -1;
                int remaining_capacity = -1;
                char charging_state[64];
-               char present[4];
+               char present[5];
 
                /* read last full capacity if it's zero */
                if (acpi_last_full[idx] == 0) {
@@ -2000,7 +2000,7 @@
                                                (long) ((remaining_capacity * 
3600) / present_rate));
                        } else if (present_rate == 0) { /* Thanks to Nexox for 
this one */
                                snprintf(last_battery_str[idx],
-                                               sizeof(last_battery_str[idx]) - 
1, "full");
+                                               sizeof(last_battery_str[idx]) - 
1, "charged");
                                snprintf(last_battery_time_str[idx],
                                                
sizeof(last_battery_time_str[idx]) - 1, "unknown");
                        } else {
@@ -2023,13 +2023,13 @@
                        /* unknown, probably full / AC */
                } else {
                        if (strncmp(charging_state, "Full", 64) == 0) {
-                               strncpy(last_battery_str[idx], "full", 64);
+                               strncpy(last_battery_str[idx], "charged", 64);
                        } else if (acpi_last_full[idx] != 0
                                        && remaining_capacity != 
acpi_last_full[idx]) {
                                snprintf(last_battery_str[idx], 64, "unknown 
%d%%",
                                                (int) ((remaining_capacity * 
100) / acpi_last_full[idx]));
                        } else {
-                               strncpy(last_battery_str[idx], "AC", 64);
+                               strncpy(last_battery_str[idx], "not present", 
64);
                        }
                }
                fclose(acpi_bat_fp[idx]);
@@ -2050,7 +2050,7 @@
 
                        if (life == -1) {
                                /* could check now that there is ac */
-                               snprintf(last_battery_str[idx], 64, "AC");
+                               snprintf(last_battery_str[idx], 64, "not 
present");
 
                        /* could check that status == 3 here? */
                        } else if (ac && life != 100) {
@@ -2101,10 +2101,11 @@
        } else if (0 == strncmp("empty", buffer, 5)) {
                buffer[0] = 'E';
                memmove(buffer + 1, buffer + 5, n - 5);
-       } else if (0 != strncmp("AC", buffer, 2)) {
+       } else if (0 == strncmp("unknown", buffer, 7)) {
                buffer[0] = 'U';
-               memmove(buffer + 1, buffer + 2, n - 2);
+               memmove(buffer + 1, buffer + 7, n - 7);
        }
+       // Otherwise, don't shorten.
 }
 
 int _get_battery_perct(const char *bat)
@@ -2627,6 +2628,7 @@
 {
        char line[BUFFER_LEN] = { 0 }, filename[BUFFER_LEN], 
procname[BUFFER_LEN];
        char cmdline[BUFFER_LEN] = { 0 }, cmdline_filename[BUFFER_LEN], 
cmdline_procname[BUFFER_LEN];
+       char basename[BUFFER_LEN] = { 0 };
        char tmpstr[BUFFER_LEN] = { 0 };
        char state[4];
        int ps, cmdline_ps;
@@ -2674,36 +2676,39 @@
                return;
        }
 
-       /* Some processes have null-separated arguments, let's fix it */
-       for(int i = 0; i < endl; i++)
-               if (cmdline[i] == 0)
+       /* Some processes have null-separated arguments (see proc(5)); let's 
fix it */
+       int i = endl;
+       while (i && cmdline[i-1] == 0) {
+               /* Skip past any trailing null characters */
+               --i;
+       }
+       while (i--) {
+               /* Replace null character between arguments with a space */
+               if (cmdline[i] == 0) {
                        cmdline[i] = ' ';
+               }
+       }
 
        cmdline[endl] = 0;
+
        /* We want to transform for example "/usr/bin/python program.py" to 
"python program.py"
         * 1. search for first space
         * 2. search for last / before first space
-        * 3. copy string from it's position */
-
-       char * space_ptr = strchr(cmdline, ' ');
-       if (space_ptr == NULL)
-       {
+        * 3. copy string from its position
+        */
+       char *space_ptr = strchr(cmdline, ' ');
+       if (space_ptr == NULL) {
                strcpy(tmpstr, cmdline);
-       }
-       else
-       {
+       } else {
                long int space_pos = space_ptr - cmdline;
                strncpy(tmpstr, cmdline, space_pos);
                tmpstr[space_pos] = 0;
        }
 
-       char * slash_ptr = strrchr(tmpstr, '/');
-       if (slash_ptr == NULL )
-       {
+       char *slash_ptr = strrchr(tmpstr, '/');
+       if (slash_ptr == NULL) {
                strncpy(cmdline_procname, cmdline, BUFFER_LEN);
-       }
-       else
-       {
+       } else {
                long int slash_pos = slash_ptr - tmpstr;
                strncpy(cmdline_procname, cmdline + slash_pos + 1, BUFFER_LEN - 
slash_pos);
                cmdline_procname[BUFFER_LEN - slash_pos] = 0;
@@ -2712,15 +2717,16 @@
        /* Extract cpu times from data in /proc filesystem */
        lparen = strchr(line, '(');
        rparen = strrchr(line, ')');
-       if(!lparen || !rparen || rparen < lparen)
+       if (!lparen || !rparen || rparen < lparen)
                return; // this should not happen
 
        rc = MIN((unsigned)(rparen - lparen - 1), sizeof(procname) - 1);
        strncpy(procname, lparen + 1, rc);
        procname[rc] = '\0';
+       strncpy(basename, procname, strlen(procname) + 1);
 
        if (strlen(procname) < strlen(cmdline_procname))
-               strncpy(procname, cmdline_procname, strlen(cmdline_procname)+1);
+               strncpy(procname, cmdline_procname, strlen(cmdline_procname) + 
1);
 
        rc = sscanf(rparen + 1, "%3s %*s %*s %*s %*s %*s %*s %*s %*s %*s %*s 
%lu "
                        "%lu %*s %*s %*s %d %*s %*s %*s %llu %llu", state, 
&process->user_time,
@@ -2730,43 +2736,13 @@
                return;
        }
 
-       if(state[0]=='R')
+       if (state[0] == 'R')
                ++ info.run_procs;
 
-       /* remove any "kdeinit: " */
-       if (procname == strstr(procname, "kdeinit")) {
-               snprintf(filename, sizeof(filename), PROCFS_CMDLINE_TEMPLATE,
-                               process->pid);
-
-               ps = open(filename, O_RDONLY);
-               if (ps < 0) {
-                       /* The process must have finished in the last few 
jiffies! */
-                       return;
-               }
-
-               endl = read(ps, line, BUFFER_LEN - 1);
-               close(ps);
-               if(endl < 0)
-                       return;
-               line[endl] = 0;
-
-               /* account for "kdeinit: " */
-               if ((char *) line == strstr(line, "kdeinit: ")) {
-                       r = ((char *) line) + 9;
-               } else {
-                       r = (char *) line;
-               }
-
-               q = procname;
-               /* stop at space */
-               while (*r && *r != ' ') {
-                       *q++ = *r++;
-               }
-               *q = 0;
-       }
-
        free_and_zero(process->name);
+       free_and_zero(process->basename);
        process->name = strndup(procname, text_buffer_size.get(*::state));
+       process->basename = strndup(basename, text_buffer_size.get(*::state));
        process->rss *= getpagesize();
 
        process->total_cpu_time = process->user_time + process->kernel_time;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/luamm.cc 
new/conky-1.10.1/src/luamm.cc
--- old/conky-1.10.0/src/luamm.cc       2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/luamm.cc       2015-11-18 16:47:45.000000000 +0100
@@ -171,6 +171,14 @@
                        return nresults;
                }
 
+               // Overloaded for Lua 5.3+ as lua_gettable and others return an 
int
+               template<int (*misc)(lua_State *, int), int nresults>
+               int safe_misc_trampoline(lua_State *l)
+               {
+                       misc(l, 1);
+                       return nresults;
+               }
+
                int safe_next_trampoline(lua_State *l)
                {
                        int r = lua_next(l, 1);
@@ -357,6 +365,7 @@
                pushinteger(LUA_RIDX_GLOBALS);
                gettable(REGISTRYINDEX);
                getfield(-1, name);
+               replace(-2);
 #else
                getfield(LUA_GLOBALSINDEX, name);
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/mail.cc new/conky-1.10.1/src/mail.cc
--- old/conky-1.10.0/src/mail.cc        2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/mail.cc        2015-11-18 16:47:45.000000000 +0100
@@ -514,9 +514,9 @@
 
        std::unique_ptr<mail_param_ex> mail;
        char *tmp;
-       char host[128];
-       char user[128];
-       char pass[128];
+       char host[129];
+       char user[129];
+       char pass[129];
 
        if (sscanf(arg, "%128s %128s %128s", host, user, pass)
                        != 3) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/mpd.cc new/conky-1.10.1/src/mpd.cc
--- old/conky-1.10.0/src/mpd.cc 2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/mpd.cc 2015-11-18 16:47:45.000000000 +0100
@@ -298,6 +298,7 @@
                           conn = 0;
                           } */
                } while (0);
+               std::lock_guard<std::mutex> lock(Base::result_mutex);
                result = mpd_info; // don't forget to save results!
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/template.cc 
new/conky-1.10.1/src/template.cc
--- old/conky-1.10.0/src/template.cc    2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/template.cc    2015-11-18 16:47:45.000000000 +0100
@@ -84,6 +84,8 @@
                                if ((sscanf(p + 1, "%u%n", &tmpl_num, &digits) 
<= 0) ||
                                    (tmpl_num > template_count))
                                        break;
+                               if (tmpl_num == 0)
+                                       CRIT_ERR(NULL, NULL, "invalid template 
argument \\0; arguments must start at \\1");
                                dup_len += strlen(templates[tmpl_num - 1]);
                                src_dup = (char*) realloc(src_dup, dup_len * 
sizeof(char));
                                sprintf(src_dup + dup_idx, "%s", 
templates[tmpl_num - 1]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/top.cc new/conky-1.10.1/src/top.cc
--- old/conky-1.10.0/src/top.cc 2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/top.cc 2015-11-18 16:47:45.000000000 +0100
@@ -116,6 +116,7 @@
        while (pr) {
                next = pr->next;
                free_and_zero(pr->name);
+               free_and_zero(pr->basename);
                free(pr);
                pr = next;
        }
@@ -130,7 +131,10 @@
        struct process *p = first_process;
 
        while (p) {
-               if (p->name && !strcmp(p->name, name))
+               /* Try matching against the full command line first. If that 
fails,
+                * fall back to the basename.
+                */
+               if ((p->name && !strcmp(p->name, name)) || (p->basename && 
!strcmp(p->basename, name)))
                        return p;
                p = p->next;
        }
@@ -164,6 +168,7 @@
 
        p->pid = pid;
        p->name = 0;
+       p->basename = 0;
        p->amount = 0;
        p->user_time = 0;
        p->total = 0;
@@ -229,6 +234,7 @@
                first_process = p->next;
 
        free_and_zero(p->name);
+       free_and_zero(p->basename);
        /* remove the process from the hash table */
        unhash_process(p);
        free(p);
@@ -480,6 +486,7 @@
 
 static conky::range_config_setting<unsigned int> 
top_name_width("top_name_width", 0,
                                                                                
std::numeric_limits<unsigned int>::max(), 15, true);
+static conky::simple_config_setting<bool> top_name_verbose("top_name_verbose", 
false, true);
 
 static void print_top_name(struct text_object *obj, char *p, int p_max_size)
 {
@@ -490,7 +497,13 @@
                return;
 
        width = MIN(p_max_size, (int)top_name_width.get(*state) + 1);
-       snprintf(p, width + 1, "%-*s", width, td->list[td->num]->name);
+       if (top_name_verbose.get(*state)) {
+               /* print the full command line */
+               snprintf(p, width + 1, "%-*s", width, td->list[td->num]->name);
+       } else {
+               /* print only the basename (i.e. executable name) */
+               snprintf(p, width + 1, "%-*s", width, 
td->list[td->num]->basename);
+       }
 }
 
 static void print_top_mem(struct text_object *obj, char *p, int p_max_size)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/top.h new/conky-1.10.1/src/top.h
--- old/conky-1.10.0/src/top.h  2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/top.h  2015-11-18 16:47:45.000000000 +0100
@@ -87,6 +87,7 @@
 
        pid_t pid;
        char *name;
+       char *basename;
        uid_t uid;
        float amount;
        // User and kernel times are in hundredths of seconds
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/conky-1.10.0/src/x11.cc new/conky-1.10.1/src/x11.cc
--- old/conky-1.10.0/src/x11.cc 2015-06-22 02:49:06.000000000 +0200
+++ new/conky-1.10.1/src/x11.cc 2015-11-18 16:47:45.000000000 +0100
@@ -643,6 +643,11 @@
 
                int b = border_inner_margin.get(l) + border_width.get(l)
                        + border_outer_margin.get(l);
+                       
+               /* Sanity check to avoid making an invalid 0x0 window */
+               if (b == 0) {
+                       b = 1;
+               }
 
                if (own_window_type.get(l) == TYPE_OVERRIDE) {
 

++++++ conky-libdir.patch ++++++
Index: conky-1.10.1/cmake/ConkyBuildOptions.cmake
===================================================================
--- conky-1.10.1.orig/cmake/ConkyBuildOptions.cmake
+++ conky-1.10.1/cmake/ConkyBuildOptions.cmake
@@ -56,7 +56,10 @@ endif(BUILD_I18N)
 # Some standard options
 set(SYSTEM_CONFIG_FILE "/etc/conky/conky.conf" CACHE STRING "Default 
system-wide Conky configuration file")
 # use FORCE below to make sure this changes when CMAKE_INSTALL_PREFIX is 
modified
-set(PACKAGE_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/lib/conky" CACHE STRING 
"Package library path (where Lua bindings are installed" FORCE)
+if (NOT LIB_INSTALL_DIR)
+       set (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
+endif (NOT LIB_INSTALL_DIR)
+set(PACKAGE_LIBRARY_DIR "${LIB_INSTALL_DIR}/conky" CACHE STRING "Package 
library path (where Lua bindings are installed" FORCE)
 set(DEFAULTNETDEV "eth0" CACHE STRING "Default networkdevice")
 set(XDG_CONFIG_FILE "$HOME/.config/conky/conky.conf" CACHE STRING "Configfile 
of the user (XDG)")
 set(CONFIG_FILE "$HOME/.conkyrc" CACHE STRING "Configfile of the user")
Index: conky-1.10.1/lua/CMakeLists.txt
===================================================================
--- conky-1.10.1.orig/lua/CMakeLists.txt
+++ conky-1.10.1/lua/CMakeLists.txt
@@ -76,6 +76,6 @@ endif(BUILD_LUA_CAIRO AND BUILD_LUA_IMLI
 
 install(TARGETS
        ${lua_libs}
-       LIBRARY DESTINATION lib${LIB_SUFFIX}/conky
-       ARCHIVE DESTINATION lib${LIB_SUFFIX}/conky
+       LIBRARY DESTINATION ${LIB_INSTALL_DIR}/conky
+       ARCHIVE DESTINATION ${LIB_INSTALL_DIR}/conky
 )

Reply via email to