[boinc] 03/04: New upstream release

Gianfranco Costamagna locutusofborg-guest at moszumanska.debian.org
Mon Feb 8 19:33:43 UTC 2016


This is an automated email from the git hooks/post-receive script.

locutusofborg-guest pushed a commit to branch master
in repository boinc.

commit d752979a105872d128e571fcd34cfaedd39e06e2
Author: Gianfranco Costamagna <costamagnagianfranco at yahoo.it>
Date:   Mon Feb 8 20:01:44 2016 +0100

    New upstream release
---
 debian/changelog                                   |   9 +
 .../156b0be9f13b3427973f1d83a004947225b2d8b6.patch | 191 ----------------
 .../69abe830e6069ec2139783392e8d3a73fb7e6baf.patch | 220 ------------------
 .../85c8d0d85c73bbd3508d4e348226dcbcfec1402e.patch |  46 ----
 .../882d0cdd43d39bec7328be79c9da73a04c597ec7.patch |  98 --------
 .../fc4446f6027cc0d0e75e634f572b50b88588b57d.patch | 253 ---------------------
 debian/patches/filesys_error_message.patch         |   2 +-
 debian/patches/more_maxpathlen.patch               |   2 +-
 debian/patches/series                              |   5 -
 locale/az/BOINC-Setup.mo                           | Bin 3046 -> 0 bytes
 10 files changed, 11 insertions(+), 815 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 82f4638..a54aac3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+boinc (7.6.23+dfsg-1) unstable; urgency=medium
