From 2563ac2933be85a58e7bc953e1f80ac0b04f173b Mon Sep 17 00:00:00 2001 From: Sven Eden Date: Wed, 24 May 2017 09:29:35 +0200 Subject: sci-misc/boinc: Fix suspend/resume commands in the init script. Both suspend and resume do not work any more, at least with boinc-7.6.33. The reason is, that fetching the project URLs require password authentication. This commit adds the required steps to no longer get an authentication error when trying to suspend/resume boinc. Closes: https://github.com/gentoo/gentoo/pull/4732 Package-Manager: portage-2.3.6 --- sci-misc/boinc/boinc-7.2.44-r3.ebuild | 166 --------------------------------- sci-misc/boinc/boinc-7.2.44-r4.ebuild | 166 +++++++++++++++++++++++++++++++++ sci-misc/boinc/boinc-7.4.52-r3.ebuild | 171 ---------------------------------- sci-misc/boinc/boinc-7.4.52-r4.ebuild | 171 ++++++++++++++++++++++++++++++++++ sci-misc/boinc/boinc-7.6.33-r3.ebuild | 171 ---------------------------------- sci-misc/boinc/boinc-7.6.33-r4.ebuild | 171 ++++++++++++++++++++++++++++++++++ sci-misc/boinc/files/boinc.init | 20 ++-- 7 files changed, 520 insertions(+), 516 deletions(-) delete mode 100644 sci-misc/boinc/boinc-7.2.44-r3.ebuild create mode 100644 sci-misc/boinc/boinc-7.2.44-r4.ebuild delete mode 100644 sci-misc/boinc/boinc-7.4.52-r3.ebuild create mode 100644 sci-misc/boinc/boinc-7.4.52-r4.ebuild delete mode 100644 sci-misc/boinc/boinc-7.6.33-r3.ebuild create mode 100644 sci-misc/boinc/boinc-7.6.33-r4.ebuild diff --git a/sci-misc/boinc/boinc-7.2.44-r3.ebuild b/sci-misc/boinc/boinc-7.2.44-r3.ebuild deleted file mode 100644 index 7a1902920496..000000000000 --- a/sci-misc/boinc/boinc-7.2.44-r3.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -WX_GTK_VER=2.8 - -inherit autotools eutils linux-info systemd user versionator wxwidgets - -MY_PV=$(get_version_component_range 1-2) - -DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" -HOMEPAGE="http://boinc.ssl.berkeley.edu/" -SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz - X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" -RESTRICT="mirror" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" - -REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " - -# libcurl must not be using an ssl backend boinc does not support. -# If the libcurl ssl backend changes, boinc should be recompiled. -RDEPEND=" - !sci-misc/boinc-bin - !app-admin/quickswitch - >=app-misc/ca-certificates-20080809 - net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] - sys-apps/util-linux - sys-libs/zlib - cuda? ( - >=dev-util/nvidia-cuda-toolkit-2.1 - >=x11-drivers/nvidia-drivers-180.22 - ) - X? ( - dev-db/sqlite:3 - media-libs/freeglut - sys-libs/glibc:2.2 - virtual/jpeg:0= - x11-libs/gtk+:2 - >=x11-libs/libnotify-0.7 - x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] - ) -" -DEPEND="${RDEPEND} - sys-devel/gettext - app-text/docbook-xml-dtd:4.4 - app-text/docbook2X - X? ( virtual/imagemagick-tools[png,tiff] ) -" - -S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" - -pkg_setup() { - # Bug 578750 - if use kernel_linux; then - linux-info_pkg_setup - if ! linux_config_exists; then - ewarn "Can't check the linux kernel configuration." - ewarn "You might be missing vsyscall support." - elif kernel_is -ge 4 4 \ - && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then - ewarn "You do not have vsyscall emulation enabled." - ewarn "This will prevent some boinc projects from running." - ewarn "Please enable vsyscall emulation:" - ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" - ewarn "in /usr/src/linux/.config, to be found at" - ewarn " Processor type and features --->" - ewarn " vsyscall table for legacy applications (None) --->" - ewarn " (X) Emulate" - ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." - ewarn "However, this has security implications and is not recommended." - fi - fi -} - -src_prepare() { - default - - # prevent bad changes in compile flags, bug 286701 - sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" - - eautoreconf - - use X && need-wxwidgets unicode -} - -src_configure() { - econf --disable-server \ - --enable-client \ - --enable-dynamic-client-linkage \ - --disable-static \ - --enable-unicode \ - --with-ssl \ - $(use_with X x) \ - $(use_enable X manager) \ - $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) -} - -src_install() { - default - - keepdir /var/lib/${PN} - - if use X; then - # Create new icons. bug 593362 - local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) - for s in "${SIZES[@]}"; do - convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die - newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png - done - make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" - - # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 - mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ - die "Failed to rename desktop file" - fi - - # cleanup cruft - rm -rf "${ED%/}"/etc || die "rm failed" - - newinitd "${FILESDIR}"/${PN}.init ${PN} - newconfd "${FILESDIR}"/${PN}.conf ${PN} - systemd_dounit "${FILESDIR}"/${PN}.service -} - -pkg_preinst() { - enewgroup ${PN} - # note this works only for first install so we have to - # elog user about the need of being in video group - local groups="${PN}" - if use cuda; then - groups+=",video" - fi - enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" -} - -pkg_postinst() { - elog - elog "You are using the source compiled version of boinc." - use X && elog "The graphical manager can be found at /usr/bin/boincmgr" - elog - elog "You need to attach to a project to do anything useful with boinc." - elog "You can do this by running /etc/init.d/boinc attach" - elog "The howto for configuration is located at:" - elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" - elog - # Add warning about the new password for the client, bug 121896. - if use X; then - elog "If you need to use the graphical manager the password is in:" - elog "/var/lib/boinc/gui_rpc_auth.cfg" - elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" - elog "/etc/conf.d/boinc" - elog "You should change this password to something more memorable (can be even blank)." - elog "Remember to launch init script before using manager. Or changing the password." - elog - fi - if use cuda; then - elog "To be able to use CUDA you should add boinc user to video group." - elog "Run as root:" - elog "gpasswd -a boinc video" - fi -} diff --git a/sci-misc/boinc/boinc-7.2.44-r4.ebuild b/sci-misc/boinc/boinc-7.2.44-r4.ebuild new file mode 100644 index 000000000000..7a1902920496 --- /dev/null +++ b/sci-misc/boinc/boinc-7.2.44-r4.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER=2.8 + +inherit autotools eutils linux-info systemd user versionator wxwidgets + +MY_PV=$(get_version_component_range 1-2) + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="http://boinc.ssl.berkeley.edu/" +SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz + X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" +RESTRICT="mirror" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" + +REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " + +# libcurl must not be using an ssl backend boinc does not support. +# If the libcurl ssl backend changes, boinc should be recompiled. +RDEPEND=" + !sci-misc/boinc-bin + !app-admin/quickswitch + >=app-misc/ca-certificates-20080809 + net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] + sys-apps/util-linux + sys-libs/zlib + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + X? ( + dev-db/sqlite:3 + media-libs/freeglut + sys-libs/glibc:2.2 + virtual/jpeg:0= + x11-libs/gtk+:2 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X + X? ( virtual/imagemagick-tools[png,tiff] ) +" + +S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" + +pkg_setup() { + # Bug 578750 + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might be missing vsyscall support." + elif kernel_is -ge 4 4 \ + && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then + ewarn "You do not have vsyscall emulation enabled." + ewarn "This will prevent some boinc projects from running." + ewarn "Please enable vsyscall emulation:" + ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" + ewarn "in /usr/src/linux/.config, to be found at" + ewarn " Processor type and features --->" + ewarn " vsyscall table for legacy applications (None) --->" + ewarn " (X) Emulate" + ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." + ewarn "However, this has security implications and is not recommended." + fi + fi +} + +src_prepare() { + default + + # prevent bad changes in compile flags, bug 286701 + sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" + + eautoreconf + + use X && need-wxwidgets unicode +} + +src_configure() { + econf --disable-server \ + --enable-client \ + --enable-dynamic-client-linkage \ + --disable-static \ + --enable-unicode \ + --with-ssl \ + $(use_with X x) \ + $(use_enable X manager) \ + $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) +} + +src_install() { + default + + keepdir /var/lib/${PN} + + if use X; then + # Create new icons. bug 593362 + local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) + for s in "${SIZES[@]}"; do + convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die + newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png + done + make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" + + # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 + mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ + die "Failed to rename desktop file" + fi + + # cleanup cruft + rm -rf "${ED%/}"/etc || die "rm failed" + + newinitd "${FILESDIR}"/${PN}.init ${PN} + newconfd "${FILESDIR}"/${PN}.conf ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + enewgroup ${PN} + # note this works only for first install so we have to + # elog user about the need of being in video group + local groups="${PN}" + if use cuda; then + groups+=",video" + fi + enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" +} + +pkg_postinst() { + elog + elog "You are using the source compiled version of boinc." + use X && elog "The graphical manager can be found at /usr/bin/boincmgr" + elog + elog "You need to attach to a project to do anything useful with boinc." + elog "You can do this by running /etc/init.d/boinc attach" + elog "The howto for configuration is located at:" + elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" + elog + # Add warning about the new password for the client, bug 121896. + if use X; then + elog "If you need to use the graphical manager the password is in:" + elog "/var/lib/boinc/gui_rpc_auth.cfg" + elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" + elog "/etc/conf.d/boinc" + elog "You should change this password to something more memorable (can be even blank)." + elog "Remember to launch init script before using manager. Or changing the password." + elog + fi + if use cuda; then + elog "To be able to use CUDA you should add boinc user to video group." + elog "Run as root:" + elog "gpasswd -a boinc video" + fi +} diff --git a/sci-misc/boinc/boinc-7.4.52-r3.ebuild b/sci-misc/boinc/boinc-7.4.52-r3.ebuild deleted file mode 100644 index d33072c9535e..000000000000 --- a/sci-misc/boinc/boinc-7.4.52-r3.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -WX_GTK_VER=3.0 - -inherit autotools eutils linux-info systemd user versionator wxwidgets - -MY_PV=$(get_version_component_range 1-2) - -DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" -HOMEPAGE="http://boinc.ssl.berkeley.edu/" -SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz - X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" -RESTRICT="mirror" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" - -REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " - -# libcurl must not be using an ssl backend boinc does not support. -# If the libcurl ssl backend changes, boinc should be recompiled. -RDEPEND=" - !sci-misc/boinc-bin - !app-admin/quickswitch - >=app-misc/ca-certificates-20080809 - net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] - sys-apps/util-linux - sys-libs/zlib - cuda? ( - >=dev-util/nvidia-cuda-toolkit-2.1 - >=x11-drivers/nvidia-drivers-180.22 - ) - X? ( - dev-db/sqlite:3 - media-libs/freeglut - sys-libs/glibc:2.2 - virtual/jpeg:0= - x11-libs/gtk+:2 - >=x11-libs/libnotify-0.7 - x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit] - ) -" -DEPEND="${RDEPEND} - sys-devel/gettext - app-text/docbook-xml-dtd:4.4 - app-text/docbook2X - X? ( virtual/imagemagick-tools[png,tiff] ) -" - -PATCHES=( - # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462 - "${FILESDIR}"/fix_webview.patch -) - -S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" - -pkg_setup() { - # Bug 578750 - if use kernel_linux; then - linux-info_pkg_setup - if ! linux_config_exists; then - ewarn "Can't check the linux kernel configuration." - ewarn "You might be missing vsyscall support." - elif kernel_is -ge 4 4 \ - && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then - ewarn "You do not have vsyscall emulation enabled." - ewarn "This will prevent some boinc projects from running." - ewarn "Please enable vsyscall emulation:" - ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" - ewarn "in /usr/src/linux/.config, to be found at" - ewarn " Processor type and features --->" - ewarn " vsyscall table for legacy applications (None) --->" - ewarn " (X) Emulate" - ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." - ewarn "However, this has security implications and is not recommended." - fi - fi -} - -src_prepare() { - default - - # prevent bad changes in compile flags, bug 286701 - sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" - - eautoreconf - - use X && need-wxwidgets unicode -} - -src_configure() { - econf --disable-server \ - --enable-client \ - --enable-dynamic-client-linkage \ - --disable-static \ - --enable-unicode \ - --with-ssl \ - $(use_with X x) \ - $(use_enable X manager) \ - $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) -} - -src_install() { - default - - keepdir /var/lib/${PN} - - if use X; then - # Create new icons. bug 593362 - local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) - for s in "${SIZES[@]}"; do - convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die - newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png - done - make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" - - # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 - mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ - die "Failed to rename desktop file" - fi - - # cleanup cruft - rm -rf "${ED%/}"/etc || die "rm failed" - - newinitd "${FILESDIR}"/${PN}.init ${PN} - newconfd "${FILESDIR}"/${PN}.conf ${PN} - systemd_dounit "${FILESDIR}"/${PN}.service -} - -pkg_preinst() { - enewgroup ${PN} - # note this works only for first install so we have to - # elog user about the need of being in video group - local groups="${PN}" - if use cuda; then - groups+=",video" - fi - enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" -} - -pkg_postinst() { - elog - elog "You are using the source compiled version of boinc." - use X && elog "The graphical manager can be found at /usr/bin/boincmgr" - elog - elog "You need to attach to a project to do anything useful with boinc." - elog "You can do this by running /etc/init.d/boinc attach" - elog "The howto for configuration is located at:" - elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" - elog - # Add warning about the new password for the client, bug 121896. - if use X; then - elog "If you need to use the graphical manager the password is in:" - elog "/var/lib/boinc/gui_rpc_auth.cfg" - elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" - elog "/etc/conf.d/boinc" - elog "You should change this password to something more memorable (can be even blank)." - elog "Remember to launch init script before using manager. Or changing the password." - elog - fi - if use cuda; then - elog "To be able to use CUDA you should add boinc user to video group." - elog "Run as root:" - elog "gpasswd -a boinc video" - fi -} diff --git a/sci-misc/boinc/boinc-7.4.52-r4.ebuild b/sci-misc/boinc/boinc-7.4.52-r4.ebuild new file mode 100644 index 000000000000..d33072c9535e --- /dev/null +++ b/sci-misc/boinc/boinc-7.4.52-r4.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER=3.0 + +inherit autotools eutils linux-info systemd user versionator wxwidgets + +MY_PV=$(get_version_component_range 1-2) + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="http://boinc.ssl.berkeley.edu/" +SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz + X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" +RESTRICT="mirror" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" + +REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " + +# libcurl must not be using an ssl backend boinc does not support. +# If the libcurl ssl backend changes, boinc should be recompiled. +RDEPEND=" + !sci-misc/boinc-bin + !app-admin/quickswitch + >=app-misc/ca-certificates-20080809 + net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] + sys-apps/util-linux + sys-libs/zlib + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + X? ( + dev-db/sqlite:3 + media-libs/freeglut + sys-libs/glibc:2.2 + virtual/jpeg:0= + x11-libs/gtk+:2 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit] + ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X + X? ( virtual/imagemagick-tools[png,tiff] ) +" + +PATCHES=( + # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462 + "${FILESDIR}"/fix_webview.patch +) + +S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" + +pkg_setup() { + # Bug 578750 + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might be missing vsyscall support." + elif kernel_is -ge 4 4 \ + && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then + ewarn "You do not have vsyscall emulation enabled." + ewarn "This will prevent some boinc projects from running." + ewarn "Please enable vsyscall emulation:" + ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" + ewarn "in /usr/src/linux/.config, to be found at" + ewarn " Processor type and features --->" + ewarn " vsyscall table for legacy applications (None) --->" + ewarn " (X) Emulate" + ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." + ewarn "However, this has security implications and is not recommended." + fi + fi +} + +src_prepare() { + default + + # prevent bad changes in compile flags, bug 286701 + sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" + + eautoreconf + + use X && need-wxwidgets unicode +} + +src_configure() { + econf --disable-server \ + --enable-client \ + --enable-dynamic-client-linkage \ + --disable-static \ + --enable-unicode \ + --with-ssl \ + $(use_with X x) \ + $(use_enable X manager) \ + $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) +} + +src_install() { + default + + keepdir /var/lib/${PN} + + if use X; then + # Create new icons. bug 593362 + local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) + for s in "${SIZES[@]}"; do + convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die + newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png + done + make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" + + # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 + mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ + die "Failed to rename desktop file" + fi + + # cleanup cruft + rm -rf "${ED%/}"/etc || die "rm failed" + + newinitd "${FILESDIR}"/${PN}.init ${PN} + newconfd "${FILESDIR}"/${PN}.conf ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + enewgroup ${PN} + # note this works only for first install so we have to + # elog user about the need of being in video group + local groups="${PN}" + if use cuda; then + groups+=",video" + fi + enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" +} + +pkg_postinst() { + elog + elog "You are using the source compiled version of boinc." + use X && elog "The graphical manager can be found at /usr/bin/boincmgr" + elog + elog "You need to attach to a project to do anything useful with boinc." + elog "You can do this by running /etc/init.d/boinc attach" + elog "The howto for configuration is located at:" + elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" + elog + # Add warning about the new password for the client, bug 121896. + if use X; then + elog "If you need to use the graphical manager the password is in:" + elog "/var/lib/boinc/gui_rpc_auth.cfg" + elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" + elog "/etc/conf.d/boinc" + elog "You should change this password to something more memorable (can be even blank)." + elog "Remember to launch init script before using manager. Or changing the password." + elog + fi + if use cuda; then + elog "To be able to use CUDA you should add boinc user to video group." + elog "Run as root:" + elog "gpasswd -a boinc video" + fi +} diff --git a/sci-misc/boinc/boinc-7.6.33-r3.ebuild b/sci-misc/boinc/boinc-7.6.33-r3.ebuild deleted file mode 100644 index d33072c9535e..000000000000 --- a/sci-misc/boinc/boinc-7.6.33-r3.ebuild +++ /dev/null @@ -1,171 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -WX_GTK_VER=3.0 - -inherit autotools eutils linux-info systemd user versionator wxwidgets - -MY_PV=$(get_version_component_range 1-2) - -DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" -HOMEPAGE="http://boinc.ssl.berkeley.edu/" -SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz - X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" -RESTRICT="mirror" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" -IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" - -REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " - -# libcurl must not be using an ssl backend boinc does not support. -# If the libcurl ssl backend changes, boinc should be recompiled. -RDEPEND=" - !sci-misc/boinc-bin - !app-admin/quickswitch - >=app-misc/ca-certificates-20080809 - net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] - sys-apps/util-linux - sys-libs/zlib - cuda? ( - >=dev-util/nvidia-cuda-toolkit-2.1 - >=x11-drivers/nvidia-drivers-180.22 - ) - X? ( - dev-db/sqlite:3 - media-libs/freeglut - sys-libs/glibc:2.2 - virtual/jpeg:0= - x11-libs/gtk+:2 - >=x11-libs/libnotify-0.7 - x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit] - ) -" -DEPEND="${RDEPEND} - sys-devel/gettext - app-text/docbook-xml-dtd:4.4 - app-text/docbook2X - X? ( virtual/imagemagick-tools[png,tiff] ) -" - -PATCHES=( - # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462 - "${FILESDIR}"/fix_webview.patch -) - -S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" - -pkg_setup() { - # Bug 578750 - if use kernel_linux; then - linux-info_pkg_setup - if ! linux_config_exists; then - ewarn "Can't check the linux kernel configuration." - ewarn "You might be missing vsyscall support." - elif kernel_is -ge 4 4 \ - && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then - ewarn "You do not have vsyscall emulation enabled." - ewarn "This will prevent some boinc projects from running." - ewarn "Please enable vsyscall emulation:" - ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" - ewarn "in /usr/src/linux/.config, to be found at" - ewarn " Processor type and features --->" - ewarn " vsyscall table for legacy applications (None) --->" - ewarn " (X) Emulate" - ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." - ewarn "However, this has security implications and is not recommended." - fi - fi -} - -src_prepare() { - default - - # prevent bad changes in compile flags, bug 286701 - sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" - - eautoreconf - - use X && need-wxwidgets unicode -} - -src_configure() { - econf --disable-server \ - --enable-client \ - --enable-dynamic-client-linkage \ - --disable-static \ - --enable-unicode \ - --with-ssl \ - $(use_with X x) \ - $(use_enable X manager) \ - $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) -} - -src_install() { - default - - keepdir /var/lib/${PN} - - if use X; then - # Create new icons. bug 593362 - local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) - for s in "${SIZES[@]}"; do - convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die - newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png - done - make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" - - # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 - mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ - die "Failed to rename desktop file" - fi - - # cleanup cruft - rm -rf "${ED%/}"/etc || die "rm failed" - - newinitd "${FILESDIR}"/${PN}.init ${PN} - newconfd "${FILESDIR}"/${PN}.conf ${PN} - systemd_dounit "${FILESDIR}"/${PN}.service -} - -pkg_preinst() { - enewgroup ${PN} - # note this works only for first install so we have to - # elog user about the need of being in video group - local groups="${PN}" - if use cuda; then - groups+=",video" - fi - enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" -} - -pkg_postinst() { - elog - elog "You are using the source compiled version of boinc." - use X && elog "The graphical manager can be found at /usr/bin/boincmgr" - elog - elog "You need to attach to a project to do anything useful with boinc." - elog "You can do this by running /etc/init.d/boinc attach" - elog "The howto for configuration is located at:" - elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" - elog - # Add warning about the new password for the client, bug 121896. - if use X; then - elog "If you need to use the graphical manager the password is in:" - elog "/var/lib/boinc/gui_rpc_auth.cfg" - elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" - elog "/etc/conf.d/boinc" - elog "You should change this password to something more memorable (can be even blank)." - elog "Remember to launch init script before using manager. Or changing the password." - elog - fi - if use cuda; then - elog "To be able to use CUDA you should add boinc user to video group." - elog "Run as root:" - elog "gpasswd -a boinc video" - fi -} diff --git a/sci-misc/boinc/boinc-7.6.33-r4.ebuild b/sci-misc/boinc/boinc-7.6.33-r4.ebuild new file mode 100644 index 000000000000..d33072c9535e --- /dev/null +++ b/sci-misc/boinc/boinc-7.6.33-r4.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +WX_GTK_VER=3.0 + +inherit autotools eutils linux-info systemd user versionator wxwidgets + +MY_PV=$(get_version_component_range 1-2) + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="http://boinc.ssl.berkeley.edu/" +SRC_URI="https://github.com/BOINC/boinc/archive/client_release/${MY_PV}/${PV}.tar.gz -> ${P}.tar.gz + X? ( http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif -> ${PN}.tif )" +RESTRICT="mirror" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="X cuda curl_ssl_gnutls curl_ssl_libressl +curl_ssl_openssl static-libs" + +REQUIRED_USE="^^ ( curl_ssl_gnutls curl_ssl_libressl curl_ssl_openssl ) " + +# libcurl must not be using an ssl backend boinc does not support. +# If the libcurl ssl backend changes, boinc should be recompiled. +RDEPEND=" + !sci-misc/boinc-bin + !app-admin/quickswitch + >=app-misc/ca-certificates-20080809 + net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_libressl(-)=,-curl_ssl_nss(-),curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),-curl_ssl_polarssl(-)] + sys-apps/util-linux + sys-libs/zlib + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + X? ( + dev-db/sqlite:3 + media-libs/freeglut + sys-libs/glibc:2.2 + virtual/jpeg:0= + x11-libs/gtk+:2 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl,webkit] + ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X + X? ( virtual/imagemagick-tools[png,tiff] ) +" + +PATCHES=( + # >=x11-libs/wxGTK-3.0.2.0-r3 has webview removed, bug 587462 + "${FILESDIR}"/fix_webview.patch +) + +S="${WORKDIR}/${PN}-client_release-${MY_PV}-${PV}" + +pkg_setup() { + # Bug 578750 + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might be missing vsyscall support." + elif kernel_is -ge 4 4 \ + && linux_chkconfig_present LEGACY_VSYSCALL_NONE; then + ewarn "You do not have vsyscall emulation enabled." + ewarn "This will prevent some boinc projects from running." + ewarn "Please enable vsyscall emulation:" + ewarn " CONFIG_LEGACY_VSYSCALL_EMULATE=y" + ewarn "in /usr/src/linux/.config, to be found at" + ewarn " Processor type and features --->" + ewarn " vsyscall table for legacy applications (None) --->" + ewarn " (X) Emulate" + ewarn "Alternatively, you can enable CONFIG_LEGACY_VSYSCALL_NATIVE." + ewarn "However, this has security implications and is not recommended." + fi + fi +} + +src_prepare() { + default + + # prevent bad changes in compile flags, bug 286701 + sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" + + eautoreconf + + use X && need-wxwidgets unicode +} + +src_configure() { + econf --disable-server \ + --enable-client \ + --enable-dynamic-client-linkage \ + --disable-static \ + --enable-unicode \ + --with-ssl \ + $(use_with X x) \ + $(use_enable X manager) \ + $(usex X --with-wx-config="${WX_CONFIG}" --without-wxdir) +} + +src_install() { + default + + keepdir /var/lib/${PN} + + if use X; then + # Create new icons. bug 593362 + local s SIZES=(16 22 24 32 36 48 64 72 96 128 192 256) + for s in "${SIZES[@]}"; do + convert "${DISTDIR}"/${PN}.tif -resize ${s}x${s} "${WORKDIR}"/boinc_${s}.png || die + newicon -s $s "${WORKDIR}"/boinc_${s}.png boinc.png + done + make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" + + # Rename the desktop file to boincmgr.desktop to (hot)fix bug 599910 + mv "${ED%/}"/usr/share/applications/boincmgr{-${PN},}.desktop || \ + die "Failed to rename desktop file" + fi + + # cleanup cruft + rm -rf "${ED%/}"/etc || die "rm failed" + + newinitd "${FILESDIR}"/${PN}.init ${PN} + newconfd "${FILESDIR}"/${PN}.conf ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + enewgroup ${PN} + # note this works only for first install so we have to + # elog user about the need of being in video group + local groups="${PN}" + if use cuda; then + groups+=",video" + fi + enewuser ${PN} -1 -1 /var/lib/${PN} "${groups}" +} + +pkg_postinst() { + elog + elog "You are using the source compiled version of boinc." + use X && elog "The graphical manager can be found at /usr/bin/boincmgr" + elog + elog "You need to attach to a project to do anything useful with boinc." + elog "You can do this by running /etc/init.d/boinc attach" + elog "The howto for configuration is located at:" + elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" + elog + # Add warning about the new password for the client, bug 121896. + if use X; then + elog "If you need to use the graphical manager the password is in:" + elog "/var/lib/boinc/gui_rpc_auth.cfg" + elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" + elog "/etc/conf.d/boinc" + elog "You should change this password to something more memorable (can be even blank)." + elog "Remember to launch init script before using manager. Or changing the password." + elog + fi + if use cuda; then + elog "To be able to use CUDA you should add boinc user to video group." + elog "Run as root:" + elog "gpasswd -a boinc video" + fi +} diff --git a/sci-misc/boinc/files/boinc.init b/sci-misc/boinc/files/boinc.init index ceeeac87145e..23450a6857cc 100644 --- a/sci-misc/boinc/files/boinc.init +++ b/sci-misc/boinc/files/boinc.init @@ -184,15 +184,17 @@ resume() { env_check || return 1 local password="" - local master_urls=( \ - $("${BOINCCMD}" --get_project_status | \ - sed -n 's/\s*master URL: //p') \ - ) if need_passwd_arg; then password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\"" fi + local master_urls=( \ + $(cd "${RUNTIMEDIR}" ; \ + "${BOINCCMD}" ${password} --get_project_status | \ + sed -n 's/\s*master URL: //p') \ + ) + for url in "${master_urls[@]}"; do ebegin "Resuming $url" start-stop-daemon --user "${USER}:${GROUP}" --quiet \ @@ -207,15 +209,17 @@ suspend() { env_check || return 1 local password="" - local master_urls=( \ - $("${BOINCCMD}" --get_project_status | \ - sed -n 's/\s*master URL: //p') \ - ) if need_passwd_arg; then password="--passwd \"$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")\"" fi + local master_urls=( \ + $(cd "${RUNTIMEDIR}" ; \ + "${BOINCCMD}" ${password} --get_project_status | \ + sed -n 's/\s*master URL: //p') \ + ) + for url in "${master_urls[@]}"; do ebegin "Suspending $url" start-stop-daemon --user "${USER}:${GROUP}" --quiet \ -- cgit v1.2.3-65-gdbad