Package: release.debian.org
User: release.debian.org@packages.debian.org
Usertags: unblock
Hi Release Team
Please unblock package boinc
unblock boinc/7.6.33+dfsg-12
We refactored a little bit with the upstream version a patch already in Stretch,
and I removed the fglrx package, uninstallable because fglrx is now dead
debdiff here:
diff -Nru boinc-7.6.33+dfsg/debian/changelog boinc-7.6.33+dfsg/debian/changelog
--- boinc-7.6.33+dfsg/debian/changelog 2017-04-04 08:08:14.000000000 +0200
+++ boinc-7.6.33+dfsg/debian/changelog 2017-05-30 11:40:51.000000000 +0200
@@ -1,3 +1,22 @@
+boinc (7.6.33+dfsg-12) unstable; urgency=medium
+
+ [ Steffen Moeller ]
+ * Added dependency on lsb-base (>= 3.0-6) of boinc-client for the init
+ script. Thanks to Lintian and the Package Tracker for spotting that.
+
+ [ Gianfranco Costamagna ]
+ * Update the previous boinc-issue-1177.patch with the upstream merged patch.
+ * Remove boinc-client-fglrx: dead, depends on removed fglrx libraries.
+ (Closes: #863699)
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 30 May 2017 11:39:31 +0200
+
+boinc (7.6.33+dfsg-11exp1) experimental; urgency=medium
+
+ * Upload to experimental again, with the boinc-server-* packages.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 04 Apr 2017 08:10:03 +0200
+
boinc (7.6.33+dfsg-11) unstable; urgency=medium
* Upload to unstable
diff -Nru boinc-7.6.33+dfsg/debian/control boinc-7.6.33+dfsg/debian/control
--- boinc-7.6.33+dfsg/debian/control 2017-04-04 08:09:03.000000000 +0200
+++ boinc-7.6.33+dfsg/debian/control 2017-05-30 11:41:46.000000000 +0200
@@ -103,37 +103,16 @@
non-free section to the regular boinc package. This also meant this
binary package to be redistributed in the contrib section of Debian.
-Package: boinc-client-fglrx
-Architecture: amd64 i386
-Section: contrib/net
-Priority: extra
-Breaks: boinc-nvidia-cuda
-Replaces: boinc-nvidia-cuda
-Depends: ${misc:Depends}, boinc-client
-Recommends: libfglrx | fglrx-updates | fglrx
-Description: metapackage for AMD/ATI fglrx-savvy BOINC client and manager
- The Berkeley Open Infrastructure for Network Computing (BOINC) is a
- software platform for distributed computing: several initiatives of
- various scientific disciplines all compete for the idle time of
- desktop computers. The developers' web site at the University of
- Berkeley serves as a common portal to the otherwise independently run
- projects.
- .
- Regular users (righteously) often find it an unbearable nuisance to
- care for the configuration of BOINC for the fglrx-savvy AMD/ATI
- graphics cards. This package adds a series of dependencies from the
- non-free section to the regular boinc package. This also meant this
- binary package to be redistributed in the contrib section of Debian.
-
Package: boinc-client
Architecture: any
Depends: adduser,
ca-certificates,
+ lsb-base (>= 3.0-6),
libboinc7 (= ${binary:Version}),
${misc:Depends},
${python:Depends},
${shlibs:Depends}
-Suggests: boinc-client-opencl, boinc-client-fglrx, boinc-client-nvidia-cuda, boinc-manager, x11-xserver-utils
+Suggests: boinc-client-opencl, boinc-client-nvidia-cuda, boinc-manager, x11-xserver-utils
Description: core client for the BOINC distributed computing infrastructure
The Berkeley Open Infrastructure for Network Computing (BOINC) is a
software platform for distributed computing: several initiatives of
diff -Nru boinc-7.6.33+dfsg/debian/control.in boinc-7.6.33+dfsg/debian/control.in
--- boinc-7.6.33+dfsg/debian/control.in 2017-03-14 12:22:46.000000000 +0100
+++ boinc-7.6.33+dfsg/debian/control.in 2017-05-30 11:38:56.000000000 +0200
@@ -103,37 +103,16 @@
@ non-free section to the regular boinc package. This also meant this
@ binary package to be redistributed in the contrib section of Debian.
@
-@Package: boinc-client-fglrx
-@Architecture: amd64 i386
-@Section: contrib/net
-@Priority: extra
-@Breaks: boinc-nvidia-cuda
-@Replaces: boinc-nvidia-cuda
-@Depends: ${misc:Depends}, boinc-client
-@Recommends: libfglrx | fglrx-updates | fglrx
-@Description: metapackage for AMD/ATI fglrx-savvy BOINC client and manager
-@ The Berkeley Open Infrastructure for Network Computing (BOINC) is a
-@ software platform for distributed computing: several initiatives of
-@ various scientific disciplines all compete for the idle time of
-@ desktop computers. The developers' web site at the University of
-@ Berkeley serves as a common portal to the otherwise independently run
-@ projects.
-@ .
-@ Regular users (righteously) often find it an unbearable nuisance to
-@ care for the configuration of BOINC for the fglrx-savvy AMD/ATI
-@ graphics cards. This package adds a series of dependencies from the
-@ non-free section to the regular boinc package. This also meant this
-@ binary package to be redistributed in the contrib section of Debian.
-@
@Package: boinc-client
@Architecture: any
@Depends: adduser,
@ ca-certificates,
+@ lsb-base (>= 3.0-6),
@ libboinc7 (= ${binary:Version}),
@ ${misc:Depends},
@ ${python:Depends},
@ ${shlibs:Depends}
-@Suggests: boinc-client-opencl, boinc-client-fglrx, boinc-client-nvidia-cuda, boinc-manager, x11-xserver-utils
+@Suggests: boinc-client-opencl, boinc-client-nvidia-cuda, boinc-manager, x11-xserver-utils
@Description: core client for the BOINC distributed computing infrastructure
@ The Berkeley Open Infrastructure for Network Computing (BOINC) is a
@ software platform for distributed computing: several initiatives of
diff -Nru boinc-7.6.33+dfsg/debian/patches/boinc-issue-1177.patch boinc-7.6.33+dfsg/debian/patches/boinc-issue-1177.patch
--- boinc-7.6.33+dfsg/debian/patches/boinc-issue-1177.patch 2017-03-15 17:53:00.000000000 +0100
+++ boinc-7.6.33+dfsg/debian/patches/boinc-issue-1177.patch 2017-05-08 17:16:51.000000000 +0200
@@ -1,58 +1,111 @@
-Description: Fix for the new process spawn
-Author: Christian Beer
+From 31e8427469ede148249796fed05be0165e321d23 Mon Sep 17 00:00:00 2001
+From: Christian Beer <christian.beer@aei.mpg.de>
+Date: Thu, 16 Mar 2017 18:28:08 +0100
+Subject: [PATCH 1/2] Manager/Lib: fix 'New Manager window' function on Linux
-Bug-Ubuntu: https://launchpad.net/bugs/1115607
-Forwarded: https://github.com/BOINC/boinc/issues/1177
+This was not working because the manager was not detecting its own executable name and path so it couldn't start a new instance of itself. Windows and Mac use different codepaths so it worked there.
+The new library function can be extended for Windows and Mac to avoid code duplication.
+---
+ clientgui/BOINCGUIApp.cpp | 21 +++++++++++++++++++++
+ configure.ac | 5 +++++
+ lib/util.cpp | 17 +++++++++++++++++
+ lib/util.h | 2 ++
+ 4 files changed, 45 insertions(+)
---- a/clientgui/AdvancedFrame.cpp
-+++ b/clientgui/AdvancedFrame.cpp
-@@ -1601,7 +1601,7 @@ void CAdvancedFrame::OnLaunchNewInstance(wxCommandEvent& WXUNUSED(event)) {
- wxString strExecutable = wxGetApp().GetRootDirectory() + wxGetApp().GetExecutableName();
-
- run_program(
-- wxGetApp().GetRootDirectory().mb_str(),
-+ wxGetApp().GetDataDirectory().mb_str(),
- strExecutable.mb_str(),
- argc,
- argv,
-diff --git a/clientgui/BOINCGUIApp.cpp b/clientgui/BOINCGUIApp.cpp
-index 434769b5e4..b5c0b8a45b 100644
---- a/clientgui/BOINCGUIApp.cpp
-+++ b/clientgui/BOINCGUIApp.cpp
-@@ -721,6 +721,17 @@ void CBOINCGUIApp::DetectExecutableName() {
+Index: boinc/clientgui/BOINCGUIApp.cpp
+===================================================================
+--- boinc.orig/clientgui/BOINCGUIApp.cpp
++++ boinc/clientgui/BOINCGUIApp.cpp
+@@ -765,6 +765,16 @@
// Store the root directory for later use.
m_strBOINCMGRExecutableName = pszProg;
-+#else
++#elif defined(__WXGTK__)
+ char path[PATH_MAX];
-+ memset(path,0,sizeof(path));
-+ int ret = readlink("/proc/self/exe", path, PATH_MAX);
-+ if ( ret >= 0) {
-+ path[ret] = '\0'; // readlink does not null terminate
-+ char* name = strrchr(path, '/') + 1;
-+ m_strBOINCMGRExecutableName = name;
-+ } else {
-+ perror("readlink");
++ if (!get_real_executable_path(path, PATH_MAX)) {
++ // find filename component
++ char* name = strrchr(path, '/');
++ if (name) {
++ name++;
++ m_strBOINCMGRExecutableName = name;
++ }
+ }
#endif
}
-@@ -742,6 +753,18 @@ void CBOINCGUIApp::DetectRootDirectory() {
+@@ -786,6 +796,17 @@
// Store the root directory for later use.
m_strBOINCMGRRootDirectory = szPath;
-+#else
++#elif defined(__WXGTK__)
+ char path[PATH_MAX];
-+ memset(path,0,sizeof(path));
-+ int ret = readlink("/proc/self/exe", path, PATH_MAX);
++ if (!get_real_executable_path(path, PATH_MAX)) {
++ // find path component
++ char* name = strrchr(path, '/');
++ if (name) {
++ name++;
++ *name = '\0';
++ m_strBOINCMGRRootDirectory = path;
++ }
++ }
+ #endif
+ }
+
+Index: boinc/configure.ac
+===================================================================
+--- boinc.orig/configure.ac
++++ boinc/configure.ac
+@@ -1026,6 +1026,11 @@
+ AC_DEFINE(HAVE__PROC_SELF_STAT, 1, [Define to 1 if /proc/self/stat exists])
+ fi
+
++dnl Check for /proc/self/exe (Linux)
++if test -e "/proc/self/exe"; then
++ AC_DEFINE(HAVE__PROC_SELF_EXE, 1, [Define to 1 if /proc/self/exe exists])
++fi
++
+ dnl Check for /proc/meminfo (Linux)
+ if test -e "/proc/meminfo"; then
+ AC_DEFINE(HAVE__PROC_MEMINFO, 1, [Define to 1 if /proc/meminfo exists])
+Index: boinc/lib/util.cpp
+===================================================================
+--- boinc.orig/lib/util.cpp
++++ boinc/lib/util.cpp
+@@ -617,3 +617,24 @@
+ cached = true;
+ return z*cos(PI2*u2);
+ }
++
++// determines the real path and filename of the current process
++// not the current working directory
++//
++int get_real_executable_path(char* path, size_t max_len) {
++#ifdef HAVE__PROC_SELF_EXE
++ int ret = readlink("/proc/self/exe", path, max_len);
+ if ( ret >= 0) {
+ path[ret] = '\0'; // readlink does not null terminate
-+ char* name = strrchr(path, '/') + 1;
-+ *name = '\0';
-+ m_strBOINCMGRRootDirectory = path;
++ return 0;
+ } else {
++#ifdef _USING_FCGI_
++ FCGI::perror("readlink");
++#else
+ perror("readlink");
++#endif
++ return ERR_PROC_PARSE;
+ }
- #endif
- }
++#endif
++ return ERR_NOT_IMPLEMENTED;
++}
+Index: boinc/lib/util.h
+===================================================================
+--- boinc.orig/lib/util.h
++++ boinc/lib/util.h
+@@ -110,6 +110,8 @@
+
+ extern int wait_client_mutex(const char* dir, double timeout);
++extern int get_real_executable_path(char* path, size_t max_len);
++
+ #ifdef GCL_SIMULATOR
+ extern double simtime;
+ #define time(x) ((int)simtime)
Attachment:
signature.asc
Description: OpenPGP digital signature