1
0
forked from pool/boinc-client

Accepting request 520921 from network

fix glibc 2.26 build error

OBS-URL: https://build.opensuse.org/request/show/520921
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/boinc-client?expand=0&rev=36
This commit is contained in:
Dominique Leuenberger 2017-09-05 13:18:44 +00:00 committed by Git OBS Bridge
commit ac31355c00
6 changed files with 103 additions and 33 deletions

View File

@ -2,16 +2,18 @@ From 8416d8a1a423535fbc5d4e7416d6eac8ac5c050b Mon Sep 17 00:00:00 2001
From: Preston Maness <aggroskater@gmail.com>
Date: Tue, 26 Apr 2016 23:06:57 -0500
Subject: [PATCH] Fix #1530 (null pointer dereference)
X-Patch-added-by: Jan Engelhardt <jengelh@inai.de>
X-Patch-added-on: 2016-12-27 21:25:14 +0000
---
client/hostinfo_unix.cpp | 9 +++++----
client/hostinfo_unix.cpp | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/client/hostinfo_unix.cpp b/client/hostinfo_unix.cpp
index 38a0cf5..54f577e 100644
--- a/client/hostinfo_unix.cpp
+++ b/client/hostinfo_unix.cpp
@@ -1989,11 +1989,12 @@ const vector<string> X_display_values_initialize() {
Index: boinc-client_release-7.6-7.6.33/client/hostinfo_unix.cpp
===================================================================
--- boinc-client_release-7.6-7.6.33.orig/client/hostinfo_unix.cpp
+++ boinc-client_release-7.6-7.6.33/client/hostinfo_unix.cpp
@@ -1989,11 +1989,12 @@ const vector<string> X_display_values_in
"[idle_detection] Error (%d) opening %s.", errno, dir.c_str());
}
}
@ -28,6 +30,3 @@ index 38a0cf5..54f577e 100644
// Get rid of non-matching elements and format the matching ones.
for ( it = display_values.begin() ; it != display_values.end() ; ) {
--
2.10.2

View File

@ -1,3 +1,24 @@
-------------------------------------------------------------------
Sat Sep 2 22:12:09 UTC 2017 - jengelh@inai.de
- Remove unnecessary %if..%endif markers that do not affect the
rpmbuild output files.
- Move patch metadata into patch so it stays with the patch.
Add more authorship info.
- Add xlocale.patch to fix build error with glibc-2.26.
- Refresh boinc-guirpcauth.patch, boinc-docbook2x.patch,
0001-Fix-1530-null-pointer-dereference.patch to quilt's default
p1 level.
--------------------------------------------------------------------
Mon Mar 27 10:59:02 UTC 2017 - chris@computersalat.de
- fix deps
* add missing ca-certificates-mozilla
needed in minimal install, e.g. JeOS images,
without - boinc-client will fail to load config from
e.g. www.worldcommunitygrid.org/get_project_config.php
-------------------------------------------------------------------
Sat Feb 25 17:53:03 UTC 2017 - chris@computersalat.de

View File

@ -47,15 +47,10 @@ Source6: boinc-manager
Source10: %{name}.init
Source20: %{name}.service
Source100: %{name}-rpmlintrc
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
# Create password file rw for group, this enables passwordless connection
# of manager from users of the boinc group.
# This won't be probably upstreamed as it might be unsafe for common usage
# without setting proper group ownership of the password file.
Patch0: boinc-guirpcauth.patch
# PATCH-FIX-OPENSUSE boinc-docbook2x.patch
Patch4: boinc-docbook2x.patch
Patch5: 0001-Fix-1530-null-pointer-dereference.patch
Patch1: boinc-guirpcauth.patch
Patch2: boinc-docbook2x.patch
Patch3: 0001-Fix-1530-null-pointer-dereference.patch
Patch4: xlocale.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
BuildRequires: Mesa-devel
@ -76,9 +71,10 @@ BuildRequires: pkg-config
BuildRequires: pwdutils
BuildRequires: sqlite3-devel
BuildRequires: xorg-x11-libXmu-devel
Requires(pre): pwdutils
Requires: ca-certificates-mozilla
Recommends: boinc-client-lang = %{version}
Recommends: logrotate
Requires(pre): pwdutils
#
%if 0%{?suse_version} >= 1310
BuildRequires: libXScrnSaver-devel
@ -120,7 +116,6 @@ computer time to search for cures for diseases, model protein folding, study
global warming, discover sources of gravitational waves, and many other types
of scientific and mathematical research.
%if %{with manager}
%package -n boinc-manager
Summary: GUI to control and monitor boinc-client
Group: Productivity/Scientific/Astronomy
@ -133,7 +128,6 @@ core client. It gives a detailed overview of the state of the client it is
monitoring. The BOINC Manager has two modes of operation, the "Simple View" in
which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available.
%endif
%package devel
Summary: Development files for boinc-client
@ -167,9 +161,7 @@ This package contains documentation files for the BOINC client.
%prep
%setup -q -n %{name}_release-7.6-%{version} -D -a 1
%patch0
%patch4
%patch -P 5 -p1
%patch -P 1 -P 2 -P 3 -P 4 -p1
%build
# Install user hints
@ -377,7 +369,6 @@ fi
%insserv_cleanup
%endif
%if %{with manager}
%post -n boinc-manager
%{_bindir}/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
@ -389,7 +380,6 @@ fi
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%endif
%post -n libboinc%{sonum} -p /sbin/ldconfig

View File

@ -1,8 +1,18 @@
Index: configure.ac
From: (unknown, dates back beyond OBS history start)
X-Upstream: no
In opensuse, the docbook utility is named docbook-to-man instead
of docbook2x-man.
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: boinc-client_release-7.6-7.6.33/configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -333,7 +333,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`])
--- boinc-client_release-7.6-7.6.33.orig/configure.ac
+++ boinc-client_release-7.6-7.6.33/configure.ac
@@ -334,7 +334,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`])
dnl Check for docbook2x-man, which we use to create the manpages in
dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build
dnl the manpages only if docbook2x-man is available.

