From 649e8775603e30711bb88a279e19e000cdcc73bc3ad43181a96e1b9805851a81 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sun, 24 Apr 2016 06:46:24 +0000 Subject: [PATCH] Accepting request 391382 from home:aaronpuchert Second try for an update. The compiler errors have now been properly fixed. The main advantage of the new version is that it recognizes GPUs running on Mesa, so people can now use open source drivers with BOINC. The main disadvantage is that this doesn't compile any longer on older distros because of the new wxWidgets 3 needed to build. OBS-URL: https://build.opensuse.org/request/show/391382 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=47 --- _service | 13 + ...url:boinc-client_release-7.6-7.6.22.tar.gz | 3 + boinc-7.2.42.tar.bz2 | 3 - boinc-LC_MESSAGES.patch | 20 - boinc-client-AM_CONDITIONAL.patch | 20 +- boinc-client.changes | 32 ++ boinc-client.spec | 89 +--- boinc-configure.patch | 6 +- boinc-docbook2x.patch | 2 +- boinc-guirpcauth.patch | 2 +- boinc-manager | 2 +- boinc-remove-dead-code.patch | 465 ++++++++++++++++++ boinc-use-wxstring.patch | 141 ++++++ generate-tarball.sh | 29 -- 14 files changed, 681 insertions(+), 146 deletions(-) create mode 100644 _service create mode 100644 _service:download_url:boinc-client_release-7.6-7.6.22.tar.gz delete mode 100644 boinc-7.2.42.tar.bz2 delete mode 100644 boinc-LC_MESSAGES.patch create mode 100644 boinc-remove-dead-code.patch create mode 100644 boinc-use-wxstring.patch delete mode 100644 generate-tarball.sh diff --git a/_service b/_service new file mode 100644 index 0000000..3411f69 --- /dev/null +++ b/_service @@ -0,0 +1,13 @@ + + + github.com + https + /BOINC/boinc/archive/client_release/7.6/7.6.22.tar.gz + boinc-client_release-7.6-7.6.22.tar.gz + + + _service:download_url:boinc-client_release-7.6-7.6.22.tar.gz + sha256 + b5b2b211725bc46399d3504bd6b0b60a9f9506d9f6b5a04d524991f239c16585 + + diff --git a/_service:download_url:boinc-client_release-7.6-7.6.22.tar.gz b/_service:download_url:boinc-client_release-7.6-7.6.22.tar.gz new file mode 100644 index 0000000..d241b63 --- /dev/null +++ b/_service:download_url:boinc-client_release-7.6-7.6.22.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b2b211725bc46399d3504bd6b0b60a9f9506d9f6b5a04d524991f239c16585 +size 44305861 diff --git a/boinc-7.2.42.tar.bz2 b/boinc-7.2.42.tar.bz2 deleted file mode 100644 index bd0a502..0000000 --- a/boinc-7.2.42.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dfff203487f9d030f916891074f978abde6c0d34b3147cfc36e42a5060b8d4b8 -size 40873943 diff --git a/boinc-LC_MESSAGES.patch b/boinc-LC_MESSAGES.patch deleted file mode 100644 index 5716b06..0000000 --- a/boinc-LC_MESSAGES.patch +++ /dev/null @@ -1,20 +0,0 @@ -Index: locale/Makefile.am -=================================================================== ---- locale/Makefile.am.orig -+++ locale/Makefile.am -@@ -45,12 +45,12 @@ locale_dirs = \ - install-data-hook: - mydir=$(DESTDIR)$(datadir) ;\ - for ldir in $(locale_dirs) ; do \ -- $(INSTALL) -d $$mydir/$$ldir ; \ -+ $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \ - if [ -f $$ldir/BOINC-Manager.mo ] ; then \ -- $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \ -+ $(INSTALL_DATA) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \ - fi ;\ - if [ -f $$ldir/BOINC-Client.mo ] ; then \ -- $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \ -+ $(INSTALL_DATA) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \ - fi ;\ - done - diff --git a/boinc-client-AM_CONDITIONAL.patch b/boinc-client-AM_CONDITIONAL.patch index 159e49b..512cb03 100644 --- a/boinc-client-AM_CONDITIONAL.patch +++ b/boinc-client-AM_CONDITIONAL.patch @@ -2,7 +2,7 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -45,6 +45,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX +@@ -64,6 +64,7 @@ m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCX dnl ------ AC_PROG_F77 AC_PROG_CPP @@ -10,7 +10,7 @@ Index: configure.ac AC_PROG_MAKE_SET SAH_LINKS AC_LANG_PUSH(C) -@@ -793,6 +794,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test " +@@ -1071,6 +1072,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test " AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes]) AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so]) @@ -19,19 +19,3 @@ Index: configure.ac dnl ====================================================================== dnl some more vodoo required for building portable client-binary (client, clientgui) dnl ====================================================================== -Index: clientgui/Makefile.am -=================================================================== ---- clientgui/Makefile.am.orig -+++ clientgui/Makefile.am -@@ -117,9 +117,8 @@ EXTRA_DIST = *.h \ - ../lib/error_numbers.h \ - locale $(mac_headers) - --boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0` --boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0` --boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) `pkg-config --libs gtk+-2.0` -lnotify -+boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS) -+boincmgr_LDFLAGS = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS) -lnotify - - win_config.h: $(top_srcdir)/config.h - grep '#define.*BOINC.*VERSION' $^ > $@ diff --git a/boinc-client.changes b/boinc-client.changes index 5b78f9c..009253b 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -1,3 +1,35 @@ +------------------------------------------------------------------- +Fri Apr 22 21:48:48 UTC 2016 - aaronpuchert@alice-dsl.net + +- Replaced quick fix for compiler errors by a proper solution, + which is already upstreamed. +- Removed dependency to mysql, because that is only needed for the + BOINC server, which we don't build anyway. +- Removed dependency to libboinc, because it's meant to be + statically linked to science apps and not necessary for end user. + +------------------------------------------------------------------- +Sun Mar 27 22:13:10 UTC 2016 - aaronpuchert@alice-dsl.net + +- Update to version 7.6.22. The main advantage: GPUs running on + the open source stack (Mesa) are now recognized and can be used + for BOINC. Additional packages are needed though: + * libOpenCL1, + * libMesaOpenCL, + * libclc. + Further, the GPU device in /dev/dri needs to have r+w rights for + the BOINC user, since it doesn't have access to the X session. +- Fetch from GitHub instead of SVN, removed the fetch script +- Rebased all patches, removed obsolete boinc-LC_MESSAGES.patch +- Fixed compiler errors because openSUSEs wxWidgets is configured + with wxUSE_STL=1, which is incompatible with BOINC. There is an + open issue on GitHub: https://github.com/BOINC/boinc/issues/1515. +- Building the manager and locales separately is no longer + necessary. +- The icons seem to have disappeared. +- The BOINC manager should be called with the data directory + instead of the binary directory. Otherwise it can't connect. + ------------------------------------------------------------------- Wed Jun 24 10:53:06 UTC 2015 - jengelh@inai.de diff --git a/boinc-client.spec b/boinc-client.spec index 6cc2027..134e897 100644 --- a/boinc-client.spec +++ b/boinc-client.spec @@ -1,7 +1,8 @@ # # spec file for package boinc-client # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 by Aaron Puchert # Copyright (c) 2011 by Sascha Manns # # All modifications and additions to the file contributed by third parties @@ -19,40 +20,22 @@ # Global definitions %define _use_internal_dependency_generator 0 -%define __find_requires %{wx_requires} %define soname 7 %define boinc_dir %{_localstatedir}/lib/boinc Name: boinc-client -Version: 7.2.42 +Version: 7.6.22 Release: 0 Summary: The BOINC client License: GPL-3.0+ or LGPL-3.0+ Group: Productivity/Clustering/Computing Url: http://boinc.berkeley.edu/ -# There is no real tarball, hence I did -# -# git clone git://boinc.berkeley.edu/boinc.git -# git checkout master -# git checkout -t client_release/7.2/7.2.42 -# -# then I created an archive via git -# -# git archive -v --format=tar --prefix=boinc-7.2.42/ \ -# client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2 -Source0: boinc-%{version}.tar.bz2 +Source0: %{name}_release-7.6-%{version}.tar.gz Source1: boinc-icons.tar.bz2 Source2: boinc-gui.desktop Source3: README.SUSE Source4: sysconfig.%{name} Source5: boinc-logrotate Source6: boinc-manager -# The source for this package was pulled from upstream's vcs. Use the -# following commands to generate the tarball: -# -# ./generate-tarball.sh boinc_core_release_VERSION -# -# Trim all binaries and other unnecessary things. -Source8: generate-tarball.sh Source20: %{name}.service Source100: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE boinc-guirpcauth.patch @@ -61,8 +44,6 @@ Source100: %{name}-rpmlintrc # 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-LC_MESSAGES.patch -Patch2: boinc-LC_MESSAGES.patch # PATCH-FIX-OPENSUSE boinc-docbook2x.patch Patch4: boinc-docbook2x.patch # PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL @@ -71,6 +52,15 @@ Patch7: %{name}-AM_CONDITIONAL.patch # configure.ac:898: required file `test/version.inc.in' not found # configure.ac:898: required file `py/Boinc/version.py.in' not found Patch8: boinc-configure.patch +# PATCH-FIX-UPSTREAM boinc-remove-dead-code.patch +# This is a cherry-pick of commit 1c4f391 and removes dead code that wouldn't +# compile on openSUSE +Patch9: boinc-remove-dead-code.patch +# PATCH-FIX-UPSTREAM boinc-use-wxstring.patch +# This is a squashed cherry-pick of the commits 9604566, b7cc65a and 8c11cad. +# This solves the remaining compiler errors on openSUSE by replacing naked +# char* and wxChar* by wxStrings. +Patch10: boinc-use-wxstring.patch BuildRequires: Mesa-devel BuildRequires: docbook2x BuildRequires: docbook_4 @@ -84,21 +74,14 @@ BuildRequires: libjpeg-devel BuildRequires: libnotify-devel BuildRequires: libtool BuildRequires: libxslt -BuildRequires: mysql-devel BuildRequires: openssl-devel BuildRequires: pkg-config BuildRequires: pwdutils -BuildRequires: python-mysql BuildRequires: sqlite3-devel BuildRequires: systemd BuildRequires: update-desktop-files -BuildRequires: wxWidgets-devel >= 2.8.0 +BuildRequires: wxWidgets-3_0-devel >= 3.0.2 BuildRequires: xorg-x11-libXmu-devel -### FIXME: -## updating boinc-client or boinc-manager does not update libboinc6 -## hence we define this dependency -## !! Do not remove this dependency !! -Requires: libboinc%{soname} = %{version}-%{release} Recommends: boinc-client-lang = %{version} Recommends: logrotate Requires(pre): pwdutils @@ -146,7 +129,6 @@ in which all information and all control elements are available. Summary: Development files for boinc-client Group: Development/Libraries/C and C++ Requires: %{name} = %{version}-%{release} -Requires: mysql-devel Requires: openssl-devel %description devel @@ -172,30 +154,19 @@ BuildArch: noarch This package contains documentation files for %{name}. %prep -%setup -q -n boinc-%{version} -D -a 1 +%setup -q -n %{name}_release-7.6-%{version} -D -a 1 %patch0 -%patch2 %patch4 %patch7 %patch8 +%patch9 -p1 +%patch10 -p1 # Install user hints install -m0644 %{SOURCE3} README.SUSE # Fix lang directories (refer patch2) mv locale/pt_PT locale/pt -mv locale/sv_SE locale/sv - -# fix warning: deprecated conversion from string constant to 'char*' -pushd clientgui/common/ -sed -i 's/static char/static const char/g' wxFlatNotebookImages.h -popd -pushd clientgui/res/ -sed -i 's/static char/static const char/g' *.xpm -popd -pushd clientgui/res/skins/default/graphic/ -sed -i 's/static char/static const char/g' *.xpm -popd # fix utf8 iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8 @@ -214,13 +185,10 @@ mv checkin_notes_2010.utf8 checkin_notes_2010 chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp} sed -i 's/\r//' clientgui/DlgItemProperties.cpp -### bnc#745656 ## remove files with questionable licenses # removing NVIDIA owned file that does not clearly allow redistribution or # modification rm coprocs/NVIDIA/include/nvapi.h -# removing unnecessary APSL licensed files -rm client/app_stats_mac.cpp %build #remove run libtoolize and ./_autosetup @@ -228,6 +196,8 @@ rm client/app_stats_mac.cpp ./_autosetup %configure \ + --enable-optimize \ + --enable-shared \ --disable-static \ --enable-dynamic-client-linkage \ --disable-server \ @@ -247,22 +217,6 @@ make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \ DESTDIR=%{_prefix} %{?_smp_mflags} -### hmm, boincmgr is not build by default (but stated in configure) -# BOINC Default enable values -# --enable-server --enable-client --enable-libraries -# --enable-manager: builds server, client, and libraries -# -# hence we jump into clientgui and build it manually -pushd clientgui -make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ - CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ - CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \ - DESTDIR=%{_prefix} %{?_smp_mflags} -popd -pushd locale -make %{?_smp_mflags} -popd - %install make DESTDIR=%{buildroot} install %{?_smp_mflags} for i in clientgui locale; do @@ -322,11 +276,6 @@ install -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/app install -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png install -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png -# install icons -install -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png -install -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png -install -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png - # Install *.desktop File %suse_update_desktop_file -i boinc-gui Utility diff --git a/boinc-configure.patch b/boinc-configure.patch index 0b83522..5069f36 100644 --- a/boinc-configure.patch +++ b/boinc-configure.patch @@ -2,7 +2,7 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -968,7 +968,6 @@ AC_CONFIG_FILES([ +@@ -1305,7 +1305,6 @@ AC_CONFIG_FILES([ lib/Makefile locale/Makefile Makefile @@ -10,8 +10,8 @@ Index: configure.ac py/Makefile py/boinc_path_config.py:py/boinc_path_config.py.in py/setup.py -@@ -990,7 +989,6 @@ AC_CONFIG_FILES([ - packages/solaris/CSW/boincmanager/prototype +@@ -1328,7 +1327,6 @@ AC_CONFIG_FILES([ + samples/Makefile test/boinc_path_config.py:py/boinc_path_config.py.in test/Makefile - test/version.inc diff --git a/boinc-docbook2x.patch b/boinc-docbook2x.patch index 68a5c1d..fe8f2b0 100644 --- a/boinc-docbook2x.patch +++ b/boinc-docbook2x.patch @@ -2,7 +2,7 @@ Index: configure.ac =================================================================== --- configure.ac.orig +++ configure.ac -@@ -297,7 +297,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`]) +@@ -333,7 +333,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. diff --git a/boinc-guirpcauth.patch b/boinc-guirpcauth.patch index 92b7b5c..4d784b1 100644 --- a/boinc-guirpcauth.patch +++ b/boinc-guirpcauth.patch @@ -2,7 +2,7 @@ Index: client/gui_rpc_server.cpp =================================================================== --- client/gui_rpc_server.cpp.orig +++ client/gui_rpc_server.cpp -@@ -169,12 +169,7 @@ void GUI_RPC_CONN_SET::get_password() { +@@ -175,12 +175,7 @@ void GUI_RPC_CONN_SET::get_password() { // they can cause code to execute as this user. // So better protect it. // diff --git a/boinc-manager b/boinc-manager index 8f72960..31b1670 100644 --- a/boinc-manager +++ b/boinc-manager @@ -7,4 +7,4 @@ if ! test -f ~/gui_rpc_auth.cfg ; then ln -s @boinc_dir@/gui_rpc_auth.cfg ~/. fi -exec boinc-gui -e @bindir@ +exec boinc-gui -d @boinc_dir@ diff --git a/boinc-remove-dead-code.patch b/boinc-remove-dead-code.patch new file mode 100644 index 0000000..732ffc9 --- /dev/null +++ b/boinc-remove-dead-code.patch @@ -0,0 +1,465 @@ +diff --git a/clientgui/AdvancedFrame.cpp b/clientgui/AdvancedFrame.cpp +index e9b08e8..5c41497 100644 +--- a/clientgui/AdvancedFrame.cpp ++++ b/clientgui/AdvancedFrame.cpp +@@ -199,7 +199,6 @@ BEGIN_EVENT_TABLE (CAdvancedFrame, CBOINCBaseFrame) + // Custom Events & Timers + EVT_FRAME_CONNECT(CAdvancedFrame::OnConnect) + EVT_FRAME_NOTIFICATION(CAdvancedFrame::OnNotification) +- EVT_FRAME_UPDATESTATUS(CAdvancedFrame::OnUpdateStatus) + EVT_TIMER(ID_REFRESHSTATETIMER, CAdvancedFrame::OnRefreshState) + EVT_TIMER(ID_FRAMERENDERTIMER, CAdvancedFrame::OnFrameRender) + EVT_NOTEBOOK_PAGE_CHANGED(ID_FRAMENOTEBOOK, CAdvancedFrame::OnNotebookSelectionChanged) +@@ -1951,16 +1950,6 @@ void CAdvancedFrame::OnNotification(CFrameEvent& WXUNUSED(event)) { + } + + +-void CAdvancedFrame::OnUpdateStatus(CFrameEvent& event) { +- wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnUpdateStatus - Function Begin")); +- +- m_pStatusbar->SetStatusText(event.m_message); +- ::wxSleep(0); +- +- wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnUpdateStatus - Function End")); +-} +- +- + void CAdvancedFrame::OnRefreshState(wxTimerEvent& WXUNUSED(event)) { + wxLogTrace(wxT("Function Start/End"), wxT("CAdvancedFrame::OnRefreshState - Function Begin")); + +diff --git a/clientgui/AdvancedFrame.h b/clientgui/AdvancedFrame.h +index a44bce9..4ddfc60 100644 +--- a/clientgui/AdvancedFrame.h ++++ b/clientgui/AdvancedFrame.h +@@ -98,8 +98,6 @@ public: + void OnConnect( CFrameEvent& event ); + void OnNotification( CFrameEvent& event ); + +- void OnUpdateStatus( CFrameEvent& event ); +- + void ResetReminderTimers(); + + bool RestoreState(); +diff --git a/clientgui/BOINCBaseFrame.h b/clientgui/BOINCBaseFrame.h +index 3e226bf..0d4ef92 100644 +--- a/clientgui/BOINCBaseFrame.h ++++ b/clientgui/BOINCBaseFrame.h +@@ -87,8 +87,6 @@ public: + virtual void StopTimers(); + virtual void UpdateRefreshTimerInterval(); + +- inline void UpdateStatusText( const wxChar* ){} +- + void ShowAlert( + const wxString title, + const wxString message, +diff --git a/clientgui/MainDocument.cpp b/clientgui/MainDocument.cpp +index 9fa22c4..fa7b953 100644 +--- a/clientgui/MainDocument.cpp ++++ b/clientgui/MainDocument.cpp +@@ -581,7 +581,6 @@ int CMainDocument::OnPoll() { + } + + if (IsComputerNameLocal(hostName)) { +- pFrame->UpdateStatusText(_("Starting client")); + if (m_pClientManager->StartupBOINCCore()) { + Connect(wxT("localhost"), portNum, password, TRUE, TRUE); + } else { +@@ -589,11 +588,8 @@ int CMainDocument::OnPoll() { + pFrame->ShowDaemonStartFailedAlert(); + } + } else { +- pFrame->UpdateStatusText(_("Connecting to client")); + Connect(hostName, portNum, password, TRUE, password.IsEmpty()); + } +- +- pFrame->UpdateStatusText(wxEmptyString); + } + + // Check connection state, connect if needed. +@@ -1203,7 +1199,6 @@ int CMainDocument::ForceCacheUpdate(bool immediate) { + + if (IsConnected()) { + wxASSERT(wxDynamicCast(pFrame, CBOINCBaseFrame)); +- pFrame->UpdateStatusText(_("Retrieving system state; please wait...")); + + m_dtCachedStateTimestamp = wxDateTime::Now(); + m_iGet_state_rpc_result = rpc.get_state(state); +@@ -1213,7 +1208,6 @@ int CMainDocument::ForceCacheUpdate(bool immediate) { + m_pNetworkConnection->SetStateDisconnected(); + } + +- pFrame->UpdateStatusText(wxEmptyString); + } else { + retval = -1; + } +diff --git a/clientgui/ViewProjects.cpp b/clientgui/ViewProjects.cpp +index e7be8ba..d63f622 100644 +--- a/clientgui/ViewProjects.cpp ++++ b/clientgui/ViewProjects.cpp +@@ -390,7 +390,6 @@ void CViewProjects::OnProjectUpdate( wxCommandEvent& WXUNUSED(event) ) { + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + wxASSERT(m_pListPane); + +- pFrame->UpdateStatusText(_("Updating project...")); + row = -1; + while (1) { + // Step through all selected items +@@ -399,7 +398,6 @@ void CViewProjects::OnProjectUpdate( wxCommandEvent& WXUNUSED(event) ) { + + pDoc->ProjectUpdate(m_iSortedIndexes[row]); + } +- pFrame->UpdateStatusText(wxT("")); + + m_bForceUpdateSelection = true; + UpdateSelection(); +@@ -432,13 +430,9 @@ void CViewProjects::OnProjectSuspend( wxCommandEvent& WXUNUSED(event) ) { + PROJECT* project = pDoc->project(m_iSortedIndexes[row]); + if (project) { + if (project->suspended_via_gui) { +- pFrame->UpdateStatusText(_("Resuming project...")); + pDoc->ProjectResume(m_iSortedIndexes[row]); +- pFrame->UpdateStatusText(wxT("")); + } else { +- pFrame->UpdateStatusText(_("Suspending project...")); + pDoc->ProjectSuspend(m_iSortedIndexes[row]); +- pFrame->UpdateStatusText(wxT("")); + } + } + } +@@ -473,13 +467,9 @@ void CViewProjects::OnProjectNoNewWork( wxCommandEvent& WXUNUSED(event) ) { + PROJECT* project = pDoc->project(m_iSortedIndexes[row]); + if (project) { + if (project->dont_request_more_work) { +- pFrame->UpdateStatusText(_("Telling project to allow additional task downloads...")); + pDoc->ProjectAllowMoreWork(m_iSortedIndexes[row]); +- pFrame->UpdateStatusText(wxT("")); + } else { +- pFrame->UpdateStatusText(_("Telling project to not fetch any additional tasks...")); + pDoc->ProjectNoMoreWork(m_iSortedIndexes[row]); +- pFrame->UpdateStatusText(wxT("")); + } + } + } +@@ -513,8 +503,6 @@ void CViewProjects::OnProjectReset( wxCommandEvent& WXUNUSED(event) ) { + if (!pDoc->IsUserAuthorized()) + return; + +- pFrame->UpdateStatusText(_("Resetting project...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -542,8 +530,6 @@ void CViewProjects::OnProjectReset( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + m_bForceUpdateSelection = true; + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -571,8 +557,6 @@ void CViewProjects::OnProjectDetach( wxCommandEvent& WXUNUSED(event) ) { + if (!pDoc->IsUserAuthorized()) + return; + +- pFrame->UpdateStatusText(_("Removing project...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -600,8 +584,6 @@ void CViewProjects::OnProjectDetach( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + m_bForceUpdateSelection = true; + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -631,15 +613,12 @@ void CViewProjects::OnProjectWebsiteClicked( wxEvent& event ) { + + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); +- pFrame->UpdateStatusText(_("Launching browser...")); + + int website_task_index = event.GetId() - ID_TASK_PROJECT_WEB_PROJDEF_MIN; + wxLaunchDefaultBrowser( + m_TaskGroups[1]->m_Tasks[website_task_index]->m_strWebSiteLink + ); + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +diff --git a/clientgui/ViewStatistics.cpp b/clientgui/ViewStatistics.cpp +index 6706d84..83564ce 100644 +--- a/clientgui/ViewStatistics.cpp ++++ b/clientgui/ViewStatistics.cpp +@@ -2074,12 +2074,10 @@ void CViewStatistics::OnStatisticsUserTotal( wxCommandEvent& WXUNUSED(event) ) { + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_SelectedStatistic = show_user_total; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2095,12 +2093,10 @@ void CViewStatistics::OnStatisticsUserAverage( wxCommandEvent& WXUNUSED(event) ) + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_SelectedStatistic = show_user_average; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2116,12 +2112,10 @@ void CViewStatistics::OnStatisticsHostTotal( wxCommandEvent& WXUNUSED(event) ) { + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_SelectedStatistic = show_host_total; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2138,12 +2132,10 @@ void CViewStatistics::OnStatisticsHostAverage( wxCommandEvent& WXUNUSED(event) ) + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_SelectedStatistic = show_host_average; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2159,12 +2151,10 @@ void CViewStatistics::OnStatisticsModeViewAllSeparate( wxCommandEvent& WXUNUSED( + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_ModeViewStatistic = mode_all_separate; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2180,12 +2170,10 @@ void CViewStatistics::OnStatisticsModeViewOneProject( wxCommandEvent& WXUNUSED(e + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_ModeViewStatistic = mode_one_project; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2201,12 +2189,10 @@ void CViewStatistics::OnStatisticsModeViewAllTogether( wxCommandEvent& WXUNUSED( + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_ModeViewStatistic = mode_all_together; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2222,12 +2208,10 @@ void CViewStatistics::OnStatisticsModeViewSum( wxCommandEvent& WXUNUSED(event) ) + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + m_PaintStatistics->m_ModeViewStatistic = mode_sum; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; + m_PaintStatistics->m_full_repaint = true; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2243,7 +2227,6 @@ void CViewStatistics::OnStatisticsNextProject( wxCommandEvent& WXUNUSED(event) ) + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + if (m_PaintStatistics->m_ModeViewStatistic == mode_one_project) m_PaintStatistics->m_NextProjectStatistic++; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; +@@ -2251,7 +2234,6 @@ void CViewStatistics::OnStatisticsNextProject( wxCommandEvent& WXUNUSED(event) ) + if (m_PaintStatistics->m_ModeViewStatistic == mode_all_separate) m_PaintStatistics->m_Legend_Shift_Mode2++; + if (m_PaintStatistics->m_ModeViewStatistic == mode_all_together) m_PaintStatistics->m_Legend_Shift_Mode2++; + if (m_PaintStatistics->m_ModeViewStatistic == mode_sum) m_PaintStatistics->m_Legend_Shift_Mode2++; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +@@ -2267,7 +2249,6 @@ void CViewStatistics::OnStatisticsPrevProject( wxCommandEvent& WXUNUSED(event) ) + wxASSERT(pFrame); + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + +- pFrame->UpdateStatusText(_("Updating charts...")); + if (m_PaintStatistics->m_ModeViewStatistic == mode_one_project) m_PaintStatistics->m_NextProjectStatistic--; + m_PaintStatistics->m_Zoom_Auto = true; + m_PaintStatistics->m_GraphMarker1 = false; +@@ -2275,7 +2256,6 @@ void CViewStatistics::OnStatisticsPrevProject( wxCommandEvent& WXUNUSED(event) ) + if (m_PaintStatistics->m_ModeViewStatistic == mode_all_separate) m_PaintStatistics->m_Legend_Shift_Mode2--; + if (m_PaintStatistics->m_ModeViewStatistic == mode_all_together) m_PaintStatistics->m_Legend_Shift_Mode2--; + if (m_PaintStatistics->m_ModeViewStatistic == mode_sum) m_PaintStatistics->m_Legend_Shift_Mode2--; +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->FireRefreshView(); +diff --git a/clientgui/ViewTransfers.cpp b/clientgui/ViewTransfers.cpp +index cc2c4da..fc54121 100644 +--- a/clientgui/ViewTransfers.cpp ++++ b/clientgui/ViewTransfers.cpp +@@ -381,7 +381,6 @@ void CViewTransfers::OnTransfersRetryNow( wxCommandEvent& WXUNUSED(event) ) { + return; + } + +- pFrame->UpdateStatusText(_("Retrying transfer now...")); + row = -1; + while (1) { + // Step through all selected items +@@ -390,7 +389,6 @@ void CViewTransfers::OnTransfersRetryNow( wxCommandEvent& WXUNUSED(event) ) { + + pDoc->TransferRetryNow(m_iSortedIndexes[row]); + } +- pFrame->UpdateStatusText(wxT("")); + + UpdateSelection(); + pFrame->ResetReminderTimers(); +@@ -419,8 +417,6 @@ void CViewTransfers::OnTransfersAbort( wxCommandEvent& WXUNUSED(event) ) { + if (!pDoc->IsUserAuthorized()) + return; + +- pFrame->UpdateStatusText(_("Aborting transfer...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -448,8 +444,6 @@ void CViewTransfers::OnTransfersAbort( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +diff --git a/clientgui/ViewWork.cpp b/clientgui/ViewWork.cpp +index cdc7147..a48548f 100644 +--- a/clientgui/ViewWork.cpp ++++ b/clientgui/ViewWork.cpp +@@ -451,17 +451,13 @@ void CViewWork::OnWorkSuspend( wxCommandEvent& WXUNUSED(event) ) { + RESULT* result = pDoc->result(m_iSortedIndexes[row]); + if (result) { + if (result->suspended_via_gui) { +- pFrame->UpdateStatusText(_("Resuming task...")); + pDoc->WorkResume(result->project_url, result->name); + } else { +- pFrame->UpdateStatusText(_("Suspending task...")); + pDoc->WorkSuspend(result->project_url, result->name); + } + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +@@ -483,8 +479,6 @@ void CViewWork::OnWorkShowGraphics( wxCommandEvent& WXUNUSED(event) ) { + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + wxASSERT(m_pListPane); + +- pFrame->UpdateStatusText(_("Showing graphics for task...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -497,8 +491,6 @@ void CViewWork::OnWorkShowGraphics( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +@@ -520,8 +512,6 @@ void CViewWork::OnWorkShowVMConsole( wxCommandEvent& WXUNUSED(event) ) { + wxASSERT(wxDynamicCast(pFrame, CAdvancedFrame)); + wxASSERT(m_pListPane); + +- pFrame->UpdateStatusText(_("Showing VM console for task...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -534,8 +524,6 @@ void CViewWork::OnWorkShowVMConsole( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +@@ -593,8 +581,6 @@ void CViewWork::OnWorkAbort( wxCommandEvent& WXUNUSED(event) ) { + return; + } + +- pFrame->UpdateStatusText(_("Aborting task...")); +- + row = -1; + while (1) { + // Step through all selected items +@@ -607,8 +593,6 @@ void CViewWork::OnWorkAbort( wxCommandEvent& WXUNUSED(event) ) { + } + } + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + +@@ -693,15 +677,11 @@ void CViewWork::OnProjectWebsiteClicked( wxEvent& event ) { + wxASSERT(m_pTaskPane); + wxASSERT(m_pListPane); + +- pFrame->UpdateStatusText(_("Launching browser...")); +- + int website_task_index = event.GetId() - ID_TASK_PROJECT_WEB_PROJDEF_MIN; + wxLaunchDefaultBrowser( + m_TaskGroups[1]->m_Tasks[website_task_index]->m_strWebSiteLink + ); + +- pFrame->UpdateStatusText(wxT("")); +- + UpdateSelection(); + pFrame->FireRefreshView(); + diff --git a/boinc-use-wxstring.patch b/boinc-use-wxstring.patch new file mode 100644 index 0000000..44e4447 --- /dev/null +++ b/boinc-use-wxstring.patch @@ -0,0 +1,141 @@ +diff --git a/clientgui/BOINCBaseView.cpp b/clientgui/BOINCBaseView.cpp +index 0c64159..4337afc 100644 +--- a/clientgui/BOINCBaseView.cpp ++++ b/clientgui/BOINCBaseView.cpp +@@ -913,11 +913,11 @@ void CBOINCBaseView::AppendColumn(int){ + } + + +-void CBOINCBaseView::append_to_status(wxString& existing, const wxChar* additional) { ++void CBOINCBaseView::append_to_status(wxString& existing, const wxString& additional) { + if (existing.size() == 0) { + existing = additional; + } else { +- existing = existing + wxT(", ") + additional; ++ existing += wxT(", ") + additional; + } + } + +diff --git a/clientgui/BOINCBaseView.h b/clientgui/BOINCBaseView.h +index 811fecb..c7b4fb9 100644 +--- a/clientgui/BOINCBaseView.h ++++ b/clientgui/BOINCBaseView.h +@@ -193,7 +193,7 @@ protected: + bool _EnsureLastItemVisible(); + virtual bool EnsureLastItemVisible(); + +- static void append_to_status(wxString& existing, const wxChar* additional); ++ static void append_to_status(wxString& existing, const wxString& additional); + static wxString HtmlEntityEncode(wxString strRaw); + static wxString HtmlEntityDecode(wxString strRaw); + +diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp +index 5674029..91d387a 100644 +--- a/clientgui/BOINCGUIApp.cpp ++++ b/clientgui/BOINCGUIApp.cpp +@@ -626,27 +626,23 @@ void CBOINCGUIApp::SaveState() { + /// + void CBOINCGUIApp::OnInitCmdLine(wxCmdLineParser &parser) { + wxApp::OnInitCmdLine(parser); +- static const wxCmdLineEntryDesc cmdLineDesc[] = { +- { wxCMD_LINE_SWITCH, "a", "autostart", _("BOINC Manager was started by the operating system automatically")}, ++ parser.AddSwitch("a", "autostart", _("BOINC Manager was started by the operating system automatically")); + #if defined(__WXMSW__) || defined(__WXMAC__) +- { wxCMD_LINE_SWITCH, "s", "systray", _("Startup BOINC so only the system tray icon is visible")}, ++ parser.AddSwitch("s", "systray", _("Startup BOINC so only the system tray icon is visible")); + #else +- { wxCMD_LINE_OPTION, "e", "clientdir", _("Directory containing the BOINC Client executable")}, +- { wxCMD_LINE_OPTION, "d", "datadir", _("BOINC data directory")}, ++ parser.AddOption("e", "clientdir", _("Directory containing the BOINC Client executable")); ++ parser.AddOption("d", "datadir", _("BOINC data directory")); + #endif +- { wxCMD_LINE_OPTION, "n", "namehost", _("Host name or IP address")}, +- { wxCMD_LINE_OPTION, "g", "gui_rpc_port", _("GUI RPC port number")}, +- { wxCMD_LINE_OPTION, "p", "password", _("Password")}, +- { wxCMD_LINE_OPTION, "b", "boincargs", _("Startup BOINC with these optional arguments")}, +- { wxCMD_LINE_SWITCH, "i","insecure", _("disable BOINC security users and permissions")}, +- { wxCMD_LINE_SWITCH, "c", "checkskins", _("set skin debugging mode to enable skin manager error messages")}, +- { wxCMD_LINE_SWITCH, "m", "multiple", _("multiple instances of BOINC Manager allowed")}, ++ parser.AddOption("n", "namehost", _("Host name or IP address")); ++ parser.AddOption("g", "gui_rpc_port", _("GUI RPC port number")); ++ parser.AddOption("p", "password", _("Password")); ++ parser.AddOption("b", "boincargs", _("Startup BOINC with these optional arguments")); ++ parser.AddSwitch("i", "insecure", _("disable BOINC security users and permissions")); ++ parser.AddSwitch("c", "checkskins", _("set skin debugging mode to enable skin manager error messages")); ++ parser.AddSwitch("m", "multiple", _("multiple instances of BOINC Manager allowed")); + #if (defined(__WXMAC__) && defined(_DEBUG)) +- { wxCMD_LINE_OPTION, "NSDocumentRevisionsDebugMode", NULL, _("Not used: workaround for bug in XCode 4.2")}, ++ parser.AddLongOption("NSDocumentRevisionsDebugMode", _("Not used: workaround for bug in XCode 4.2")); + #endif +- { wxCMD_LINE_NONE} //DON'T forget this line!! +- }; +- parser.SetDesc(cmdLineDesc); + } + + +diff --git a/clientgui/MainDocument.cpp b/clientgui/MainDocument.cpp +index fa7b953..1b0c165 100644 +--- a/clientgui/MainDocument.cpp ++++ b/clientgui/MainDocument.cpp +@@ -273,7 +273,7 @@ bool CNetworkConnection::IsComputerNameLocal(const wxString& strMachine) { + + + int CNetworkConnection::SetComputer( +- const wxChar* szComputer, const int iPort, const wxChar* szPassword, ++ const wxString& szComputer, const int iPort, const wxString& szPassword, + const bool bUseDefaultPassword + ) { + m_strNewComputerName.Empty(); +@@ -641,7 +641,7 @@ int CMainDocument::ResetState() { + } + + +-int CMainDocument::Connect(const wxChar* szComputer, int iPort, const wxChar* szComputerPassword, const bool bDisconnect, const bool bUseDefaultPassword) { ++int CMainDocument::Connect(const wxString& szComputer, int iPort, const wxString& szComputerPassword, const bool bDisconnect, const bool bUseDefaultPassword) { + if (IsComputerNameLocal(szComputer)) { + // Restart client if not already running + m_pClientManager->AutoRestart(); +@@ -687,7 +687,7 @@ int CMainDocument::GetConnectingComputerName(wxString& strMachine) { + } + + +-bool CMainDocument::IsComputerNameLocal(const wxString strMachine) { ++bool CMainDocument::IsComputerNameLocal(const wxString& strMachine) { + return m_pNetworkConnection->IsComputerNameLocal(strMachine); + } + +diff --git a/clientgui/MainDocument.h b/clientgui/MainDocument.h +index 3b88571..90c10b5 100644 +--- a/clientgui/MainDocument.h ++++ b/clientgui/MainDocument.h +@@ -75,8 +75,7 @@ public: + bool IsComputerNameLocal(const wxString& strMachine); + int GetLocalPassword(wxString& strPassword); + int SetComputer( +- const wxChar* szComputer, const int iPort, const wxChar* szPassword, +- const bool bUseDefaultPassword ++ const wxString& szComputer, const int iPort, const wxString& szPassword, const bool bUseDefaultPassword + ); + void SetStateError(); + void SetStateErrorAuthentication(); +@@ -134,9 +133,9 @@ public: + int ResetState(); + + int Connect( +- const wxChar* szComputer, ++ const wxString& szComputer, + const int iPort, +- const wxChar* szComputerPassword = wxEmptyString, ++ const wxString& szComputerPassword = wxEmptyString, + const bool bDisconnect = FALSE, + const bool bUseDefaultPassword = FALSE + ); +@@ -152,7 +151,7 @@ public: + int GetConnectedComputerName(wxString& strMachine); + int GetConnectedComputerVersion(wxString& strVersion); + int GetConnectingComputerName(wxString& strMachine); +- bool IsComputerNameLocal(const wxString strMachine); ++ bool IsComputerNameLocal(const wxString& strMachine); + bool IsConnected(); + bool IsReconnecting(); + diff --git a/generate-tarball.sh b/generate-tarball.sh deleted file mode 100644 index a256b1c..0000000 --- a/generate-tarball.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -VERSION=$1 - -svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_$VERSION boinc_core_release_$VERSION -if [ -z $1 ]; then - echo "No path specified: use \"trim [PATH_TO_SOURCE_TOP_DIR]\""; - exit 1; - fi - - # remove all binaries and other unnecessary things - - echo "Trimming directories..." - - DIRS="win_build html openssl client/os2 client/win clientgui/mac clientlib clienttray curl/include curl/mswin curl/patches lib/mac mac_build mac_installer zip/zip/macos zip/zip/win32 zip/unzip/macos zip/unzip/win32 zlib RSAEuro stripchart coprocs" - - for DIR in $DIRS; do - /bin/rm -rf $1/$DIR; - echo $1/$DIR; - done - - echo "Trimming wxWidgets translations..." - - # remove wxWidgets translations - find $1/locale -name wxstd.mo -delete - - echo "Done." - -tar -cvjf boinc_core_release-$VERSION.tar.bz2 boinc_core_release_$VERSION --exclude=.svn