From f538682497472155a7b047162cc5ff300807e16582c3a30b35bec5fa18063611 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 12 Jul 2024 04:59:12 +0000 Subject: [PATCH 1/2] - Revert to state of 2024-05-26 due to regressions, https://build.opensuse.org/request/show/1183568#comment-1957214 https://build.opensuse.org/request/show/1184357#comment-1959404 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=124 --- .gitattributes | 23 ++ .gitignore | 1 + 8.0.2.tar.gz | 3 + README.SUSE | 123 ++++++ boinc-client-rpmlintrc | 1 + boinc-client.changes | 775 +++++++++++++++++++++++++++++++++++++ boinc-client.service | 25 ++ boinc-client.spec | 372 ++++++++++++++++++ boinc-docbook2x.patch | 23 ++ boinc-logrotate | 27 ++ boinc-manager | 10 + build-client-scripts.patch | 10 + libboinc-shared.patch | 165 ++++++++ sysconfig.boinc-client | 66 ++++ xlocale.patch | 23 ++ 15 files changed, 1647 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 8.0.2.tar.gz create mode 100644 README.SUSE create mode 100644 boinc-client-rpmlintrc create mode 100644 boinc-client.changes create mode 100644 boinc-client.service create mode 100644 boinc-client.spec create mode 100644 boinc-docbook2x.patch create mode 100644 boinc-logrotate create mode 100644 boinc-manager create mode 100644 build-client-scripts.patch create mode 100644 libboinc-shared.patch create mode 100644 sysconfig.boinc-client create mode 100644 xlocale.patch diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/8.0.2.tar.gz b/8.0.2.tar.gz new file mode 100644 index 0000000..524c345 --- /dev/null +++ b/8.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c593f157aacbd61bf814f44ed6e4dbb38145336d5c018c756206bdfc0c6df33e +size 46978849 diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..551cbe6 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,123 @@ + +##################################################################################################################### +Exported from http://boinc.berkeley.edu/wiki/Installing_BOINC on May 15, 2010, see current version online. +##################################################################################################################### + +Installing BOINC on openSUSE + + + * 1 Basic installation + * 2 What the installer does + * 3 Verify the installation + * 4 Set up your accounts + * 5 Optional setup hints + * 6 Uninstallation + * 7 Known problems + + Basic installation + +Installs BOINC Client as a daemon (autostarts the BOINC client at boot +time) and puts a BOINC Manager icon on the applications menu. The steps +are: + + 1. Open a terminal, enter |su|, give the root password when prompted. + 2. Enter |zypper install boinc-client boinc-manager| + (be patient while the BOINC package downloads and installs). + 3. Optional: after the installation is finished, enter + |/usr/bin/systemctl enable boinc-client.service| + to have Linux auto-start the boinc-client daemon at boot time. + (See Stop or start BOINC daemon after boot + page for helpful + commands for managing the daemon) + + + What the installer does + + 1. Creates a systemd configuration file for boinc-client.service. + 2. Places the BOINC binaries (boinc-client, boinccmd, boinc-gui + and boincmgr) in /usr/bin/. + 3. Creates /var/lib/boinc/ for BOINC data files and the slots and + projects directories. + 4. Names the daemon boinc-client. + 5. Creates a user named boinc. For security, boinc owns the BOINC + data directory (/var/lib/boinc/) and all the data files and + sub-directories it creates in the data directory. + + + Verify the installation + + 1. If you elected to have Linux start the daemon at boot time (see + step 3 in section Basic installation), logout and reboot Linux now + and login under your normal user account. + 2. If you elected to not have Linux start the daemon at boot time, + start the daemon manually with |/usr/bin/systemctl start boinc-client.service | + 3. Open a terminal and enter |ps aux | grep boinc| to print a partial + list of running processes. You should see |boinc-client --dir ...| + in that list, if not then something went wrong in the steps above. + + + Set up your accounts + +To use the GUI to set up your accounts and monitor progress: + + * Start "boincmgr" on the command line or select Applications -> + System Tools -> Boinc Manager from the GNOME menu. + * Select Advanced -> Select computer... from the Boinc Manager menu. + * Put "localhost" in for "Host name" and the contents of + /var/lib/boinc/gui_rpc_auth.cfg for "Password" and hit "OK". + +If you do only the basic installation as described above, BOINC manager +will not be able to automatically connect to the client. To connect the +client you will be required to give the GUI RPC password every time you +start BOINC manager. That is not a bug, it is a security feature to +prevent other users from using the manager to manipulate the client, +change your projects, etc. + +If you don't want to put the password every time you run the BOINC +manager, you can: + + 1. disable the password at all [*not recommended*] + To make the GUI passwordless, do "echo > + /var/lib/boinc/gui_rpc_auth.cfg" (which replaces the contents of + the file with a newline) and then restart boinc-client (with e.g. + "/sbin/service boinc-client restart"). + 2. *with boinc-client-6.4.7-1.r17542svn and newer* it is enough if + you just add your user account into the "boinc" group, e.g. by + typing |/usr/sbin/usermod -G boinc -a username| + 3. *with older versions* the procedure is a bit more complicated: + Boinc (the user named boinc) owns /var/lib/boinc/ and all the + files and directories in it so you will not be able to edit those + files easily from your regular user account. The steps below add + your username to the boinc group and adjust some permissions so + that BOINC manager will automatically connect to BOINC client + whenever you start the manager from your regular Linux user + account. Also you will be able to edit files in the BOINC + directory without becoming root. As you type in each command + below, substitute your Linux username wherever you see |username|. + Enter the following commands in a terminal, as root: + 1. |/usr/sbin/usermod -A boinc username| + 2. |chmod g+rw /var/lib/boinc| + 3. |chmod g+rw /var/lib/boinc/*.*| + 4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg + /home/username/gui_rpc_auth.cfg| + 5. |chown boinc:boinc /home/username/gui_rpc_auth.cfg| + + + Uninstallation + +As root, in a terminal, enter + + yum remove boinc-client boinc-manager + + + Known problems + +boinc-client sometimes has problems connecting to the network, if the +network connection comes up after the client has already started. This +is a known BOINC bug, which is filed as #707. + +In the meantime, you can fix this by restarting boinc-client. On the +command line as root, do "/usr/bin/systemctl restart boinc-client.service". +Alternatively, from the GNOME menu, you can choose System -> +Administration -> Services and then stop and start the boinc-client +service. diff --git a/boinc-client-rpmlintrc b/boinc-client-rpmlintrc new file mode 100644 index 0000000..8d16c2a --- /dev/null +++ b/boinc-client-rpmlintrc @@ -0,0 +1 @@ +addFilter("no-manual-page-for-binary") diff --git a/boinc-client.changes b/boinc-client.changes new file mode 100644 index 0000000..bb4502d --- /dev/null +++ b/boinc-client.changes @@ -0,0 +1,775 @@ +------------------------------------------------------------------- +Fri Jul 12 04:58:08 UTC 2024 - Jan Engelhardt + +- Revert to state of 2024-05-26 due to regressions, + https://build.opensuse.org/request/show/1183568#comment-1957214 + https://build.opensuse.org/request/show/1184357#comment-1959404 + +------------------------------------------------------------------- +Thu Jun 27 11:43:32 UTC 2024 - chris@computersalat.de + +- fix for bnc#1227092 + * Add WorkingDirectory= to unit file +- Add further Variables to unit file + +ProtectSystem=full + +ProtectControlGroups=true + +ReadWritePaths=-$BOINC_BOINC_DIR +- rebase patches + * boinc-docbook2x.patch + * build-client-scripts.patch + * libboinc-shared.patch + * xlocale.patch + +------------------------------------------------------------------- +Sun May 26 21:39:07 UTC 2024 - Jan Engelhardt + +- Update to release 8.0.2 + * Support so-called "sporadic applications" + +------------------------------------------------------------------- +Sat Feb 3 12:56:03 UTC 2024 - Jan Engelhardt + +- Employ %sysuser macros to generate "boinc" user + +------------------------------------------------------------------- +Thu Jan 4 21:22:29 UTC 2024 - Aaron Puchert + +- Use systemd-sysusers to create service user and group. +- Add service user to "render" group to allow BOINC applications + to use GPU devices for accelerated computation. DRM render nodes + have been restricted in sr#1128161. +- Remove unused SysV init script. +- Update README.SUSE and the logrotate configuration file to use + systemctl instead of the no longer relevant init script. + +------------------------------------------------------------------- +Sat Aug 12 09:08:43 UTC 2023 - Jan Engelhardt + +- Update to release 7.24.1 + * Resolve some crash on MacOS + +------------------------------------------------------------------- +Tue Aug 8 10:00:26 UTC 2023 - Jan Engelhardt + +- Update to release 7.24 + * client: improve implementation of CPU throttling + * client: set Content-type of POST requests to text/xml + +------------------------------------------------------------------- +Mon May 22 10:52:37 UTC 2023 - Jan Engelhardt + +- Update to release 7.22.2 + * Fix a screensaver crash bug + +------------------------------------------------------------------- +Tue Jan 24 13:03:25 UTC 2023 - Jan Engelhardt + +- Update to relesae 7.22 + * Add not-in-use computing prefs + * Update cpu/gpu resources when app_config is re-read + +------------------------------------------------------------------- +Fri Dec 2 11:28:11 UTC 2022 - Jan Engelhardt + +- Update to release 7.20.5 + * Fix "Stop graphics" button operation + +------------------------------------------------------------------- +Mon Jul 18 11:26:15 UTC 2022 - Jan Engelhardt + +- Update to release 7.20.2 + * client: if bandwidth limit is removed (up or down), remove + limit from active transfers. + * client: fix bug in work fetch logic for case of zero resource + share and zero work buf. + +------------------------------------------------------------------- +Sun Jul 3 16:51:58 UTC 2022 - Jan Engelhardt + +- Update to release 7.20.1 + * Manager: wxWidgets debug alert when switching between + advanced and simple view. + * BOINC did not gracefully handle capitalization discrepancies + * client: fix #2837 had removed a special use case + where idle was desired before work fetch, which was fixed + * Manager: Memory access error on closedown + * Manager: Search for skins to display on Simple View + +------------------------------------------------------------------- +Tue Jun 7 21:04:38 UTC 2022 - Jan Engelhardt + +- Update to release 7.20.0 + * client: pass process priority to wrapper + * client: Ignore tty(S|ACM) devices in TTY idle time + calculation + * client: fix overly aggressive project-wide file transfer + backoff policy + * client: fix work-fetch logic when max concurrent limits are + used + * manager: fix failure to connect to client with non-English + language +- Let -devel subpackage follow the main package name. + +------------------------------------------------------------------- +Sat Oct 23 16:17:52 UTC 2021 - Aaron Puchert + +- Drop boinc-gui.desktop and icons, because upstream provides a + desktop entry with icons now. + +------------------------------------------------------------------- +Fri Oct 8 12:03:18 UTC 2021 - Jan Engelhardt + +- Update to release 7.18.1 + * Exporting event log wrote just 6 lines, which was fixed. + +------------------------------------------------------------------- +Fri Jul 16 09:45:18 UTC 2021 - Jan Engelhardt + +- Update to release 7.18 + * A number of fixes for other platforms like Android + +------------------------------------------------------------------- +Thu Jan 21 08:34:07 UTC 2021 - Thorsten Kukuk + +- pwdutils was dropped long time ago +- fix building (/etc/init.d does not exist) + +------------------------------------------------------------------- +Wed Jan 6 19:06:52 UTC 2021 - Dirk Müller + +- update to 7.16.14: + * macOS fixes + +------------------------------------------------------------------- +Sat Sep 5 20:00:16 UTC 2020 - Jan Engelhardt + +- Update to release 7.16.11 + * Changes to build procedure for other platforms + * A locale-related fix is included + +------------------------------------------------------------------- +Tue Aug 25 20:49:05 UTC 2020 - Jan Engelhardt + +- Update to release 7.16.9 + * Linux client: fix X-based idle detection + * Drop X11 fallback as Wayland can show a desktop session with no + X11 servers, but XWayland can be started temporarily (and is + useless for idle detection). + * client: avoid CPU starvation when GPU computing is suspended + * client: do nott allow an empty GUI RPC password + * client: let a project master URL change from http: to https: without involving the user. + * Fix CORS for GUI RPC via HTTP + * Converted Java parts to Kotlin + * transitioner: Fix race condition with file_upload_handler +- Drop boinc-guirpcauth.patch (mostly merged; upstream has a + slightly different solution, though) + +------------------------------------------------------------------- +Wed Apr 22 13:59:26 UTC 2020 - Paolo Stivanin + +- Update to 7.16.6 + * client: add config file option (Unix) + * client: if an output file is missing or bad length, + mark workunit as error. + * client: on startup, check for active task finish files. + * client: fix bug in missing-file logic that cause task + abort at startup. + * client: fix bug that caused jobs to run after client exit. + * client: don't unsuspend before sending quit message. + * client: send task descriptions if requested by AM. + +------------------------------------------------------------------- +Sun Dec 1 19:01:30 UTC 2019 - Jan Engelhardt + +- Update to release 7.16.3 + * If output file is missing on startup, flag task as error. + * Let project specify directories in logical file names. + * Fix security vulnerability involving logical file names. + * Make "reread config files" work for ncpus. + * Support fetch of files over GUI RPC; allow projects to supply + their own web-based GUI. + * Support GUI RPCs as HTTP Post requests. + * Enable "Other options" in simple view if no client connected. + * Clear "vm_extensions_disabled" flag on startup. + * Fix work fetch bug when max_concurrent used. + * Unsuspend jobs before telling them to quit. + * Sanity check job runtime limits. + * Fix overflow in OpenCL GPU FLOPS calculation. +- Do not ignore errors from groupadd/useradd + +------------------------------------------------------------------- +Tue Sep 10 09:24:20 UTC 2019 - Christophe Giboudeaux + +- Build boinc-client using -ffat-lto-objects + +------------------------------------------------------------------- +Sat Dec 15 17:37:27 UTC 2018 - aaronpuchert@alice-dsl.net + +- Update to version 7.14.2. + * Fix GPU detection when run with --detach_console or using $PATH + * Update NVIDIA GPU detection for recent models + * Change simple prefs dialog behavior to match advanced + * If using a dynamic account manager, show AM user name in + Manager rather than randomly-generated project account names + * Move new-version URLs from cc_config.xml to nvc_config.xml + (so that WCG can customize) + +------------------------------------------------------------------- +Mon Aug 6 13:32:35 UTC 2018 - jengelh@inai.de + +- Remove unnecessary ldconfig from devel subpackage + +------------------------------------------------------------------- +Tue Jul 24 20:06:29 UTC 2018 - aaronpuchert@alice-dsl.net + +- Update to version 7.12.1. +- Remove doc package, since the files have been removed from the + source. Actually it wasn't even the documentation, but the + server code. +- Disable idle detection via the XSS API and remove dependency to + libXScrnSaver-devel. This feature requires access to a running + X server, which the BOINC client does not have in OpenSUSE. +- Rename the devel package and provide the correct dependency. + The devel package provides the headers for libboinc, and has + nothing to do with the BOINC client. +- Add conflict to original devel package. +- Remove unnecessary dependency to libxslt. +- Update systemd service file with changes from upstream: start + after network-online.target, and use "ProtectHome=true". +- Move bash completion file to /usr/share tree to fix rpmlint. +- Declare license files as %license. +- Don't install `notes` and `todo` - these are internal notes of + the developers and not helpful to users. +- Drop 0001-MGR-support-wxWidgets-without-webview.patch, which has + landed upstream (commit 27bb3c9e). +- libboinc-shared.patch: Build shared libraries for client and + static libraries for science apps. Science apps are distributed + as binaries over the BOINC network, so dynamic linking doesn't + make sense. But we can use dynamic linking for the client. +- build-client-scripts.patch: Add some targets to fix build. +- Fix default path for boincscr. + +------------------------------------------------------------------- +Wed Jul 11 15:36:12 UTC 2018 - chris@computersalat.de + +- Update to 7.8.6 + * can't find any useful ChangeLog :( + +------------------------------------------------------------------- +Thu Nov 23 13:38:12 UTC 2017 - rbrown@suse.com + +- Replace references to /var/adm/fillup-templates with new + %_fillupdir macro (boo#1069468) + +------------------------------------------------------------------- +Thu Oct 26 22:39:03 UTC 2017 - chris@computersalat.de + +- Update to version 7.8.3. (aaronpuchert) +- Removed the deprecated "Encoding" line from the .desktop file. +- Updated the cleanup code: + * Permissions seem to be correct now. + * Line endings seem to be correct. + * Applied the UTF-8 conversion to the 2011 notes as well. +- Removed the entire coprocs/NVIDIA directory, since all files in + there have a doubtful license. +- Removed components that are not required for a Linux build. + +------------------------------------------------------------------- +Sun Sep 10 00:49:25 UTC 2017 - chris@computersalat.de + +- update to 7.8.2 + * no changelog available +- add {minor_version} +- rm wrong sim_web link +- fix files for SLES 11 +- remove obsolete patch + * 0001-Fix-1530-null-pointer-dereference.patch + +------------------------------------------------------------------- +Fri Sep 8 09:38:10 UTC 2017 - jengelh@inai.de + +- Add 0001-MGR-support-wxWidgets-without-webview.patch + +------------------------------------------------------------------- +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 + +- fix for boo#1026965 + * no remote connect, no sysconfig file (--allow_remote_gui_rpc) + * install and fillup sysconfig file + * rework service file +- fix wrong bashism fix by ledest + * grep should NOT match +- do not build boinc-manager on SLES 11/12 + * bcond_with manager +- revert conditionals remove for SLES 11 + * add SysVinit file +- mv boincscr to manager pkg, built with manager + +------------------------------------------------------------------- +Mon Jan 2 10:31:59 UTC 2017 - jengelh@inai.de + +- Add argument passing from boinc-manager to boinc-gui [boo#1017705] + +------------------------------------------------------------------- +Tue Dec 27 21:18:12 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 7.6.33 +* Fix a crash near readdir (add + 0001-Fix-1530-null-pointer-dereference.patch) + +------------------------------------------------------------------- +Sun Apr 24 07:31:13 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 7.6.32 +- Remove boinc-client-AM_CONDITIONAL.patch, boinc-configure.patch + (no longer needed) + +------------------------------------------------------------------- +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 + +- boinc-client.service: replace ControlGroup= by Slice=, since + ControlGroup is gone since systemd-205 already. We now use the + "background.slice". Configuration of the background.slice is + left to the administrator since it may be shared by other + packages, and is subject to preferences. If you need some default + to begin with for the first time, use + `systemctl set-property background.slice CPUShares=2`. + +------------------------------------------------------------------- +Wed Mar 18 13:09:19 UTC 2015 - jengelh@inai.de + +- Reduce logrotate from Requires to Recommends. +- Remove Requires: cron. This seems only for the server parts + (not in this package). +- Remove systemd requires to allow for a minimal container setup. + +------------------------------------------------------------------- +Sun Nov 09 01:44:00 UTC 2014 - Led + +- fix bashism in pre script + +------------------------------------------------------------------- +Tue Jun 17 13:39:32 UTC 2014 - tchvatal@suse.com + +- Remove needless rpmlintrc lines to ease error spotting when there + really are some. + +------------------------------------------------------------------- +Tue Jun 17 13:30:10 UTC 2014 - tchvatal@suse.com + +- Cleanup with spec-cleaner for better readability +- Move lang packages from Requires to Recommends + +------------------------------------------------------------------- +Tue Jun 17 13:13:14 UTC 2014 - tchvatal@suse.com + +- Remove unused patch: + * boinc-completion.patch +- Remove comments with unused patches +- Remove conditionals with inits as we don't build for such release + anyway +- Provide rcboinc symlink for easier usage. + +------------------------------------------------------------------- +Wed Mar 26 22:34:18 UTC 2014 - chris@computersalat.de + +- some RPMLINT fixes + * fix License: remove ',' + * non-standard-gid /var/lib/boinc boinc + * SR #227671 to rpmlint +- fix deps for libxcb + +------------------------------------------------------------------- +Tue Mar 18 15:21:19 UTC 2014 - chris@computersalat.de + +- fix README.SUSE + +------------------------------------------------------------------- +Sun Mar 16 22:23:48 UTC 2014 - chris@computersalat.de + +# fix for bnc#779335 + * disabled boinc-completion.patch +- update to 7.2.42 + * Fix problem that was causing scheduler RPCs to fail on Yoyo@home + (HTTP status code 400) + * for mor info have a look at + http://boinc.berkeley.edu/wiki/Release_Notes +- removed obsolete patches: + * boinc-client-dynamic_buffers.patch + * boinc-init.patch + * boinc-client-7.0.36-AM_CONDITIONAL.patch + * boinc-client-7.0.36-dynamic_buffers.patch +- rebased patches: + * boinc-LC_MESSAGES.patch + * boinc-client-AM_CONDITIONAL.patch + * boinc-configure.patch + * boinc-docbook2x.patch + * boinc-guirpcauth.patch + +------------------------------------------------------------------- +Sat Oct 26 09:45:58 UTC 2013 - p.drouand@gmail.com + +- Update to version 7.0.36 + + No changelog available +- Add systemd support +- Adapt patchs to upstream changes + * boinc-client-dynamic_buffers.patch + * boinc-client-AM_CONDITIONAL.patch +- Remove boinc-client-glib_h.patch; fixed on upstream +- Do not copy INSTALL in documentation + +------------------------------------------------------------------- +Wed May 1 20:53:41 UTC 2013 - chris@computersalat.de + +- update to 7.0.28 + * sorry but there is no ChangeLog :( +- rebase patches + * dynamic_buffers, guirpcauth, AM_CONDITIONAL +- add configure patch +- remove obsolete glib_h patch + +------------------------------------------------------------------- +Wed Apr 3 11:12:16 UTC 2013 - coolo@suse.com + +- do not own bash directories + +------------------------------------------------------------------- +Tue Jul 10 13:50:30 UTC 2012 - chris@computersalat.de + +- rename patch + * fix-automake-conditional to boinc-client-AM_CONDITIONAL patch +- fix build for SLE_11 + * AM_CONDITIONAL patch >= 12.2 + +------------------------------------------------------------------- +Tue Jul 10 12:24:13 UTC 2012 - coolo@suse.com + +- fix compilation for factory and 12.2 + +------------------------------------------------------------------- +Sun Jul 1 19:51:54 UTC 2012 - chris@computersalat.de + +- add BOINC_DIR to sysconfig + * make BOINC_DIR configurable (a proposal of Carsten Neumann) + +------------------------------------------------------------------- +Sat Feb 11 00:56:07 UTC 2012 - chris@computersalat.de + +- add glib_h patch + +------------------------------------------------------------------- +Fri Feb 10 23:40:19 UTC 2012 - chris@computersalat.de + +- update tp 6.12.43 + * sorry but there is no ChangeLog :( +- rework patches +- remove obsolete patches + * boinc-server.patch + * boinc-client-str_util.patch +- add boinc-client-lang subpkg +- fix DSOLinkChange for suse >= 1210 + * see https://fedoraproject.org/wiki/UnderstandingDSOLinkChange + for more info, special thanks to Stefan Dirsch :) + +------------------------------------------------------------------- +Fri Feb 10 23:07:01 UTC 2012 - chris@computersalat.de + +- fix sed for boinc-manager + +------------------------------------------------------------------- +Wed Feb 8 22:51:55 UTC 2012 - chris@computersalat.de + +- fix for bnc#745887 ( Confirm licensing of boinc-client 6.10.60 ) +- fix for bnc#744612 ( File /usr/bin/boinc_gui incorrectly named ) +- fix for bnc#744389 ( boinc-client will not run ) +- fix for bnc#732118 ( BOINC installs but will not run ) + +------------------------------------------------------------------- +Mon Feb 6 15:05:05 UTC 2012 - chris@computersalat.de + +- fix License (http://www.spdx.org/licenses/) + * LGPL-3.0 + +------------------------------------------------------------------- +Sun Feb 5 23:11:38 UTC 2012 - chris@computersalat.de + +- remove client dep of manager + * manager does not really need a local boinc-client ;) +- fix desktop file + +------------------------------------------------------------------- +Sat Feb 4 00:37:37 UTC 2012 - chris@computersalat.de + +- fix deps for boinc-client + * Requires libboinc6 + +------------------------------------------------------------------- +Thu Feb 2 20:32:57 UTC 2012 - chris@computersalat.de + +- rework patches +- rework sysconfig file +- rework logrotate file +- add SuSElike init script +- fix user add + * boinc needs a shell +- fix wrapper + * replace boincmanager with boinc-manager and add symlink for + backward compatibility + * fix boinc_gui -> boinc-gui +- fix License + * LGPLv3 +- fix for bnc#689499 + * a blocked boinc client, the manager works + +------------------------------------------------------------------- +Fri Sep 30 20:07:45 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to make the spec file more reliable + +------------------------------------------------------------------- +Tue Aug 30 18:18:14 UTC 2011 - Sascha.Manns@open-slx.de + +- fixed Bug bnc#714623 (/var/lock/subsys unsupported) + +------------------------------------------------------------------- +Mon May 16 18:49:58 CEST 2011 - pth@suse.de + +- Avoid buffer overflow in filesys.cpp(dir_size). + +------------------------------------------------------------------- +Sun May 1 23:27:45 UTC 2011 - chris@computersalat.de + +- update to 6.10.60 + * Fix: Project list issue in the attach wizard that lead to a crash +- fix deps + o wxGTK-devel +- enable parallel build + +------------------------------------------------------------------- +Fri Apr 29 06:11:10 UTC 2011 - saigkill@opensuse.org + +- filed shared-lib-calls-exit in boinc as + http://boinc.berkeley.edu/trac/ticket/1098 +- filed binary-or-shlib-calls-gethostbyname as + http://boinc.berkeley.edu/trac/ticket/1099 + +------------------------------------------------------------------- +Thu Apr 28 13:28:25 UTC 2011 - saigkill@opensuse.org + +- Rewritten the Spec based on Malcolm Lewis Improvements (THX) + +------------------------------------------------------------------- +Wed Apr 27 17:37:08 UTC 2011 - saigkill@opensuse.org + +- Removed boinc-bnc_465676.patch (Fixed Upstream) +- Removed boinc-bnc_465676.patch (Fixed Upstream) +- Removed boinc-client-NotebookWxPanel.patch (Fixed Upstream) +- Removed boinc-client-wxWindowListNode.patch (Fixed Upstream) + +------------------------------------------------------------------- +Tue Dec 28 18:21:51 CET 2010 - sbrabec@suse.cz + +- Compile with wxWidgets (STL variant). + +------------------------------------------------------------------- +Tue Oct 5 04:24:40 UTC 2010 - malcolmlewis@opensuse.org + +- Fix boinc-manager-lang requires + +------------------------------------------------------------------- +Tue Oct 5 03:41:39 UTC 2010 - malcolmlewis@opensuse.org + +- Major spec file makeover +- Updated version +- Cleaned up patches +- Fixed most deprecated conversion from string constant to 'char*' + +------------------------------------------------------------------- +Mon Mar 15 16:06:23 UTC 2010 - coolo@novell.com + +- disable use of %jobs + +------------------------------------------------------------------- +Sun May 31 23:27:04 CEST 2009 - saigkill@opensuse.org + +- fixed str_util.h while using newer gcc (THX to Jan) + +------------------------------------------------------------------- +Fri May 22 14:06:32 CEST 2009 - saigkill@opensuse.org + +- fixed Errors while using newer wx Version + +------------------------------------------------------------------- +Fri Mar 27 11:57:43 CET 2009 - saigkill@opensuse.org + +- removed boinctray depency + +------------------------------------------------------------------- +Sat Mar 14 18:41:07 CET 2009 - saigkill@opensuse.org + +- added rpmlintrc + +------------------------------------------------------------------- +Wed Feb 25 15:06:27 CET 2009 - pth@suse.de + +- Use wxWindowList::compatibility_iterator instead of wxWindowListNode* + as the latter is not defined when wxWindows is compiled to use + the STL. +- Include standard compiler flags. +- Reformat description +- Correct spelling boinc-client-README.SuSE + +------------------------------------------------------------------ +Thu Feb 12 11:10:00 CET 2009 - saigkill@opensuse.org + +- added wxstring_conversion.patch (fix Bug #774 Berkeley Bug) + +------------------------------------------------------------------ +Wed Feb 11 17:41:00 CET 2009 - saigkill@opensuse.org + +- first stable Version +- fixed boincmgr to copy gui_rpc_auth.cfg to every /home + +------------------------------------------------------------------ +Wed Feb 11 11:48:44 CET 2009 - saigkill@opensuse.org + +- Export %%changelog to boinc-client.changes + +------------------------------------------------------------------ +Tue Feb 10 12:00:00 CET 2009 - saigkill@opensuse.org + +- changed $BOINCEXE from boinc_client to boinc + +------------------------------------------------------------------ +Wed Feb 04 12:00:00 CET 2009 - saigkill@opensuse.org + +- Fixed OpenSUSE Bugzilla Bug #468414 + +------------------------------------------------------------------ +Tue Feb 03 12:00:00 CET 2009 - saigkill@opensuse.org + +- updated to Version 6.4 +- deleted bnc_465676 (was fixed in sourcecode by boinc-team) + +------------------------------------------------------------------ +Mon Feb 02 12:00:00 CET 2009 - dl9pf@gmx.de + +- tweaked -doc package + +------------------------------------------------------------------ +Mon Feb 02 12:00:00 CET 2009 - saigkill@opensuse.org + +- added README.SuSE to %%doc +- added own Patches: + + boinc-docbook2x (fix using docbook2x) + + boinc-LC_MESSAGES (fix handling .mo LC Messages) + + boinc-rcscript (fix using init.d instead of rc.d) + (fix BOINC User root) + + boinc-sysconfig (fix installing conf in /etc/boinc-client.conf) + (fix init File as boinc) + + ca_cert_deactivate (fix deactivate using of ca_cert) + + fs_start_included (fix add $fs_network to init.d Script) + +------------------------------------------------------------------ +Sun Feb 01 12:00:00 CET 2009 - saigkill@opensuse.org + +- added fillup Macro to use sysconfig +- use sysconfig.boinc as source from fillup macro + +------------------------------------------------------------------ +Sat Jan 31 12:00:00 CET 2009 - saigkill@opensuse.org + +- deleted bnc_431510 not relevant (for Mac). +- deleted bnc_439037 not relevant +- deleted bnc_442904 for Win. In my Package no Win/Mac Source +- added bnc_465676.patch fix CVE-ID: CVE-2009-0126 +- branched for Factory:Contrib + +------------------------------------------------------------------ +Fri Jan 23 12:00:00 CET 2009 - saigkill@opensuse.org + +- deleted mac/mac_build/win Folders from the Sourcecode + +------------------------------------------------------------------ +Wed Jan 14 12:00:00 CET 2009 - mauro@suse.de + +- Added bnc_465676.patch to fix bnc#465676. + + Fixes CVE-2008-5077 + + check return values of RSA_*() functions. + + fix a memory leak, missing RSA_free(). + +------------------------------------------------------------------ +Tue Dec 23 12:00:00 CET 2008 - mauro@suse.de + +- Added bnc_442904.patch to fix bnc#442904. + + Use the proper delete. + +------------------------------------------------------------------ +Mon Nov 03 12:00:00 CET 2008 - mauro@suse.de + +- Add bnc_439037.patch to fix bnc#439037. We now use strcmp + instead of the original ==. + +------------------------------------------------------------------ +Fri Oct 03 12:00:00 CET 2008 - mauro@suse.de + +- Add bnc-431510.patch to fix bnc#431510. + +------------------------------------------------------------------ +Mon Sep 08 12:00:00 CET 2008 - mauro@suse.de + +- initial package for SuSE. boinc 6.2.18 (based on the enzokiel's + (opensuse version). diff --git a/boinc-client.service b/boinc-client.service new file mode 100644 index 0000000..df1effc --- /dev/null +++ b/boinc-client.service @@ -0,0 +1,25 @@ +[Unit] +Description=Berkeley Open Infrastructure Network Computing Client +Documentation=man:boinc(1) +After=network-online.target + +[Service] +Type=simple +EnvironmentFile=-/etc/sysconfig/boinc-client +Nice=10 +User=boinc +ProtectHome=true +CPUSchedulingPolicy=batch +Slice=background.slice +### boinc logs (with --redirectio) to stdoutdae.txt and stderrdae.txt +#PermissionsStartOnly=yes +#ExecStartPre=/bin/sleep 1 +#ExecStartPre=/usr/bin/touch /var/log/boinc-client.log /var/log/boinc-client.err.log +#ExecStartPre=/usr/bin/chown $BOINC_BOINC_USR:$BOINC_BOINC_GRP /var/log/boinc-client.log /var/log/boinc-client.err.log +ExecStart=/usr/bin/boinc --dir $BOINC_BOINC_DIR $BOINC_BOINC_OPTS +ExecStop=/usr/bin/boinccmd --quit +ExecReload=/usr/bin/boinccmd --read_cc_config +ExecStopPost=/bin/rm -f $BOINC_BOINC_DIR/lockfile + +[Install] +WantedBy=multi-user.target diff --git a/boinc-client.spec b/boinc-client.spec new file mode 100644 index 0000000..cccfddb --- /dev/null +++ b/boinc-client.spec @@ -0,0 +1,372 @@ +# +# spec file for package boinc-client +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2016 by Aaron Puchert +# Copyright (c) 2011 by Sascha Manns +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif + +%define sonum 8 +%define boinc_dir %{_localstatedir}/lib/boinc + +# do not build boinc-manager on SLES 11/12 +%if 0%{?is_opensuse} +%bcond_without manager +%else +%bcond_with manager +%endif + +Name: boinc-client +%define rel_name %{name}_release +%define minor_version 8.0 +Version: %minor_version.2 +Release: 0 +Summary: Client for Berkeley Open Infrastructure for Network Computing +License: GPL-3.0-or-later OR LGPL-3.0-or-later +Group: Productivity/Clustering/Computing +URL: https://boinc.berkeley.edu/ + +#Git-Clone: https://github.com/BOINC/boinc +Source0: https://github.com/BOINC/boinc/archive/client_release/%{minor_version}/%{version}.tar.gz +Source3: README.SUSE +Source4: sysconfig.%{name} +Source5: boinc-logrotate +Source6: boinc-manager +Source20: %{name}.service +Source100: %{name}-rpmlintrc +Patch2: boinc-docbook2x.patch +Patch4: xlocale.patch +Patch5: build-client-scripts.patch +Patch6: libboinc-shared.patch +BuildRequires: Mesa-devel +BuildRequires: docbook2x +BuildRequires: docbook_4 +BuildRequires: fdupes +BuildRequires: freeglut-devel +BuildRequires: gcc-c++ +BuildRequires: gcc-fortran +BuildRequires: gettext-runtime +BuildRequires: libcurl-devel >= 7.17.1 +BuildRequires: libjpeg-devel +BuildRequires: libnotify-devel +BuildRequires: libtool +BuildRequires: openssl-devel +BuildRequires: pkg-config +BuildRequires: sqlite3-devel +BuildRequires: sysuser-tools +BuildRequires: xorg-x11-libXmu-devel +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-util) +BuildRequires: pkgconfig(xi) +%sysusers_requires +Requires: ca-certificates-mozilla +Recommends: boinc-client-lang = %{version} +Recommends: logrotate +%if %{with manager} +BuildRequires: update-desktop-files +BuildRequires: wxWidgets-3_2-devel >= 3.1.5 +%lang_package -n boinc-manager +%endif +%lang_package + +%description +The Berkeley Open Infrastructure for Network Computing (BOINC) is a +software platform which supports distributed computing, primarily in +the form of "volunteer" computing and "desktop grid" computing. It is +well suited for problems which are often described as "trivially +parallel". BOINC is the underlying software used by projects such as +Einstein@Home, ClimatePrediciton.net, the World Community +Grid, and many other distributed computing projects. + +This package installs the BOINC client software, which will allow +your computer to participate in one or more BOINC projects, using +your spare 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. + +%package -n boinc-manager +Summary: GUI to control and monitor boinc-client +Group: Productivity/Scientific/Astronomy +Recommends: boinc-manager-lang = %{version} +Requires: hicolor-icon-theme + +%description -n boinc-manager +The BOINC Manager is a graphical monitor and control utility for the BOINC +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. + +%package -n libboinc%{sonum} +Summary: Berkeley Open Infrastructure For Network Computing library +Group: System/Libraries + +%description -n libboinc%{sonum} +The Berkeley Open Infrastructure for Network Computing (BOINC) is a +software platform which supports distributed computing. + +%package devel +Summary: Development files for libboinc +Group: Development/Libraries/C and C++ +Requires: libboinc%{sonum} = %{version}-%{release} +Conflicts: %{name}-devel +Requires: openssl-devel +Obsoletes: libboinc-devel < %{version}-%{release} +Provides: libboinc-devel = %{version}-%{release} + +%description devel +This package contains development files for libboinc. + +%prep +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +%autosetup -p1 -n %{name}_release-%{minor_version}-%{version} -D + +%build +# Fix default path for boincscr +sed -i -e "s,/var/lib/boinc-client,%{boinc_dir},g" \ + clientscr/screensaver_x11.cpp + +# Install user hints +install -m0644 %{SOURCE3} README.SUSE + +# Fix lang directories (refer patch2) +mv locale/pt_PT locale/pt + +# fix utf8 +for i in 2005 2009 2010 2011; do + iconv -f ISO88591 -t UTF8 < checkin_notes_$i > checkin_notes_$i.utf8 + touch -r checkin_notes_$i checkin_notes_$i.utf8 + mv checkin_notes_$i.utf8 checkin_notes_$i +done + +## remove files with questionable licenses +# removing NVIDIA owned file that does not clearly allow redistribution or +# modification +rm -r coprocs/NVIDIA + +# Remove unnecessary components and files for other platforms. +rm -r android drupal mac_build mac_installer win_build xcompile + +autoreconf -fi +export CFLAGS="%optflags -W -pipe -fno-strict-aliasing -D_REENTRANT" +echo %sle_version +%if 0%{?sle_version} == 120000 +echo enablingcxx +export CFLAGS="$CFLAGS -std=c++11" +%endif +export CXXFLAGS="$CFLAGS" +%configure \ + --enable-optimize \ + --enable-shared \ + --disable-static \ + --enable-dynamic-client-linkage \ + --enable-unicode \ + --disable-server \ + --disable-fcgi \ +%if ! %{with manager} + --disable-manager \ +%endif + --with-ssl + +# Disable rpaths +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +# Export Path and make +%make_build clean +%make_build libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \ + DESTDIR=%{_prefix} V=1 + +%install +%make_install +mkdir -p "%buildroot/%_sysusersdir" +cat >system-user-boinc.conf <<-EOF + g boinc - + u boinc -:boinc "BOINC Client" /var/lib/boinc + # Several BOINC applications want to use the GPU for computations. + m boinc render +EOF +cp -a system-user-boinc.conf "%buildroot/%_sysusersdir/" +%sysusers_generate_pre system-user-boinc.conf random system-user-boinc.conf + +%if %{with manager} +for i in clientgui locale; do +%else +for i in locale; do +%endif + pushd $i + %make_install + popd +done + +rm -f "%{buildroot}/etc/init.d/boinc-client" + +# Creates default folders +install -dm0755 %{buildroot}%{boinc_dir} +install -dm0755 %{buildroot}%{_mandir}/man1 + +# Remove old boinc & rename boinc_client to boinc-client +rm -f %{buildroot}%{_bindir}/boinc +mv -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name} + +%if %{with manager} +# Rename boincmgr and wrap it +mv %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui + +# Install boinc-manager wrapper script +install -Dm0755 %{SOURCE6} %{buildroot}%{_bindir}/boinc-manager +%endif + +# Use symlink instead of hardlink +pushd %{buildroot}%{_bindir} +ln -s -f %{name} boinc +%if %{with manager} +ln -s -f boinc-manager boincmgr +ln -s -f boinc-manager boincmanager +%endif +popd + +%if %{with manager} +# replace @boinc_dir@, @bindir@ +sed -i \ + -e "s,@boinc_dir@,%{boinc_dir},g" \ + -e "s,@bindir@,%{_bindir},g" \ + %{buildroot}%{_bindir}/boinc-manager +%endif + +# Remove {buildroot}/etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv +rm -f %{buildroot}%{_sysconfdir}/sysconfig/%{name} + +# Install init and create symlink for rcboinc +install -dm0755 %{buildroot}%{_sbindir} +install -D -m0644 %{SOURCE20} %{buildroot}%{_unitdir}/%{name}.service +ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} +# Install template for sysconfig +install -Dm0644 %{SOURCE4} %{buildroot}%{_fillupdir}/sysconfig.%{name} + +# Install logrotate +install -Dm0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} + +# Install bash completion +install -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_datadir}/bash-completion/completions/boinc + +# Remove static libraries, libtool archives +rm %{buildroot}%{_libdir}/*.la + +# Relinking Manpages +%if %{with manager} +ln -s -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz +%endif +ln -s -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz +ln -s -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz + +# Install fake /var/lib/boinc +install -dm0755 %{buildroot}%{_var}/lib/boinc + +# Prepare $LANG Packages +%find_lang BOINC-Client +%if %{with manager} +%find_lang BOINC-Manager +%else +find %{buildroot}/%{_datadir}/locale/ -name "BOINC-Manager.mo" -delete +%endif + +%fdupes -s %{buildroot} + +%pre -f random.pre +# fix replacing old sysconfig file (r21) +if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then + if ! grep -q "BOINC_BOINC_USR" %{_sysconfdir}/sysconfig/boinc-client; then + mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save + fi +fi +%service_add_pre %{name}.service + +%preun +%service_del_preun %{name}.service + +%post +%{fillup_only} +%service_add_post %{name}.service + +%postun +%service_del_postun %{name}.service + +%post -n boinc-manager +%{_bindir}/touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun -n boinc-manager +%{_bindir}/touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%post -n libboinc%{sonum} -p /sbin/ldconfig +%postun -n libboinc%{sonum} -p /sbin/ldconfig + +%files +%license COPYING* COPYRIGHT +%doc README.SUSE +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%{_datadir}/bash-completion/completions/* +%{_bindir}/boinc +%{_bindir}/%{name} +%{_bindir}/boinccmd +%{_mandir}/man1/boinccmd.1.gz +%{_mandir}/man1/boinc.1.gz +%{_unitdir}/%{name}.service +%{_sbindir}/rc%{name} +%{_fillupdir}/sysconfig.%{name} +%_sysusersdir/* +%attr(-,boinc,boinc) %{boinc_dir}/ + +%files -n %{name}-lang -f BOINC-Client.lang + +%if %{with manager} +%files -n boinc-manager +%{_bindir}/boinc-gui +%{_bindir}/boinc-manager +%{_bindir}/boincmgr +%{_bindir}/boincmanager +%{_bindir}/boincscr +%{_datadir}/applications/boinc.desktop +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/boinc-manager/ +%{_mandir}/man1/boincmgr.1.gz +%{_mandir}/man1/boinc-manager.1.gz + +%files -n boinc-manager-lang -f BOINC-Manager.lang +%endif + +%files -n libboinc%{sonum} +%{_libdir}/*.so.* + +%files devel +%{_libdir}/*.a +%{_libdir}/*.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/boinc + +%changelog diff --git a/boinc-docbook2x.patch b/boinc-docbook2x.patch new file mode 100644 index 0000000..8378ef7 --- /dev/null +++ b/boinc-docbook2x.patch @@ -0,0 +1,23 @@ +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.22-7.22.0/configure.ac +=================================================================== +--- boinc-client_release-7.22-7.22.0.orig/configure.ac ++++ boinc-client_release-7.22-7.22.0/configure.ac +@@ -375,7 +375,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. +-AC_PATH_PROG(DOCBOOK2X_MAN, docbook2x-man) ++AC_PATH_PROG(DOCBOOK2X_MAN, docbook-to-man) + AM_CONDITIONAL(HAVE_DOCBOOK2X_MAN, [test -n "${DOCBOOK2X_MAN}"]) + + if test "${enable_wasm}" = yes ; then diff --git a/boinc-logrotate b/boinc-logrotate new file mode 100644 index 0000000..d1ac1b2 --- /dev/null +++ b/boinc-logrotate @@ -0,0 +1,27 @@ +/var/log/boinc-client.log { + daily + compress + dateext + notifempty + rotate 99 + size +4096k + missingok + create 644 root root + postrotate + /usr/bin/systemctl restart boinc-client.service + endscript +} + +#/var/log/boinc-client_err.log { +# daily +# compress +# dateext +# notifempty +# rotate 99 +# size +4096k +# missingok +# create 644 root root +# postrotate +# /usr/bin/systemctl restart boinc-client.service +# endscript +#} diff --git a/boinc-manager b/boinc-manager new file mode 100644 index 0000000..840c243 --- /dev/null +++ b/boinc-manager @@ -0,0 +1,10 @@ +#!/bin/sh +# +# boinc-manager - a wrapper to start BOINC Client GUI +# +# Checking for gui_rpc_auth.cfg +if ! test -f ~/gui_rpc_auth.cfg ; then + ln -s @boinc_dir@/gui_rpc_auth.cfg ~/. +fi + +exec boinc-gui -d @boinc_dir@ "$@" diff --git a/build-client-scripts.patch b/build-client-scripts.patch new file mode 100644 index 0000000..bfb55ce --- /dev/null +++ b/build-client-scripts.patch @@ -0,0 +1,10 @@ +--- a/client/scripts/Makefile.am ++++ b/client/scripts/Makefile.am +@@ -1,5 +1,7 @@ + ## -*- mode: makefile; tab-width: 4 -*- + ++all-local: boinc-client boinc-client.service ++ + install-exec-hook: + chmod +x boinc-client + if [ -d /etc/init.d ] ; then \ diff --git a/libboinc-shared.patch b/libboinc-shared.patch new file mode 100644 index 0000000..d858d88 --- /dev/null +++ b/libboinc-shared.patch @@ -0,0 +1,165 @@ +Date: Tue Jul 24 20:06:29 UTC 2018 +From: aaronpuchert@alice-dsl.net + +Build shared libraries for client and static libraries for science +apps. Science apps are distributed as binaries over the BOINC +network, so dynamic linking doesn't make sense. But we can use +dynamic linking for the client. + +--- + api/Makefile.am | 6 +++--- + apps/Makefile.am | 6 +++--- + client/Makefile.am | 1 - + clientgui/Makefile.am | 1 - + clientscr/Makefile.am | 1 - + lib/Makefile.am | 4 ++-- + sched/Makefile.am | 1 - + tools/Makefile.am | 1 - + vda/Makefile.am | 1 - + 9 files changed, 8 insertions(+), 14 deletions(-) + +Index: boinc-client_release-8.0-8.0.2/api/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/api/Makefile.am ++++ boinc-client_release-8.0-8.0.2/api/Makefile.am +@@ -44,20 +44,20 @@ endif + lib_LTLIBRARIES = libboinc_api.la + pkgconfig_DATA = libboinc_api.pc + libboinc_api_la_SOURCES = $(api_files) +-libboinc_api_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) ++libboinc_api_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) + + if BUILD_GRAPHICS_API + lib_LTLIBRARIES += libboinc_graphics2.la + pkgconfig_DATA += libboinc_graphics2.pc + libboinc_graphics2_la_SOURCES = $(graphics2_files) + libboinc_graphics2_la_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/samples/image_libs +-libboinc_graphics2_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) -ljpeg ++libboinc_graphics2_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) -ljpeg + endif #BUILD_GRAPHICS_API + + lib_LTLIBRARIES += libboinc_opencl.la + pkgconfig_DATA += libboinc_opencl.pc + libboinc_opencl_la_SOURCES = $(opencl_files) +-libboinc_opencl_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) ++libboinc_opencl_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) + + if INSTALL_HEADERS + ## install only headers that are meant for exporting the API !! +Index: boinc-client_release-8.0-8.0.2/apps/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/apps/Makefile.am ++++ boinc-client_release-8.0-8.0.2/apps/Makefile.am +@@ -8,15 +8,15 @@ example_PROGRAMS = uppercase concat 1sec + + uppercase_SOURCES = uppercase.cpp + uppercase_CXXFLAGS = $(PTHREAD_CFLAGS) +-uppercase_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) ++uppercase_LDFLAGS = $(PTHREAD_CFLAGS) + uppercase_LDADD = $(APPLIBS) + + concat_SOURCES = concat.cpp + concat_CXXFLAGS = $(PTHREAD_CFLAGS) +-concat_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) ++concat_LDFLAGS = $(PTHREAD_CFLAGS) + concat_LDADD = $(APPLIBS) + + 1sec_SOURCES = 1sec.cpp + 1sec_CXXFLAGS = $(PTHREAD_CFLAGS) +-1sec_LDFLAGS = -static-libtool-libs $(PTHREAD_CFLAGS) ++1sec_LDFLAGS = $(PTHREAD_CFLAGS) + 1sec_LDADD = $(APPLIBS) +Index: boinc-client_release-8.0-8.0.2/client/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/client/Makefile.am ++++ boinc-client_release-8.0-8.0.2/client/Makefile.am +@@ -6,7 +6,6 @@ CXXFLAGS := $(filter-out -mfpu=vfpv3-d16 + include $(top_srcdir)/Makefile.incl + + if ENABLE_CLIENT_RELEASE +- AM_LDFLAGS += -static-libtool-libs + ## for an entirely statically linked library, you may want to try + ## -all-static instead. There's a good chance it won't work properly, + ## so we'll use the safer "-static-libtool-libs" by default. +Index: boinc-client_release-8.0-8.0.2/clientgui/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/clientgui/Makefile.am ++++ boinc-client_release-8.0-8.0.2/clientgui/Makefile.am +@@ -7,7 +7,6 @@ + include $(top_srcdir)/Makefile.incl + + if ENABLE_CLIENT_RELEASE +- AM_LDFLAGS += -static-libtool-libs + ## for an entirely statically linked library, you may want to try + ## -all-static instead. There's a good chance it won't work properly, + ## so we'll use the safer "-static-libtool-libs" by default. +Index: boinc-client_release-8.0-8.0.2/clientscr/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/clientscr/Makefile.am ++++ boinc-client_release-8.0-8.0.2/clientscr/Makefile.am +@@ -5,7 +5,6 @@ include $(top_srcdir)/Makefile.incl + + AM_LDFLAGS += -lpthread + if ENABLE_CLIENT_RELEASE +- AM_LDFLAGS += -static-libtool-libs + ## for an entirely statically linked library, you may want to try + ## -all-static instead. There's a good chance it won't work properly, + ## so we'll use the safer "-static-libtool-libs" by default. +Index: boinc-client_release-8.0-8.0.2/lib/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/lib/Makefile.am ++++ boinc-client_release-8.0-8.0.2/lib/Makefile.am +@@ -184,7 +184,7 @@ pkgconfig_DATA = libboinc.pc + libboinc_la_SOURCES = $(generic_sources) $(mac_sources) $(win_sources) + libboinc_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) + libboinc_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) +-libboinc_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) ++libboinc_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + if OS_FREEBSD + libboinc_la_LDFLAGS += -lexecinfo + endif +@@ -196,7 +196,7 @@ pkgconfig_DATA += libboinc_crypt.pc + libboinc_crypt_la_SOURCES = crypt.cpp + libboinc_crypt_la_CFLAGS = $(AM_CFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CFLAGS) + libboinc_crypt_la_CXXFLAGS = $(AM_CXXFLAGS) $(PICFLAGS) $(PTHREAD_CFLAGS) $(SSL_CXXFLAGS) +-libboinc_crypt_la_LDFLAGS = -static -version-number $(LIBBOINC_VERSION) ++libboinc_crypt_la_LDFLAGS = -version-number $(LIBBOINC_VERSION) + libboinc_crypt_la_LIBADD = + endif + +Index: boinc-client_release-8.0-8.0.2/sched/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/sched/Makefile.am ++++ boinc-client_release-8.0-8.0.2/sched/Makefile.am +@@ -4,7 +4,6 @@ + include $(top_srcdir)/Makefile.incl + + AM_CPPFLAGS += $(MYSQL_CFLAGS) $(PTHREAD_CFLAGS) +-AM_LDFLAGS += -static + + if ENABLE_LIBRARIES + +Index: boinc-client_release-8.0-8.0.2/tools/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/tools/Makefile.am ++++ boinc-client_release-8.0-8.0.2/tools/Makefile.am +@@ -43,7 +43,6 @@ dist_tools_DATA = \ + gui_urls.xml + + AM_CXXFLAGS += $(MYSQL_CFLAGS) +-AM_LDFLAGS += -static + + cancel_jobs_SOURCES = cancel_jobs.cpp + cancel_jobs_LDADD = $(SERVERLIBS) +Index: boinc-client_release-8.0-8.0.2/vda/Makefile.am +=================================================================== +--- boinc-client_release-8.0-8.0.2.orig/vda/Makefile.am ++++ boinc-client_release-8.0-8.0.2/vda/Makefile.am +@@ -4,7 +4,6 @@ vdadir=$(libexecdir)/boinc-server-maker/ + vda_PROGRAMS = vda vdad ssim + + AM_CXXFLAGS += $(MYSQL_CFLAGS) +-AM_LDFLAGS += -static + + vda_SOURCES = vda.cpp vda_lib.cpp vda_lib2.cpp vda_policy.cpp stats.cpp + vda_LDADD = $(SERVERLIBS) diff --git a/sysconfig.boinc-client b/sysconfig.boinc-client new file mode 100644 index 0000000..44f4616 --- /dev/null +++ b/sysconfig.boinc-client @@ -0,0 +1,66 @@ +## Path: Productivity/Clustering/Computing +## Description: define BOINC user +## Type: string +## Default: "boinc" +## Config: BOINC +# +# An empty setting will point to boinc +# +BOINC_BOINC_USR="boinc" + +## Path: Productivity/Clustering/Computing +## Description: define BOINC group +## Type: string +## Default: "boinc" +## Config: BOINC +# +# An empty setting will point to boinc +# +BOINC_BOINC_GRP="boinc" + +## Path: Productivity/Clustering/Computing +## Description: define BOINC DIR +## Type: string +## Default: "/var/lib/boinc" +## Config: BOINC +## +## An empty setting will point to /var/lib/boinc (SysVinit) +## +BOINC_BOINC_DIR="/var/lib/boinc" + +## Path: Productivity/Clustering/Computing +## Description: define BOINC options +## Type: string +## Default: "" +## Config: BOINC +# +## --allow_remote_gui_rpc +## allow boinc manager connections from remote machines +## +## --check_all_logins +## for idle detection, check remote logins too +## run only when no logins from anywhere are active +## +## --gui_rpc_port +## port for GUI RPCs +## +## --gui_rpc_unix_domain +## use Unix domain for GUI RPCs +## +## --no_gpus +## don't check for GPUs +## +## --redirectio +## redirect stdout and stderr to log files +## +## --no_gui_rpc +## don't allow GUI RPC, don't make socket +## +## --run_cpu_benchmarks +## run the CPU benchmarks +## +## --skip_cpu_benchmarks +## don't run CPU benchmarks +## +# +BOINC_BOINC_OPTS="" diff --git a/xlocale.patch b/xlocale.patch new file mode 100644 index 0000000..6b5f83a --- /dev/null +++ b/xlocale.patch @@ -0,0 +1,23 @@ +From: Jan Engelhardt +Date: 2017-09-03 00:10:38.255132582 +0200 + +build: use locale.h instead of xlocale.h + +glibc-2.26 has dropped xlocale.h. +--- + clientgui/AsyncRPC.cpp | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +--- a/clientgui/AsyncRPC.cpp ++++ b/clientgui/AsyncRPC.cpp +@@ -24,9 +24,7 @@ + #endif + #include "config.h" + +-#if HAVE_XLOCALE_H +-#include +-#endif ++#include + + #include "stdwx.h" + #include "BOINCGUIApp.h" From 07295fb6394f7cc0c1ff072a2d62b849bdfd5f33ab96739ad0af627cce48f681 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 12 Jul 2024 04:59:57 +0000 Subject: [PATCH 2/2] add bugref so bots add another comment to bugzilla OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=125 --- boinc-client.changes | 1 + 1 file changed, 1 insertion(+) diff --git a/boinc-client.changes b/boinc-client.changes index bb4502d..b6070cc 100644 --- a/boinc-client.changes +++ b/boinc-client.changes @@ -4,6 +4,7 @@ Fri Jul 12 04:58:08 UTC 2024 - Jan Engelhardt - Revert to state of 2024-05-26 due to regressions, https://build.opensuse.org/request/show/1183568#comment-1957214 https://build.opensuse.org/request/show/1184357#comment-1959404 + [boo#1227092] ------------------------------------------------------------------- Thu Jun 27 11:43:32 UTC 2024 - chris@computersalat.de