[boinc-client] - Update to 7.0a branch - Added boinc-client-X11.patch to workaround a --no-as-needed build issue -
Miloš Jakubíček
mjakubicek at fedoraproject.org
Tue Jul 10 06:31:22 UTC 2012
commit 718b963b3ca2359fa647a795587c8cea14e11006
Author: Milos Jakubicek <xjakub at fi.muni.cz>
Date: Mon Jul 9 20:15:55 2012 +0200
- Update to 7.0a branch
- Added boinc-client-X11.patch to workaround a --no-as-needed build issue
- Added boinc-manager-client-notification.patch to be tell users about how
to setup Boinc on Fedora
- Added backported boinc-client-menu.patch to fix menu display
- Don't use Boinc rotating log files (never deletes them)
- Fix automatic startup of the service
- Fix leaving lockfile after service stop
- Resolve BZ#731669, BZ#814060, BZ#825032, BZ#827912, BZ#829564, BZ#834900,
BZ#838507.
.gitignore | 1 +
boinc-client-X11.patch | 11 +++++
boinc-client-menu.patch | 11 +++++
boinc-client-systemd | 8 +++-
boinc-client.spec | 64 +++++++++++++++++++++----------
boinc-glib-compat.patch | 11 -----
boinc-manager-Makefile.patch | 17 --------
boinc-manager-client-notification.patch | 24 +++++++++++
sources | 2 +-
9 files changed, 97 insertions(+), 52 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ad318ba..564470e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ boinc-6.10.45.tar.xz
/boinc-6.10.58.tar.xz
/boinc-6.12.35.tar.xz
/boinc-6.12.43.tar.xz
+/boinc-7.0.29.tar.xz
diff --git a/boinc-client-X11.patch b/boinc-client-X11.patch
new file mode 100644
index 0000000..d145fd0
--- /dev/null
+++ b/boinc-client-X11.patch
@@ -0,0 +1,11 @@
+--- client/Makefile.am.orig 2012-06-23 11:41:21.035798194 +0200
++++ client/Makefile.am 2012-06-23 11:39:41.197878359 +0200
+@@ -82,7 +82,7 @@
+ if OS_DARWIN
+ boinc_client_LDFLAGS += -Wl,-flat_namespace,-undefined,dynamic_lookup
+ endif
+-boinc_client_LDADD = $(LIBBOINC) $(LIBBOINC_CRYPT) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS)
++boinc_client_LDADD = $(LIBBOINC) $(LIBBOINC_CRYPT) $(BOINC_EXTRA_LIBS) $(PTHREAD_LIBS) -lX11
+
+ boinc_clientdir = $(bindir)
+
diff --git a/boinc-client-menu.patch b/boinc-client-menu.patch
new file mode 100644
index 0000000..1f6903c
--- /dev/null
+++ b/boinc-client-menu.patch
@@ -0,0 +1,11 @@
+--- boinc/clientgui/AdvancedFrame.cpp (revision 25701)
++++ boinc/clientgui/AdvancedFrame.cpp (revision 25702)
+@@ -702,4 +702,8 @@
+ wxMenuBar* m_pOldMenubar = GetMenuBar();
+ SetMenuBar(m_pMenubar);
++#ifdef __WXGTK__
++ // Force a redraw of the menu under Ubuntu's new interface
++ SendSizeEvent();
++#endif
+ #ifdef __WXMAC__
+ m_pMenubar->MacInstallMenuBar();
diff --git a/boinc-client-systemd b/boinc-client-systemd
index c4aa847..5b4b8bf 100644
--- a/boinc-client-systemd
+++ b/boinc-client-systemd
@@ -1,15 +1,19 @@
[Unit]
Description=Berkeley Open Infrastructure Network Computing Client
-After=network.target graphical.target
+After=network.target
[Service]
Nice=10
User=boinc
CPUShares=2
ControlGroup=cpu:/background
+PermissionsStartOnly=yes
ExecStartPre=/bin/sleep 1
-ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio
+ExecStartPre=/usr/bin/touch /var/log/boinc.log /var/log/boincerr.log
+ExecStartPre=/usr/bin/chown boinc:boinc /var/log/boinc.log /var/log/boincerr.log
+ExecStart=/usr/bin/boinc --dir /var/lib/boinc
ExecReload=/usr/bin/boinccmd --read_cc_config
+ExecStopPost=/bin/rm -f /var/lib/boinc/lockfile
[Install]
WantedBy=multi-user.target
diff --git a/boinc-client.spec b/boinc-client.spec
index fe8e7f0..8770449 100644
--- a/boinc-client.spec
+++ b/boinc-client.spec
@@ -1,10 +1,10 @@
-%global revision 25218
-%global version_ 6_12
+%global revision 25790
+%global version_ 7_0a
Summary: The BOINC client core
Name: boinc-client
-Version: 6.12.43
-Release: 2.r%{revision}svn%{?dist}
+Version: 7.0.29
+Release: 1.r%{revision}svn%{?dist}
License: LGPLv2+
Group: Applications/Engineering
URL: http://boinc.berkeley.edu/
@@ -12,7 +12,7 @@ URL: http://boinc.berkeley.edu/
# following commands to generate the tarball:
# svn export http://boinc.berkeley.edu/svn/branches/boinc_core_release_%{version_}
# pushd boinc_core_release_%{version_}
-# patch < boinc-manager-Makefile.patch
+# patch -p0 < boinc-client-X11.patch
# ./_autosetup
# ./trim . Trim all binaries and other unnecessary things.
# popd
@@ -23,17 +23,19 @@ Source2: boinc-client-logrotate-d
Source3: boinc-manager.desktop
Source4: USAGE_FEDORA
Source8: trim
-#Wrong indentation in Makefile.am breaks the build
-#Filed upstream: http://boinc.berkeley.edu/trac/ticket/1132
-Source9: boinc-manager-Makefile.patch
+#Missing direct linking to X11 breaks build due to --no-add-needed
+#Filed upstream: http://boinc.berkeley.edu/trac/ticket/1192
+Source9: boinc-client-X11.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
-# build fix for new glib
-# Filed upstream: http://boinc.berkeley.edu/trac/ticket/1173
-Patch2: boinc-glib-compat.patch
+# Show notification upon failure to client in manager
+Patch1: boinc-manager-client-notification.patch
+# fix client menu display
+# Filed upstream: http://boinc.berkeley.edu/trac/ticket/1130
+Patch2: boinc-client-menu.patch
# build fix for new xcb-util
# Filed upstream: http://boinc.berkeley.edu/trac/ticket/1174
Patch3: boinc-xcb-compat.patch
@@ -61,7 +63,8 @@ BuildRequires: libjpeg-devel
BuildRequires: docbook2X
BuildRequires: xcb-util-devel
BuildRequires: libnotify-devel
-BuildRequires: gtk2-devel
+BuildRequires: gtk2-devel
+BuildRequires: libXScrnSaver-devel
%description
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
@@ -125,6 +128,7 @@ This package contains documentation files for %{name}.
%prep
%setup -q -n boinc_core_release_%{version_}
%patch0
+%patch1 -p1
%patch2 -p1
%patch3 -p1
@@ -166,6 +170,8 @@ sed -i 's/BOINC-Manager\.po/BOINC-Manager\.mo/g' locale/Makefile.in
# Install user hints
install -p -m644 %{SOURCE4} .
+sed -i 's/# CLIENTGUI_SUBDIRS += clientscr/ CLIENTGUI_SUBDIRS += clientscr/' Makefile.in
+
%global confflags --disable-dependency-tracking --enable-dynamic-client-linkage --disable-server --disable-fcgi --enable-unicode --with-ssl --with-x STRIP=: DOCBOOK2X_MAN=/usr/bin/db2x_docbook2man
%if %{defined boinc_platform}
@@ -208,9 +214,15 @@ rm -rf $RPM_BUILD_ROOT%{_bindir}/upper_case
pushd $RPM_BUILD_ROOT%{_bindir}
-# use symlink instead of hardlink
rm boinc
-ln -s boinc_client boinc
+cat > boinc <<EOF
+#!/bin/bash
+# wrapper script that redirects stdout/stderr to correct log paths
+
+# we allow multiple clients so that the client does not think there is another instance running (namely this wrapper)
+%{_bindir}/boinc_client --allow_multiple_clients \$@ >> %{_localstatedir}/log/boinc.log 2>> %{_localstatedir}/log/boincerr.log
+EOF
+chmod a+x boinc
# remove libtool archives
rm $RPM_BUILD_ROOT%{_libdir}/*.la
@@ -238,9 +250,9 @@ install -p -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
# icon
-mv $RPM_BUILD_ROOT%{_datadir}/boinc/boincmgr.16x16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
-mv $RPM_BUILD_ROOT%{_datadir}/boinc/boincmgr.32x32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/boincmgr.png
-mv $RPM_BUILD_ROOT%{_datadir}/boinc/boincmgr.48x48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/boincmgr.png
+cp -p clientgui/res/boincmgr.16x16.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/16x16/apps/boincmgr.png
+cp -p clientgui/res/boincmgr.32x32.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps/boincmgr.png
+cp -p clientgui/res/boincmgr.48x48.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/boincmgr.png
desktop-file-install %{?_remove_encoding} --vendor fedora \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
@@ -252,10 +264,6 @@ desktop-file-install %{?_remove_encoding} --vendor fedora \
# bash-completion
install -Dp -m644 client/scripts/boinc.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/boinc-client
-# create symlinks for logging
-ln -sf /var/log/boinc.log $RPM_BUILD_ROOT%{_localstatedir}/lib/boinc/stdoutdae.txt
-ln -sf /var/log/boincerr.log $RPM_BUILD_ROOT%{_localstatedir}/lib/boinc/stderrdae.txt
-
%clean
rm -rf $RPM_BUILD_ROOT
@@ -348,6 +356,8 @@ fi
%{_libdir}/libboinc_api.a
%{_libdir}/libboinc_crypt.a
%{_libdir}/libboinc_graphics2.a
+%{_libdir}/libboinc_opencl.a
+%{_libdir}/libboinc_zip.a
%files devel
%defattr(-,root,root,-)
@@ -355,6 +365,18 @@ fi
%{_includedir}/boinc
%changelog
+* Mon Jul 09 2012 Miloš Jakubíček <xjakub at fi.muni.cz> - 7.0.29-1.r25790svn
+- Update to 7.0a branch
+- Added boinc-client-X11.patch to workaround a --no-as-needed build issue
+- Added boinc-manager-client-notification.patch to be tell users about how
+ to setup Boinc on Fedora
+- Added backported boinc-client-menu.patch to fix menu display
+- Don't use Boinc rotating log files (never deletes them)
+- Fix automatic startup of the service
+- Fix leaving lockfile after service stop
+- Resolve BZ#731669, BZ#814060, BZ#825032, BZ#827912, BZ#829564, BZ#834900,
+ BZ#838507.
+
* Fri Jun 22 2012 Miloš Jakubíček <xjakub at fi.muni.cz> - 6.12.43-2.r25218svn
- Fixed naming systemd service file
- Fixed logging to /var/log/boinc.log and /var/log/boincerr.log
diff --git a/boinc-manager-client-notification.patch b/boinc-manager-client-notification.patch
new file mode 100644
index 0000000..e1730bc
--- /dev/null
+++ b/boinc-manager-client-notification.patch
@@ -0,0 +1,24 @@
+--- boinc_core_release_7_0a/clientgui/MainDocument.cpp.orig 2012-06-23 14:07:34.000000000 +0200
++++ boinc_core_release_7_0a/clientgui/MainDocument.cpp 2012-06-26 13:28:37.646721157 +0200
+@@ -378,6 +378,21 @@
+ m_bReconnecting = false;
+ m_pDocument->results.clear();
+ }
++ wxDialog *dial = new wxDialog(pFrame, wxID_ANY, wxT("Could not connect to client"));
++ wxBoxSizer *vbox = new wxBoxSizer(wxVERTICAL);
++ wxBoxSizer *hbox = new wxBoxSizer(wxHORIZONTAL);
++ wxButton *closeButton = new wxButton(dial, wxID_OK, wxT("Close"));
++ closeButton->SetFocus();
++ wxHyperlinkCtrl *link = new wxHyperlinkCtrl(dial, wxID_ANY, wxT("How to use Boinc on Fedora"), wxT("http://boinc.berkeley.edu/wiki/Installing_BOINC_on_Fedora"));
++ wxStaticText *text = new wxStaticText(dial, wxID_ANY, wxT("The BOINC manager could not connect to BOINC client. The client might not be running or your are not allowed to connect to it. Please refer to the documentation provided by the link below to learn how to setup the client."), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE);
++ text->Wrap(dial->GetSize().GetWidth() * 0.8);
++ vbox->Add(text, 0, wxALIGN_CENTER, 0);
++ vbox->Add(link, 0, wxALIGN_CENTER | wxTOP, 10);
++ vbox->Add(closeButton, 0, wxALIGN_CENTER | wxTOP, 10);
++ hbox->Add(vbox, 0, wxALL, 20);
++ dial->SetSizerAndFit(hbox);
++ dial->ShowModal();
++ dial->Destroy();
+ }
+
+
diff --git a/sources b/sources
index 08b89d8..3759ecb 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-63e47ac1d44f68192796fa9bf71a1ce7 boinc-6.12.43.tar.xz
+4039373a0ecbbf68eca36f2ef17d3fdb boinc-7.0.29.tar.xz
More information about the scm-commits
mailing list