+
+  * Upload to unstable
+  * New upstream release (Closes: #811947)
+  * Drop all patches from Preston: upstream.
+  * Patch refresh.
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Mon, 08 Feb 2016 20:00:48 +0100
+
 boinc (7.6.22+dfsg-3exp1) experimental; urgency=medium
 
   * Upload to experimental again, with the boinc-server-* packages.
diff --git a/debian/patches/156b0be9f13b3427973f1d83a004947225b2d8b6.patch b/debian/patches/156b0be9f13b3427973f1d83a004947225b2d8b6.patch
deleted file mode 100644
index 56c2f09..0000000
--- a/debian/patches/156b0be9f13b3427973f1d83a004947225b2d8b6.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 156b0be9f13b3427973f1d83a004947225b2d8b6 Mon Sep 17 00:00:00 2001
-From: Preston Maness <aggroskater at gmail.com>
-Date: Wed, 16 Dec 2015 10:45:57 -0600
-Subject: [PATCH] client (Linux): Reinstate XScreenSaver API-based idle
- detection on GNU/Linux.
-
----
- client/hostinfo_unix.cpp | 68 +++++++++++++++++++++++++++++++++++++++++++++++-
- configure.ac             | 20 ++++++++++++++
- lib/prefs.cpp            |  2 +-
- lib/prefs.h              |  6 ++++-
- 4 files changed, 93 insertions(+), 3 deletions(-)
-
-diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
-index 617f824..c059895 100644
---- a/client/hostinfo_unix.cpp
-+++ b/client/hostinfo_unix.cpp
-@@ -41,6 +41,10 @@
- #include <cstring>
- #endif
- 
-+#if HAVE_XSS
-+#include <X11/extensions/scrnsaver.h> //X-based idle detection
-+#endif
-+
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
-@@ -1947,6 +1951,62 @@ bool interrupts_idle(time_t t) {
-     }
-     return last_irq < t;
- }
-+
-+#if HAVE_XSS
-+// Ask the X server for user idle time (using XScreenSaver API)
-+// Return true if the idle time exceeds idle_threshold.
-+//
-+bool xss_idle(long idle_threshold) {
-+    static XScreenSaverInfo* xssInfo = NULL;
-+    static Display* disp = NULL;
-+    static bool error = false;
-+        // some X call failed - always return not idle
-+    
-+    if (error) return false;
-+
-+    long idle_time = 0;
-+    
-+    if (disp == NULL) {
-+        disp = XOpenDisplay(NULL);
-+        // XOpenDisplay may return NULL if there is no running X
-+        // or DISPLAY points to wrong/invalid display
-+        //
-+        if (disp == NULL) {
-+            error = true;
-+            //msg_printf(NULL, MSG_INFO, "XDisplay not found.");
-+            return false;
-+        }
-+        int event_base_return, error_base_return;
-+        xssInfo = XScreenSaverAllocInfo();
-+        if (!XScreenSaverQueryExtension(
-+            disp, &event_base_return, &error_base_return
-+        )){
-+            error = true;
-+            //msg_printf(NULL, MSG_INFO, "XScreenSaverQueryExtension() failed.");
-+            return false;
-+        }
-+    }
-+
-+    XScreenSaverQueryInfo(disp, DefaultRootWindow(disp), xssInfo);
-+    idle_time = xssInfo->idle;
-+
-+    // convert from milliseconds to seconds
-+    //
-+    idle_time = idle_time / 1000;
-+
-+    //msg_printf(NULL, MSG_INFO, "XSS idle detection succeeded.");
-+    //msg_printf(NULL, MSG_INFO, "idle threshold: %ld", idle_threshold);
-+    //msg_printf(NULL, MSG_INFO, "idle_time: %ld", idle_time);
-+
-+    if ( idle_threshold < idle_time ) {
-+        //msg_printf(NULL, MSG_INFO, "System is idle according to X.");
-+    } else {
-+        //msg_printf(NULL, MSG_INFO, "System is active according to X.");
-+    }
-+    return idle_threshold < idle_time;
-+}
-+#endif // HAVE_XSS
-+
- #endif // LINUX_LIKE_SYSTEM
- 
- bool HOST_INFO::users_idle(bool check_all_logins, double idle_time_to_run) {
-@@ -1972,6 +2032,12 @@ bool HOST_INFO::users_idle(bool check_all_logins, double idle_time_to_run) {
-         return false;
-     }
- 
-+#if HAVE_XSS
-+    if (!xss_idle((long)(idle_time_to_run * 60))) {
-+        return false;
-+    }
-+#endif // HAVE_XSS
-+
-     // Lets at least check the dev entries which should be correct for
-     // USB keyboards and mice.  If the linux kernel doc is correct it should
-     // also work for bluetooth input devices as well.
-@@ -1990,7 +2056,7 @@ bool HOST_INFO::users_idle(bool check_all_logins, double idle_time_to_run) {
-     if (!device_idle(idle_time, "/dev/input/mice")) return false;
-     if (!device_idle(idle_time, "/dev/kbd")) return false;
-         // solaris
--#endif
-+#endif // LINUX_LIKE_SYSTEM
-     return true;
- }
- 
-diff --git a/configure.ac b/configure.ac
-index 792c6fb..919fd46 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -200,6 +200,7 @@ configured_to_build=
- 
- if test x$enable_client = xyes ; then
-   configured_to_build="client"
-+  enable_xss="yes"
- fi
- if test x$enable_manager = xyes ; then
-   configured_to_build="${configured_to_build} manager"
-@@ -628,6 +629,15 @@ fi
- 
- AM_CONDITIONAL(BUILD_GRAPHICS_API, [ test "$have_glut" = yes -a "$have_jpeg" = 1])
- 
-+dnl check for X screen saver lib (X-based idle detection on Linux)
-+if test "$enable_xss" == yes; then
-+    AC_CHECK_LIB([Xss], [XScreenSaverAllocInfo], [have_Xss="yes"], [have_Xss="no"])
-+    AC_CHECK_HEADER([X11/extensions/scrnsaver.h], [have_Xss="yes"], [have_Xss="no"])
-+    if test "$have_Xss" == no; then
-+        AC_MSG_WARN([libxss missing, disabling X ScreenSaver user idle detection])
-+    fi
-+fi
-+
- dnl --------------------------------------------------------------------------------
- dnl put double-inclusion protection into config.h
- AH_TOP([
-@@ -1194,6 +1204,16 @@ if test "${ac_cv_func_res_init}" != "yes" ; then
- fi
- LIBS=$svlibs
- 
-+if (test "$enable_xss" == yes) && (test "$have_Xss" == yes); then
-+    SAH_CHECK_LIB([Xss],[XScreenSaverAllocInfo],[
-+        AC_DEFINE([HAVE_XSS],[1],[Define to 1 if you have xss library])
-+        CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
-+    SAH_CHECK_LIB([X11],[XOpenDisplay],[
-+        AC_DEFINE([HAVE_X11],[1],[Define to 1 if you have X11 library])
-+        CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
-+    echo DEBUG: CLIENTLIBS=${CLIENTLIBS} >&5
-+fi
-+
- SAH_CHECK_LIB([resolv],[res_query],[
-     AC_DEFINE([HAVE_RESOLV],[1],[Define to 1 if you have the resolv library])
-     CLIENTLIBS="${sah_lib_last} ${CLIENTLIBS}"])
-diff --git a/lib/prefs.cpp b/lib/prefs.cpp
-index 3a8267e..9bd4160 100644
---- a/lib/prefs.cpp
-+++ b/lib/prefs.cpp
-@@ -149,7 +149,7 @@ bool TIME_SPAN::suspended(double hour) const {
- 
- TIME_SPAN::TimeMode TIME_SPAN::mode() const {
-     if (end_hour == start_hour || (start_hour == 0 && end_hour == 24)) {
--        return Always;
-+        return Always2;
-     } else if (start_hour == 24 && end_hour == 0) {
-         return Never;
-     }
-diff --git a/lib/prefs.h b/lib/prefs.h
-index ebbe3cc..da81ea7 100644
---- a/lib/prefs.h
-+++ b/lib/prefs.h
-@@ -89,7 +89,11 @@ struct TIME_SPAN {
-     double end_hour;
- 
-     enum TimeMode {
--        Always = 7000,
-+        // "Always" is defined by X.h, which itself is (indirectly) included
-+        // from client/hostinfo_unix.cpp when including the XSS API
-+        // (<X11/extensions/scrnsaver.h>). Hence, renaming here (and in
-+        // prefs.cpp).
-+        Always2 = 7000,
-         Never,
-         Between
-     };
diff --git a/debian/patches/69abe830e6069ec2139783392e8d3a73fb7e6baf.patch b/debian/patches/69abe830e6069ec2139783392e8d3a73fb7e6baf.patch
deleted file mode 100644
index 1e854ec..0000000
--- a/debian/patches/69abe830e6069ec2139783392e8d3a73fb7e6baf.patch
+++ /dev/null
@@ -1,220 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 69abe830e6069ec2139783392e8d3a73fb7e6baf Mon Sep 17 00:00:00 2001
-From: Preston Maness <aggroskater at gmail.com>
-Date: Tue, 29 Dec 2015 20:59:23 -0600
-Subject: [PATCH] Revamped the idle detection after pouring over documentation.
- This new code should be able to handle all local Xservers as they come and
- go. Issue with permitting access to Xservers from boinc user resolved (see
- comments; package managers may include appropriate file in
- /etc/X11/Xsession.d/, otherwise boinc ignores inaccessible DISPLAYs). Pushing
- for CI checks. Not finished though. This commit has generic debug output that
- would clutter the event log. I want to add a debug flag and only dump this
- (noisy, once-per-second) output if the user explicitly asks for it via
- configuration file.
-
----
- client/hostinfo_unix.cpp | 164 +++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 129 insertions(+), 35 deletions(-)
-
-diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
-index 5adc50e..1e20ad6 100644
---- a/client/hostinfo_unix.cpp
-+++ b/client/hostinfo_unix.cpp
-@@ -46,6 +46,8 @@
- // prevents naming collision between X.h define of Always and boinc's
- // lib/prefs.h definition in an enum.
- #undef Always
-+#include <dirent.h> //for opening /tmp/.X11-unix/
-+// (There is a DirScanner class in BOINC, but it doesn't do what we want)
- #endif
- 
- #include <cstdio>
-@@ -1956,59 +1958,151 @@ bool interrupts_idle(time_t t) {
- }
- 
- #if HAVE_XSS
--// Ask the X server for user idle time (using XScreenSaver API)
--// Return true if the idle time exceeds idle_threshold.
-+
-+// Initializer for const vector<string> in xss_idle
- //
-+const vector<string> X_display_values_initialize() {
-+
-+  /* According to "man Xserver", each local Xserver will have a socket file
-+   * at /tmp/.X11-unix/Xn, where "n" is the display number (0, 1, 2, etc).
-+   * We will parse this directory for currently open Xservers and attempt
-+   * to ultimately query them for their idle time. If we can't open this
-+   * directory, or the display_values vector is otherwise empty, then a
-+   * static list of guesses for open display servers is utilized instead
-+   * (DISPLAY values ":{0..6}") that will attempt connections to the first
-+   * seven open Xservers.
-+   *
-+   * If we were unable to open _any_ Xserver, then we will log this and
-+   * xss_idle returns true, effectively leaving idle detection up to other
-+   * methods.
-+   */
-+  static const string dir = "/tmp/.X11-unix/";
-+  vector<string> display_values;
-+  vector<string>::iterator it;
-+
-+  DIR *dp;
-+  struct dirent *dirp;
-+  if((dp = opendir(dir.c_str())) == NULL) {
-+    msg_printf(NULL, MSG_INFO, "Error (%d) opening %s.", errno, dir.c_str());
-+  }
-+
-+  while ((dirp = readdir(dp)) != NULL) {
-+    display_values.push_back(string(dirp->d_name));
-+  }
-+  closedir(dp);
-+
-+  // Get rid of non-matching elements and format the matching ones.
-+  for ( it = display_values.begin() ; it != display_values.end() ; ) {
-+    if ( it->c_str()[0] != 'X' ) {
-+      it = display_values.erase(it);
-+    }
-+    else {
-+      replace(it->begin(), it->end(), 'X', ':');
-+      it++;
-+    }
-+
-+  }
-+
-+  // if the display_values vector is empty, assume something went wrong
-+  // (couldn't open directory, no apparent Xn files). Test a static list of
-+  // DISPLAY values instead that is likely to catch most common use cases.
-+  // (I don't know of many environments where there will simultaneously be
-+  // more than seven active, local Xservers. I'm sure they exist... somewhere.
-+  // But seven was the magic number for me).
-+  if ( display_values.size() == 0 ) {
-+    display_values.push_back(":0");
-+    display_values.push_back(":1");
-+    display_values.push_back(":2");
-+    display_values.push_back(":3");
-+    display_values.push_back(":4");
-+    display_values.push_back(":5");
-+    display_values.push_back(":6");
-+    return display_values;
-+  }
-+  else {
-+    return display_values;
-+  }
-+}
-+
-+/* Ask the X server for user idle time (using XScreenSaver API)
-+ * Return true if the idle time exceeds idle_threshold for all accessible
-+ * Xservers. However, if even one Xserver reports busy/non-idle, then
-+ * return false. This function assumes that the boinc user has been
-+ * granted access to the Xservers a la "xhost +SI:localuser:boinc". If
-+ * access isn't available for an Xserver, then that Xserver is skipped.
-+ * One may drop a file in /etc/X11/Xsession.d/ that runs the xhost command
-+ * for all Xservers on a machine when the Xservers start up.
-+ */
- bool xss_idle(long idle_threshold) {
--    static XScreenSaverInfo* xssInfo = NULL;
--    static Display* disp = NULL;
--    // if an X-related error occurs, set this to true and always
--    // report that we are idle (have xss_idle return true). Will report the
--    // failure in Event Log for user visibility.
--    static bool error = false;
--    
--    if (error) return true;
- 
-+  const vector<string> display_values = X_display_values_initialize();
-+  vector<string>::const_iterator it;
-+
-+  static XScreenSaverInfo* xssInfo = XScreenSaverAllocInfo();
-+  // This shouldn't fail. XScreenSaverAllocInfo just returns a small
-+  // struct (see "man 3 xss"). If we can't allocate this, then we've
-+  // got bigger problems to worry about.
-+  if ( xssInfo == NULL ) {
-+    msg_printf(NULL, MSG_INFO,
-+      "XScreenSaverAllocInfo failed. Out of memory? Skipping XScreenSaver idle detection.");
-+    return true;
-+  }
-+
-+  for (it = display_values.begin() ; it != display_values.end() ; it++) {
-+
-+    Display* disp = NULL;
-     long idle_time = 0;
-     
-+    disp = XOpenDisplay(it->c_str());
-+    // XOpenDisplay may return NULL if there is no running X
-+    // or DISPLAY points to wrong/invalid display
-     if (disp == NULL) {
--        disp = XOpenDisplay(NULL);
--        // XOpenDisplay may return NULL if there is no running X
--        // or DISPLAY points to wrong/invalid display
--        //
--        if (disp == NULL) {
--            error = true;
--            msg_printf(NULL, MSG_INFO, "XDisplay not found. X-based idle detection disabled.");
--            return true;
--        }
--        int event_base_return, error_base_return;
--        xssInfo = XScreenSaverAllocInfo();
--        if (!XScreenSaverQueryExtension(
--            disp, &event_base_return, &error_base_return
--        )){
--            error = true;
--            msg_printf(NULL, MSG_INFO, "XScreenSaverQueryExtension() failed. X-based idle detection disabled.");
--            return true;
--        }
-+      msg_printf(NULL, MSG_INFO, 
-+      "DISPLAY '%s' not found or insufficient access.",
-+      it->c_str());
-+      continue;
-     }
- 
-+    // Determine if the DISPLAY we have accessed has the XScreenSaver
-+    // extension or not.
-+    int event_base_return, error_base_return;
-+    if (!XScreenSaverQueryExtension(
-+      disp, &event_base_return, &error_base_return
-+    )){
-+      msg_printf(NULL, MSG_INFO,
-+        "XScreenSaver extension not available for DISPLAY '%s'.",
-+        it->c_str());
-+      continue;
-+    }
-+
-+    // All checks passed. Get the idle information.
-     XScreenSaverQueryInfo(disp, DefaultRootWindow(disp), xssInfo);
-     idle_time = xssInfo->idle;
- 
-     // convert from milliseconds to seconds
--    //
-     idle_time = idle_time / 1000;
- 
--    //msg_printf(NULL, MSG_INFO, "XSS idle detection succeeded.");
--    //msg_printf(NULL, MSG_INFO, "idle threshold: %ld", idle_threshold);
--    //msg_printf(NULL, MSG_INFO, "idle_time: %ld", idle_time);
-+    msg_printf(NULL, MSG_INFO, "XSS idle detection succeeded on DISPLAY '%s'.", it->c_str());
-+    msg_printf(NULL, MSG_INFO, "idle threshold: %ld", idle_threshold);
-+    msg_printf(NULL, MSG_INFO, "idle_time: %ld", idle_time);
- 
-     if ( idle_threshold < idle_time ) {
--        //msg_printf(NULL, MSG_INFO, "System is idle according to X.");
-+      msg_printf(NULL, MSG_INFO, "DISPLAY '%s' is idle.", it->c_str());
-     } else {
--        //msg_printf(NULL, MSG_INFO, "System is active according to X.");
-+      msg_printf(NULL, MSG_INFO, "DISPLAY '%s' is active.", it->c_str());
-+      return false;
-     }
--    return idle_threshold < idle_time;
-+
-+  }
-+
-+  /* We should only ever get here if all Xservers (that were queryable) were
-+   * idle. If none of the Xservers were queryable, we should still end up here,
-+   * and simply report true. In that case, the xss_idle function effectively
-+   * provides no information on the idle state of the system, as no Xservers
-+   * were accessible to interrogate.
-+   */
-+  return true;
-+
- }
- #endif // HAVE_XSS
- 
diff --git a/debian/patches/85c8d0d85c73bbd3508d4e348226dcbcfec1402e.patch b/debian/patches/85c8d0d85c73bbd3508d4e348226dcbcfec1402e.patch
deleted file mode 100644
index de1d7e3..0000000
--- a/debian/patches/85c8d0d85c73bbd3508d4e348226dcbcfec1402e.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 85c8d0d85c73bbd3508d4e348226dcbcfec1402e Mon Sep 17 00:00:00 2001
-From: Preston Maness <aggroskater at gmail.com>
-Date: Tue, 26 Jan 2016 23:24:36 -0600
-Subject: [PATCH] XSS Idle Detection Bugfix (XCloseDisplay)
-
-Apologies. My initial code didn't close the connections to the X
-displays after opening them. I had thought that falling out of scope
-would close the connection automatically. However, thanks to a bug
-report by Dan Merillat that I was able to replicate, I now know better:
-
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=812835
-
-This simple adjustment closes the connection to the display (if a
-connection succeeded in the first place; if XOpenDisplay() failed, it
-returns NULL and there is no connection). Testing on my end shows that
-this resolves the issue of the boinc client piling up new connections to
-X servers.
----
- client/hostinfo_unix.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
-index a1fc652..297831d 100644
---- a/client/hostinfo_unix.cpp
-+++ b/client/hostinfo_unix.cpp
-@@ -2090,6 +2090,7 @@ bool xss_idle(long idle_threshold) {
- 	  "[idle_detection] XScreenSaver extension not available for DISPLAY '%s'.",
- 	  it->c_str());
-       }
-+      XCloseDisplay(disp);
-       continue;
-     }
- 
-@@ -2098,6 +2099,9 @@ bool xss_idle(long idle_threshold) {
-     XScreenSaverQueryInfo(disp, DefaultRootWindow(disp), xssInfo);
-     idle_time = xssInfo->idle;
- 
-+    // Close the connection to the XServer
-+    XCloseDisplay(disp);
-+
-     // convert from milliseconds to seconds
-     idle_time = idle_time / 1000;
- 
diff --git a/debian/patches/882d0cdd43d39bec7328be79c9da73a04c597ec7.patch b/debian/patches/882d0cdd43d39bec7328be79c9da73a04c597ec7.patch
deleted file mode 100644
index 4f40cf1..0000000
--- a/debian/patches/882d0cdd43d39bec7328be79c9da73a04c597ec7.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From 882d0cdd43d39bec7328be79c9da73a04c597ec7 Mon Sep 17 00:00:00 2001
-From: Preston Maness <aggroskater at gmail.com>
-Date: Fri, 18 Dec 2015 09:56:24 -0600
-Subject: [PATCH] Adjusting the failure behaviour of xss_idle to report idle
- rather than busy, and send a message to the Event Log that X-based idle
- detection is disabled. Also changed how to handle the 'Always' definition
- conflict with X.h.
-
----
- client/hostinfo_unix.cpp | 17 +++++++++++------
- lib/prefs.cpp            |  2 +-
- lib/prefs.h              |  6 +-----
- 3 files changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
-index c059895..5adc50e 100644
---- a/client/hostinfo_unix.cpp
-+++ b/client/hostinfo_unix.cpp
-@@ -43,6 +43,9 @@
- 
- #if HAVE_XSS
- #include <X11/extensions/scrnsaver.h> //X-based idle detection
-+// prevents naming collision between X.h define of Always and boinc's
-+// lib/prefs.h definition in an enum.
-+#undef Always
- #endif
- 
- #include <cstdio>
-@@ -1959,10 +1962,12 @@ bool interrupts_idle(time_t t) {
- bool xss_idle(long idle_threshold) {
-     static XScreenSaverInfo* xssInfo = NULL;
-     static Display* disp = NULL;
-+    // if an X-related error occurs, set this to true and always
-+    // report that we are idle (have xss_idle return true). Will report the
-+    // failure in Event Log for user visibility.
-     static bool error = false;
--        // some X call failed - always return not idle
-     
--    if (error) return false;
-+    if (error) return true;
- 
-     long idle_time = 0;
-     
-@@ -1973,8 +1978,8 @@ bool xss_idle(long idle_threshold) {
-         //
-         if (disp == NULL) {
-             error = true;
--            //msg_printf(NULL, MSG_INFO, "XDisplay not found.");
--            return false;
-+            msg_printf(NULL, MSG_INFO, "XDisplay not found. X-based idle detection disabled.");
-+            return true;
-         }
-         int event_base_return, error_base_return;
-         xssInfo = XScreenSaverAllocInfo();
-@@ -1982,8 +1987,8 @@ bool xss_idle(long idle_threshold) {
-             disp, &event_base_return, &error_base_return
-         )){
-             error = true;
--            //msg_printf(NULL, MSG_INFO, "XScreenSaverQueryExtension() failed.");
--            return false;
-+            msg_printf(NULL, MSG_INFO, "XScreenSaverQueryExtension() failed. X-based idle detection disabled.");
-+            return true;
-         }
-     }
- 
-diff --git a/lib/prefs.cpp b/lib/prefs.cpp
-index 9bd4160..3a8267e 100644
---- a/lib/prefs.cpp
-+++ b/lib/prefs.cpp
-@@ -149,7 +149,7 @@ bool TIME_SPAN::suspended(double hour) const {
- 
- TIME_SPAN::TimeMode TIME_SPAN::mode() const {
-     if (end_hour == start_hour || (start_hour == 0 && end_hour == 24)) {
--        return Always2;
-+        return Always;
-     } else if (start_hour == 24 && end_hour == 0) {
-         return Never;
-     }
-diff --git a/lib/prefs.h b/lib/prefs.h
-index da81ea7..ebbe3cc 100644
---- a/lib/prefs.h
-+++ b/lib/prefs.h
-@@ -89,11 +89,7 @@ struct TIME_SPAN {
-     double end_hour;
- 
-     enum TimeMode {
--        // "Always" is defined by X.h, which itself is (indirectly) included
--        // from client/hostinfo_unix.cpp when including the XSS API
--        // (<X11/extensions/scrnsaver.h>). Hence, renaming here (and in
--        // prefs.cpp).
--        Always2 = 7000,
-+        Always = 7000,
-         Never,
-         Between
-     };
diff --git a/debian/patches/fc4446f6027cc0d0e75e634f572b50b88588b57d.patch b/debian/patches/fc4446f6027cc0d0e75e634f572b50b88588b57d.patch
deleted file mode 100644
index f0b621a..0000000
--- a/debian/patches/fc4446f6027cc0d0e75e634f572b50b88588b57d.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-## Description: add some description
-## Origin/Author: add some origin or author
-## Bug: bug URL
-From fc4446f6027cc0d0e75e634f572b50b88588b57d Mon Sep 17 00:00:00 2001
-From: Preston Maness <aggroskater at gmail.com>
-Date: Wed, 30 Dec 2015 17:03:35 -0600
-Subject: [PATCH] Reinstate and Improve XScreenSaver Idle Detection
-
-The set of commits on this pull request:
-
-https://github.com/BOINC/boinc/pull/1453
-
-first reinstated previously existing code to utilize the XScreenSaver
-(XSS) X extension when determining a system's idle state (there was
-also additional DPMS code that was not reinstated).
-
-Original removal:
-
-https://github.com/BOINC/boinc/commit/bfae1032e5c1ac73f2d8d92f222293d8383a6cee
-
-The code would attempt to open a connection to the display at the client
-binary's DISPLAY environment variable and, if unable to connect, always
-report busy (undesirable).
-
-The original motivation for reinstating this code was that the remaining
-idle detection mechanisms did not detect mouse or keyboard movement if
-an Xserver was responsible for them. Only activities in terminals were
-detected. Through the course of extending and improving this code, the
-following changes have been made:
-
-  * As per "man Xserver", each local Xserver should have a socket file
-    at standard location /tmp/.X11-unix/ with standard naming scheme
-"Xn", where n is the number of the DISPLAY. This code will open this
-directory and parse its contents for open DISPLAYs, adding them to a
-vector for later interrogation of idle time by xss_idle. If no DISPLAYs
-were found, a static guess-list from DISPLAY :0 to DISPLAY :6 is set and
-interrogated.
-  * xss_idle uses the XScreenSaver X extension's API, as documented at
-    "man 3 xss". Certain checks are performed to determine if the X
-server is accessible, and if so, whether it has the XScreenSaver
-extension. If it does, then we obtain information on the DISPLAY's idle
-time and determine whether the Xserver is idle or not.
-  * The user running the boinc client (typically the "boinc" user for
-    most distributions), must have access to the Xserver for XSS idle
-detection to work. Dropping an appropriate file in /etc/X11/Xsession.d/
-(Debian flavours) or /etc/X11/xinit/xinitrc.d/ (Fedora and others)
-should permit Xservers to run something like "xhost +SI:localuser:boinc"
-on start. If the boinc client cannot access an Xserver/DISPLAY, it
-simply skips it and treats it as though it is idle. If no DISPLAY is
-accessible, then xss_idle is effectively passed through --xss_idle will
-report the system as idle-- and idle detection is left to other
-mechanisms.
-  * A debug logging flag "idle_detection_debug" was added. If this
-    flag is defined in the cc_config.xml file as "1", then verbose
-debugging information related to boinc's idle detection determinations is
-provided to the Event Log. This logging flag may also be utilized
-by other components of idle detection as/if needed/desired.
----
- client/hostinfo_unix.cpp | 64 ++++++++++++++++++++++++++++++++++++------------
- client/log_flags.cpp     |  1 +
- lib/cc_config.cpp        |  3 +++
- lib/cc_config.h          |  2 ++
- 4 files changed, 55 insertions(+), 15 deletions(-)
-
-diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
-index 1e20ad6..a1fc652 100644
---- a/client/hostinfo_unix.cpp
-+++ b/client/hostinfo_unix.cpp
-@@ -47,7 +47,8 @@
- // lib/prefs.h definition in an enum.
- #undef Always
- #include <dirent.h> //for opening /tmp/.X11-unix/
--// (There is a DirScanner class in BOINC, but it doesn't do what we want)
-+  // (There is a DirScanner class in BOINC, but it doesn't do what we want)
-+#include "log_flags.h" // idle_detection_debug flag for verbose output
- #endif
- 
- #include <cstdio>
-@@ -1983,7 +1984,10 @@ const vector<string> X_display_values_initialize() {
-   DIR *dp;
-   struct dirent *dirp;
-   if((dp = opendir(dir.c_str())) == NULL) {
--    msg_printf(NULL, MSG_INFO, "Error (%d) opening %s.", errno, dir.c_str());
-+    if ( log_flags.idle_detection_debug ) {
-+      msg_printf(NULL, MSG_INFO, 
-+        "[idle_detection] Error (%d) opening %s.", errno, dir.c_str());
-+    }
-   }
- 
-   while ((dirp = readdir(dp)) != NULL) {
-@@ -2010,6 +2014,12 @@ const vector<string> X_display_values_initialize() {
-   // more than seven active, local Xservers. I'm sure they exist... somewhere.
-   // But seven was the magic number for me).
-   if ( display_values.size() == 0 ) {
-+    if ( log_flags.idle_detection_debug ) {
-+      msg_printf(NULL, MSG_INFO,
-+        "[idle_detection] No DISPLAY values found in /tmp/.X11-unix/.");
-+      msg_printf(NULL, MSG_INFO,
-+        "[idle_detection] Using static DISPLAY list, :{0..6}.");
-+    }
-     display_values.push_back(":0");
-     display_values.push_back(":1");
-     display_values.push_back(":2");
-@@ -2037,14 +2047,18 @@ bool xss_idle(long idle_threshold) {
- 
-   const vector<string> display_values = X_display_values_initialize();
-   vector<string>::const_iterator it;
-+  // If we can connect to at least one DISPLAY, this is set to false.
-+  bool no_available_x_display = true;
- 
-   static XScreenSaverInfo* xssInfo = XScreenSaverAllocInfo();
-   // This shouldn't fail. XScreenSaverAllocInfo just returns a small
-   // struct (see "man 3 xss"). If we can't allocate this, then we've
-   // got bigger problems to worry about.
-   if ( xssInfo == NULL ) {
--    msg_printf(NULL, MSG_INFO,
--      "XScreenSaverAllocInfo failed. Out of memory? Skipping XScreenSaver idle detection.");
-+    if ( log_flags.idle_detection_debug ) {
-+      msg_printf(NULL, MSG_INFO,
-+        "[idle_detection] XScreenSaverAllocInfo failed. Out of memory? Skipping XScreenSaver idle detection.");
-+    }
-     return true;
-   }
- 
-@@ -2057,9 +2071,11 @@ bool xss_idle(long idle_threshold) {
-     // XOpenDisplay may return NULL if there is no running X
-     // or DISPLAY points to wrong/invalid display
-     if (disp == NULL) {
--      msg_printf(NULL, MSG_INFO, 
--      "DISPLAY '%s' not found or insufficient access.",
--      it->c_str());
-+      if ( log_flags.idle_detection_debug ) {
-+	msg_printf(NULL, MSG_INFO, 
-+	"[idle_detection] DISPLAY '%s' not found or insufficient access.",
-+	it->c_str());
-+      }
-       continue;
-     }
- 
-@@ -2069,27 +2085,41 @@ bool xss_idle(long idle_threshold) {
-     if (!XScreenSaverQueryExtension(
-       disp, &event_base_return, &error_base_return
-     )){
--      msg_printf(NULL, MSG_INFO,
--        "XScreenSaver extension not available for DISPLAY '%s'.",
--        it->c_str());
-+      if ( log_flags.idle_detection_debug ) {
-+	msg_printf(NULL, MSG_INFO,
-+	  "[idle_detection] XScreenSaver extension not available for DISPLAY '%s'.",
-+	  it->c_str());
-+      }
-       continue;
-     }
- 
-     // All checks passed. Get the idle information.
-+    no_available_x_display = false;
-     XScreenSaverQueryInfo(disp, DefaultRootWindow(disp), xssInfo);
-     idle_time = xssInfo->idle;
- 
-     // convert from milliseconds to seconds
-     idle_time = idle_time / 1000;
- 
--    msg_printf(NULL, MSG_INFO, "XSS idle detection succeeded on DISPLAY '%s'.", it->c_str());
--    msg_printf(NULL, MSG_INFO, "idle threshold: %ld", idle_threshold);
--    msg_printf(NULL, MSG_INFO, "idle_time: %ld", idle_time);
-+    if ( log_flags.idle_detection_debug ) {
-+      msg_printf(NULL, MSG_INFO, 
-+        "[idle_detection] XSS idle detection succeeded on DISPLAY '%s'.", it->c_str());
-+      msg_printf(NULL, MSG_INFO, 
-+        "[idle_detection] idle threshold: %ld", idle_threshold);
-+      msg_printf(NULL, MSG_INFO,
-+        "[idle_detection] idle_time: %ld", idle_time);
-+    }
- 
-     if ( idle_threshold < idle_time ) {
--      msg_printf(NULL, MSG_INFO, "DISPLAY '%s' is idle.", it->c_str());
-+      if ( log_flags.idle_detection_debug ) {
-+        msg_printf(NULL, MSG_INFO,
-+          "[idle_detection] DISPLAY '%s' is idle.", it->c_str());
-+      }
-     } else {
--      msg_printf(NULL, MSG_INFO, "DISPLAY '%s' is active.", it->c_str());
-+      if ( log_flags.idle_detection_debug ) {
-+        msg_printf(NULL, MSG_INFO,
-+          "[idle_detection] DISPLAY '%s' is active.", it->c_str());
-+      }
-       return false;
-     }
- 
-@@ -2101,6 +2131,10 @@ bool xss_idle(long idle_threshold) {
-    * provides no information on the idle state of the system, as no Xservers
-    * were accessible to interrogate.
-    */
-+  if ( log_flags.idle_detection_debug && no_available_x_display ) {
-+    msg_printf(NULL, MSG_INFO,
-+      "[idle_detection] Could not connect to any DISPLAYs. XSS idle determination impossible.");
-+  }
-   return true;
- 
- }
-diff --git a/client/log_flags.cpp b/client/log_flags.cpp
-index 16002cb..fe5b1c1 100644
---- a/client/log_flags.cpp
-+++ b/client/log_flags.cpp
-@@ -87,6 +87,7 @@ void LOG_FLAGS::show() {
-     show_flag(buf, heartbeat_debug, "heartbeat_debug");
-     show_flag(buf, http_debug, "http_debug");
-     show_flag(buf, http_xfer_debug, "http_xfer_debug");
-+    show_flag(buf, idle_detection_debug, "idle_detection_debug");
-     show_flag(buf, mem_usage_debug, "mem_usage_debug");
-     show_flag(buf, network_status_debug, "network_status_debug");
-     show_flag(buf, notice_debug, "notice_debug");
-diff --git a/lib/cc_config.cpp b/lib/cc_config.cpp
-index 23f78db..dad863f 100644
---- a/lib/cc_config.cpp
-+++ b/lib/cc_config.cpp
-@@ -80,6 +80,7 @@ int LOG_FLAGS::parse(XML_PARSER& xp) {
-         if (xp.parse_bool("heartbeat_debug", heartbeat_debug)) continue;
-         if (xp.parse_bool("http_debug", http_debug)) continue;
-         if (xp.parse_bool("http_xfer_debug", http_xfer_debug)) continue;
-+	if (xp.parse_bool("idle_detection_debug", idle_detection_debug)) continue;
-         if (xp.parse_bool("mem_usage_debug", mem_usage_debug)) continue;
-         if (xp.parse_bool("network_status_debug", network_status_debug)) continue;
-         if (xp.parse_bool("notice_debug", notice_debug)) continue;
-@@ -127,6 +128,7 @@ int LOG_FLAGS::write(MIOFILE& out) {
-         "        <heartbeat_debug>%d</heartbeat_debug>\n"
-         "        <http_debug>%d</http_debug>\n"
-         "        <http_xfer_debug>%d</http_xfer_debug>\n"
-+	"        <idle_detection_debug>%d</idle_detection_debug>\n"
-         "        <mem_usage_debug>%d</mem_usage_debug>\n"
-         "        <network_status_debug>%d</network_status_debug>\n"
-         "        <notice_debug>%d</notice_debug>\n"
-@@ -167,6 +169,7 @@ int LOG_FLAGS::write(MIOFILE& out) {
-         heartbeat_debug ? 1 : 0,
-         http_debug ? 1 : 0,
-         http_xfer_debug ? 1 : 0,
-+	idle_detection_debug ? 1 : 0,
-         mem_usage_debug ? 1 : 0,
-         network_status_debug ? 1 : 0,
-         notice_debug ? 1 : 0,
-diff --git a/lib/cc_config.h b/lib/cc_config.h
-index 29a000f..f9a1f7f 100644
---- a/lib/cc_config.h
-+++ b/lib/cc_config.h
-@@ -83,6 +83,8 @@ struct LOG_FLAGS {
-     bool heartbeat_debug;
-     bool http_debug;
-     bool http_xfer_debug;
-+    bool idle_detection_debug;
-+        // show details leading to idle/not-idle determinations.
-     bool mem_usage_debug;
-         // memory usage
-     bool network_status_debug;
diff --git a/debian/patches/filesys_error_message.patch b/debian/patches/filesys_error_message.patch
index 280758d..1eda2de 100644
--- a/debian/patches/filesys_error_message.patch
+++ b/debian/patches/filesys_error_message.patch
@@ -15,7 +15,7 @@ Description: this patch adds an useful error message in case of dir open failure
  #endif
      return dirp;
  }
-@@ -624,7 +629,7 @@ static int boinc_rename_aux(const char*
+@@ -634,7 +639,7 @@ static int boinc_rename_aux(const char*
      //
      int retval = rename(old, newf);
      if (retval) {
diff --git a/debian/patches/more_maxpathlen.patch b/debian/patches/more_maxpathlen.patch
index db132b5..989c6ef 100644
--- a/debian/patches/more_maxpathlen.patch
+++ b/debian/patches/more_maxpathlen.patch
@@ -41,7 +41,7 @@ Description: use MAXPATHLEN and change sprintf to snprintf
      return system(cmd);
  #else
      // POSIX requires that shells run from an application will use the 
-@@ -709,7 +709,7 @@
+@@ -719,7 +719,7 @@
          p = strchr(q, '/');
          if (!p) break;
          *p = 0;
diff --git a/debian/patches/series b/debian/patches/series
index 4d1e05a..dee3e12 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -29,8 +29,3 @@ file_upload_handler_in_sched_linking.patch
 disable_silent_rules.patch
 envargs.patch
 fix-underlinking.patch
-156b0be9f13b3427973f1d83a004947225b2d8b6.patch
-882d0cdd43d39bec7328be79c9da73a04c597ec7.patch
-69abe830e6069ec2139783392e8d3a73fb7e6baf.patch
-fc4446f6027cc0d0e75e634f572b50b88588b57d.patch
-85c8d0d85c73bbd3508d4e348226dcbcfec1402e.patch
diff --git a/locale/az/BOINC-Setup.mo b/locale/az/BOINC-Setup.mo
deleted file mode 100644
index 191a4c3..0000000
Binary files a/locale/az/BOINC-Setup.mo and /dev/null differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-boinc/boinc.git



More information about the pkg-boinc-commits mailing list