View File

@ -1,7 +1,20 @@
Index: client/gui_rpc_server.cpp
From: <saigkill@opensuse.org>
Date: 2011-04-28 17:29:54 +0000
X-Upstream: no
Create password file rw for group, this enables passwordless connection
of manager from users of the boinc group. This won't be probably
upstreamed as it might be unsafe for common usage without setting
proper group ownership of the password file.
---
client/gui_rpc_server.cpp | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
Index: boinc-client_release-7.6-7.6.33/client/gui_rpc_server.cpp
===================================================================
--- client/gui_rpc_server.cpp.orig
+++ client/gui_rpc_server.cpp
--- boinc-client_release-7.6-7.6.33.orig/client/gui_rpc_server.cpp
+++ boinc-client_release-7.6-7.6.33/client/gui_rpc_server.cpp
@@ -175,12 +175,7 @@ void GUI_RPC_CONN_SET::get_password() {
// they can cause code to execute as this user.
// So better protect it.

37
xlocale.patch Normal file
View File

@ -0,0 +1,37 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2017-09-03 00:10:38.255132582 +0200
build: use xlocale.h instead of locale.h
glibc-2.26 has dropped xlocale.h.
---
clientgui/AsyncRPC.cpp | 2 +-
lib/gui_rpc_client.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: boinc-client_release-7.6-7.6.33/clientgui/AsyncRPC.cpp
===================================================================
--- boinc-client_release-7.6-7.6.33.orig/clientgui/AsyncRPC.cpp
+++ boinc-client_release-7.6-7.6.33/clientgui/AsyncRPC.cpp
@@ -20,7 +20,7 @@
#endif
#if !(defined(_WIN32) || (defined(__WXMAC__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4)))
-#include <xlocale.h>
+#include <locale.h>
#endif
#include "stdwx.h"
Index: boinc-client_release-7.6-7.6.33/lib/gui_rpc_client.h
===================================================================
--- boinc-client_release-7.6-7.6.33.orig/lib/gui_rpc_client.h
+++ boinc-client_release-7.6-7.6.33/lib/gui_rpc_client.h
@@ -801,7 +801,7 @@ struct RPC {
#elif defined(__APPLE__) && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4)
// uselocale() is not available in OS 10.3.9 so use weak linking
-#include <xlocale.h>
+#include <locale.h>
extern int freelocale(locale_t) __attribute__((weak_import));
extern locale_t newlocale(int, __const char *, locale_t) __attribute__((weak_import));
extern locale_t uselocale(locale_t) __attribute__((weak_import));