[sci-misc/boinc] bump boinc from tree to latest 7.2 and 7.3, both tested in a clientonly build, 7.2 will probably work, 7.3 uses wxwidgets3 and therefore might not work, needs testing

only change from tree is "use X" for the gtk includes
This commit is contained in:
Robert Förster 2014-03-18 12:32:22 +01:00
parent f09a910985
commit 73c2b098c3
8 changed files with 603 additions and 0 deletions

9
sci-misc/boinc/Manifest Normal file
View File

@ -0,0 +1,9 @@
AUX boinc-7.2.0-fix_subdirs.patch 1967 SHA256 10eda21779b4187687b71f99f02e37906a2d0fd8a2a6b8a3578e20b8de568d1b SHA512 110b9b7d318c0ac95a883e07041f2b1fab892f0ebaacf513e17f2daba66355f468dd97fb416322083d7337345b2afb9df250cbbb9da74f892d11d33e8f069b79 WHIRLPOOL dc1d826f58f08031d97172d6716033be931291691637e43c534605742df2b5ade2c9ac0df8c89862bc8a02aaba459e50150b5058d8757ba22984cf5b1aff0685
AUX boinc.conf 376 SHA256 286f5f11e54a73b41ebf1e35aae1db4c2c3e249a3bfce755ced84c8c1b361cc9 SHA512 5c28de999c4b32c0cdb096dd48d2ee22504c3cb60bacdbdc4a48c4967dac181060427f2912463e45ea109c49f1c6d6a9f9631844ef26687c75521926cf26677a WHIRLPOOL 05cc900fa19722185025df2fb09e0ad4e86c7bae01dc54dc2d43fd1a0d590de4e1bf15f8cf38c8e17f441d17db482ac7390bf35c61e92742cc05dda778656858
AUX boinc.init 2640 SHA256 d15f25a8e53e1d94abd1f30eda1e49be497ebbfcd167facc40b7f46128e01d5c SHA512 481426c8bbb5b481c9298e816a9317bf1351dd59926f3e1a2a20b77aad3971cb8782797892d18459f8b3cab70fefe84a7731da1bdfa3ae0b2bcf120f4fa0b194 WHIRLPOOL fe398384b4b76d7cdb7dc732b8f44501b9433eeb925a3cd98a38ac0b7f0e9065cb0340d5869e1f0476842c76ada8817a6e8b3af56ec28ccf58c7a655f7e746ec
AUX boinc.service 178 SHA256 3bcd2bdc65f7b6d9f568eeb63f54e7beaa2f0681f34bfd2d486cfd212fced105 SHA512 86a59b9096b19e6472781cb2a7229dd0540569666bcb5bedd83371e6264f1d6bee70e8b47216e1a5b6462726dcd3b54d86ba8de4478faab6c1792071b76abaf9 WHIRLPOOL 1c34aef20a8cdc0cb50a5b25c759cf622488dd2749945317f9f162a1ef1e8189b1f1069ea7be78528d1ee6454945f02f859b02359381e1d27240b796c5c0a85b
AUX generate_tarball.sh 3700 SHA256 64f01324942c98ba34a4f5e1744c54b980c0b74fe9de813a14fa4f9c5a6236b8 SHA512 856e3ef6e5de7db95ae3a2eba7d8e42bcd1fe60c8b414bc6e56c26af352a61624d4458dc5b694f9407c833656cd5e3e340b3759f97a4ca3e615187c4928245ab WHIRLPOOL d79cf1dd13271baa529a3a57f8996c3a3ab76b2e0c0c32413ef970f388f4a428243d6599a76d7aac575e49480b66fae9aff63a9132d7ce7c171f13500114614b
DIST boinc-7.2.43.tar.xz 25403400 SHA256 474ad59e44a5b40ba1fd12eddc1a58fdb2cf885a8315d0118264859f5073d6ba SHA512 24f9c3782cbd3b0e477fc4bad49e4237cab1f02bc6f8662c175c2492ed1000f8d337f8be7622a1173e5b8c9be36e72b8bcf74b73f154e4132b63a2a1b4ad1ff7 WHIRLPOOL 4b5770d09b68e54f586d5d015e5a92746d1fcd58c11e4e506e3196f738ba2ae434592ccdddf6efdeee5c9376dd79a74fbf31c20b0aa6ba003790f3c2ce2816ad
DIST boinc-7.3.13.tar.xz 26450488 SHA256 dc396a6c2771ecab8b4f033a3cba0deb8302bc8eb573bc7c0ec4c9c99fe35822 SHA512 395e99942096e1e0ff32bc3a0687c3262c20486023a0c51b5514f7361feca57900b26a321c514ef34afedfbc1eab3c3f91d04074b75888ba8f52e65abf2ebb5d WHIRLPOOL c942a3d44fed7e3725e362e96e7ba094509bba472c463399631f6dda74a61bdfede7633786909e66054c003f9e693bdbe35a7b001d68a5a112af22cfa496f8b2
EBUILD boinc-7.2.43.ebuild 3572 SHA256 94a2cd4cf2e370175ed864f45c382a7b2162de930a931faa7cade2120b14a983 SHA512 45dc8144eefb777f7c838f9532bfd6c41af684b4e90c4b57466c394814755dbc4437de66d633df12959eb4eeee5b20d2cb19db784bca9e7b8fc35aeef7a95695 WHIRLPOOL 9668f7304d3c51c8742b1f0cfd9f3be85524754d9f640bbf77247f97d97bd811372c03bd0339d6a38ac401032717950081b204f0f87547292099dd3e6f4543ce
EBUILD boinc-7.3.13.ebuild 3572 SHA256 bad2f800af26eac079b26eea93799c485edefe8de058b6f59f1a3be90ff3743c SHA512 ba40a77ec3130e13085426586f4bf8489f22f163f0abfe8de0dc8146ac0968c7339c22d073ad0bd1a477a18130d125a14669965189414d615a844720deeb7b7d WHIRLPOOL b1b07cbd99a97c893c7d065dabf910260e75259555abacc34138fe96c6daed6a41e1edfef0476a8bc389c6255bce0ef11600317ea74c1329e58dbae9e2400191

View File

@ -0,0 +1,145 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
AUTOTOOLS_AUTORECONF=true
inherit autotools-utils flag-o-matic eutils wxwidgets user systemd
DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
HOMEPAGE="http://boinc.ssl.berkeley.edu/"
SRC_URI="http://people.znc.in/~dessa/gentoo/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="X cuda static-libs"
RDEPEND="
!sci-misc/boinc-bin
!app-admin/quickswitch
>=app-misc/ca-certificates-20080809
dev-libs/openssl
net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)]
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
x11-libs/gtk+:2
>=x11-libs/libnotify-0.7
x11-libs/wxGTK:2.8[X,opengl]
)
"
DEPEND="${RDEPEND}
sys-devel/gettext
app-text/docbook-xml-dtd:4.4
app-text/docbook2X
"
PATCHES=(
"${FILESDIR}"/${PN}-7.2.0-fix_subdirs.patch
)
AUTOTOOLS_IN_SOURCE_BUILD=1
src_prepare() {
# prevent bad changes in compile flags, bug 286701
sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
autotools-utils_src_prepare
}
src_configure() {
local wxconf=""
# add gtk includes
use X && append-flags "$(pkg-config --cflags gtk+-2.0)"
# look for wxGTK
if use X; then
WX_GTK_VER="2.8"
need-wxwidgets unicode
wxconf+=" --with-wx-config=${WX_CONFIG}"
else
wxconf+=" --without-wxdir"
fi
local myeconfargs=(
--disable-server
--enable-client
--enable-dynamic-client-linkage
--disable-static
--enable-unicode
--with-ssl
$(use_with X x)
$(use_enable X manager)
${wxconf}
)
autotools-utils_src_configure
}
src_install() {
autotools-utils_src_install
dodir /var/lib/${PN}/
keepdir /var/lib/${PN}/
if use X; then
newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die
make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
fi
# cleanup cruft
rm -rf "${ED}"/etc/
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
if use cuda; then
enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video"
else
enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}"
fi
}
pkg_postinst() {
echo
elog "You are using the source compiled version of ${PN}."
use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr"
elog
elog "You need to attach to a project to do anything useful with ${PN}."
elog "You can do this by running /etc/init.d/${PN} 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/${PN}/gui_rpc_auth.cfg"
elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:"
elog "/etc/conf.d/${PN}"
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
}

View File

@ -0,0 +1,145 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
AUTOTOOLS_AUTORECONF=true
inherit autotools-utils flag-o-matic eutils wxwidgets user systemd
DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
HOMEPAGE="http://boinc.ssl.berkeley.edu/"
SRC_URI="http://people.znc.in/~dessa/gentoo/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="X cuda static-libs"
RDEPEND="
!sci-misc/boinc-bin
!app-admin/quickswitch
>=app-misc/ca-certificates-20080809
dev-libs/openssl
net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)]
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
x11-libs/gtk+:3
>=x11-libs/libnotify-0.7
x11-libs/wxGTK:3.0[X,opengl]
)
"
DEPEND="${RDEPEND}
sys-devel/gettext
app-text/docbook-xml-dtd:4.4
app-text/docbook2X
"
PATCHES=(
"${FILESDIR}"/${PN}-7.2.0-fix_subdirs.patch
)
AUTOTOOLS_IN_SOURCE_BUILD=1
src_prepare() {
# prevent bad changes in compile flags, bug 286701
sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed"
autotools-utils_src_prepare
}
src_configure() {
local wxconf=""
# add gtk includes
use X && append-flags "$(pkg-config --cflags gtk+-3.0)"
# look for wxGTK
if use X; then
WX_GTK_VER="3.0"
need-wxwidgets unicode
wxconf+=" --with-wx-config=${WX_CONFIG}"
else
wxconf+=" --without-wxdir"
fi
local myeconfargs=(
--disable-server
--enable-client
--enable-dynamic-client-linkage
--disable-static
--enable-unicode
--with-ssl
$(use_with X x)
$(use_enable X manager)
${wxconf}
)
autotools-utils_src_configure
}
src_install() {
autotools-utils_src_install
dodir /var/lib/${PN}/
keepdir /var/lib/${PN}/
if use X; then
newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die
make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}"
fi
# cleanup cruft
rm -rf "${ED}"/etc/
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
if use cuda; then
enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video"
else
enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}"
fi
}
pkg_postinst() {
echo
elog "You are using the source compiled version of ${PN}."
use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr"
elog
elog "You need to attach to a project to do anything useful with ${PN}."
elog "You can do this by running /etc/init.d/${PN} 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/${PN}/gui_rpc_auth.cfg"
elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:"
elog "/etc/conf.d/${PN}"
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
}

View File

@ -0,0 +1,69 @@
Makefile.am | 14 +++++++-------
configure.ac | 5 -----
2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 6322db1..45d8b67 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,13 +10,13 @@ ACLOCAL_AMFLAGS = -I m4
if ENABLE_LIBRARIES
API_SUBDIRS = api lib
-if ENABLE_SERVER
- API_SUBDIRS += zip
-endif
+#if ENABLE_SERVER
+# API_SUBDIRS += zip
+#endif
endif
if ENABLE_SERVER
- SERVER_SUBDIRS = db test py sched apps tools vda html
+ SERVER_SUBDIRS = db test py sched apps tools vda
## once contained samples/example_app which breaks out-of-source-tree builds
endif
@@ -26,9 +26,9 @@ endif
if ENABLE_MANAGER
CLIENTGUI_SUBDIRS = clientgui locale
-if BUILD_X11_SCREENSAVER
- CLIENTGUI_SUBDIRS += clientscr
-endif
+#if BUILD_X11_SCREENSAVER
+# CLIENTGUI_SUBDIRS += clientscr
+#endif
endif
# ORDER MATTERS below. One must build dependencies FIRST, then things
diff --git a/configure.ac b/configure.ac
index 2bef437..5a9e104 100644
--- a/configure.ac
+++ b/configure.ac
@@ -955,7 +955,6 @@ AC_CONFIG_FILES([
apps/Makefile
clientgui/Makefile
clientgui/res/Makefile
- clientscr/Makefile
client/Makefile
client/win/boinc_path_config.py:py/boinc_path_config.py.in
client/scripts/Makefile
@@ -963,7 +962,6 @@ AC_CONFIG_FILES([
db/Makefile
doc/Makefile
doc/manpages/Makefile
- html/Makefile
lib/Makefile
locale/Makefile
Makefile
@@ -993,9 +991,6 @@ AC_CONFIG_FILES([
tools/boinc_path_config.py:py/boinc_path_config.py.in
tools/Makefile
vda/Makefile
- zip/Makefile
- zip/zip/Makefile
- zip/unzip/Makefile
m4/Makefile
])

View File

@ -0,0 +1,17 @@
# Config file for /etc/init.d/boinc
# Owner of BOINC process (must be existing)
USER="boinc"
GROUP="boinc"
# Directory with runtime data: Work units, project binaries, user info etc.
RUNTIMEDIR="/var/lib/boinc"
# Location of the boinc command line binary
BOINCBIN="/usr/bin/boinc_client"
# Allow remote gui RPC yes or no
ALLOW_REMOTE_RPC="no"
# nice level
NICELEVEL="19"

View File

@ -0,0 +1,103 @@
#!/sbin/runscript
extra_started_commands="attach"
depend() {
# we can use dns and net, but we can also in most cases live without them
use dns net ntp-client ntpd
}
create_work_directory() {
if [ ! -d "${RUNTIMEDIR}" ]; then
einfo "Directory ${RUNTIMEDIR} not existing, creating now."
mkdir "${RUNTIMEDIR}"
if [ ! -d "${RUNTIMEDIR}" ]; then
eeror "Directory ${RUNTIMEDIR} could not be created!"
return 1
fi
fi
if [ ! -e "${RUNTIMEDIR}"/ca-bundle.crt ] ; then
ln -s /etc/ssl/certs/ca-certificates.crt "${RUNTIMEDIR}"/ca-bundle.crt
fi
}
cuda_check() {
if [ -f /opt/cuda/lib/libcudart.so ]; then
# symlink wont harm :]
ln -snf /opt/cuda/lib/libcudart.so "${RUNTIMEDIR}"/libcudart.so
fi
}
check_baselayout() {
if [ "${RC_VERSION:-0}" = "0" ]; then
eerror "This script cannot be used for baselayout-1."
return 1
fi
}
start() {
check_baselayout || return 1
create_work_directory || return 1
cuda_check
# always ensure proper ownership
chown -R "${USER}:${GROUP}" "${RUNTIMEDIR}"
if [ ! -f "${RUNTIMEDIR}/lockfile" ]; then
einfo "File \"${RUNTIMEDIR}/lockfile\" does not exist, assuming first run."
einfo "You need to setup an account on the BOINC project homepage beforehand!"
einfo "Go to http://boinc.berkeley.edu/ and locate your project."
einfo "Then either run /etc/init.d/boinc attach or connect with a gui client"
einfo "and attach to a project with that."
echo
ewarn "Note that for attaching to some project you need your network up and running."
ewarn "network is needed only for jobs fetching afterwards"
fi
if [ "${ALLOW_REMOTE_RPC}" = "yes" ]; then
ARGS="${ARGS} --allow_remote_gui_rpc"
fi
ebegin "Starting ${SVCNAME}"
su -m ${USER} -c "nice -n ${NICELEVEL} \"${BOINCBIN}\" ${ARGS} --daemon --dir \"${RUNTIMEDIR}\" --redirectio"
eend $?
}
attach() {
local password url key
einfo "If you cant find your account key just try to obtain it by using:"
einfo " boinccmd --passwd PASSWORD_FROM_GUI_RPC_AUTH --lookup_account URL EMAIL PASSWORD"
printf " Enter the Project URL: "
read url
printf " Enter your Account Key: "
read key
if ! service_started; then
"${RC_SERVICE}" start
fi
password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
ebegin "${SVCNAME}: Attaching to project"
su -m ${USER} -c "boinccmd --passwd \"${password}\" --project_attach ${url} ${key}"
eend $?
unset password url key
sleep 10
tail "${RUNTIMEDIR}/stdoutdae.txt"
}
stop() {
local password
password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
ebegin "Stopping ${SVCNAME}"
su -m ${USER} -c "boinccmd --passwd \"${password}\" --quit"
eend $?
unset password
}

View File

@ -0,0 +1,11 @@
[Unit]
Description=BOINC Daemon
[Service]
User=boinc
Group=boinc
Nice=19
ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,104 @@
#!/usr/bin/env bash
## $Id: generate_tarball.sh,v 1.3 2013/06/30 14:52:47 jlec Exp $
## Modified by scarabeus 2008-10-23
###############################################################################
# functions
###############################################################################
# print out help function
help() {
echo "Welcome to Boinc tarball generator"
echo
echo "For correct usage set VERSION argument"
echo "Example:"
echo "$0 -v 6.1.1"
exit 0
}
###############################################################################
# argument passing
###############################################################################
if [[ $1 == "--help" ]]; then
help
fi
while getopts v: arg ; do
case $arg in
v) VERSION=${OPTARG};;
*) help;;
esac
done
if [ -z "${VERSION}" ]; then
help
fi
###############################################################################
# variable definition
###############################################################################
GIT_URI="git://boinc.berkeley.edu/boinc-v2.git"
PACKAGE="boinc-${VERSION}"
BUNDLE_PREFIX="boinc-dist"
LOG=linux.log
###############################################################################
# prepare enviroment
###############################################################################
mkdir ${BUNDLE_PREFIX} -p
rm -rf "${BUNDLE_PREFIX}"/* # CLEANUP
cd "${BUNDLE_PREFIX}"
touch "${LOG}"
echo "" > "${LOG}" # LOG CLEANUP
###############################################################################
# get data from GIT
###############################################################################
echo "<Downloading files from GIT repository>"
echo "<******************************>"
# No direct archive possible
git clone ${GIT_URI} ${PACKAGE} >> "${LOG}"
pushd "${PACKAGE}" > /dev/null
#git checkout -b gentoo client_release/${VERSION%.*}/${VERSION} || exit 0
git checkout -b gentoo client_release/7.4/${VERSION} || exit 0
popd > /dev/null
###############################################################################
# cleanup files we fetched
###############################################################################
echo "<Cleaning up data we fetched>"
echo "<******************************>"
pushd "${PACKAGE}" > /dev/null
# First remove NON Linux stuff we will not use
rm -rf mac_installer/ # mac installer scripts
rm -rf clientgui/mac/ # mac windows
rm -rf clientscr/ # windows screensaver
rm -rf clienttray/ # windows systray
rm -rf win_build/ # windows build stuff
rm -rf clientlib/ # only windows stuff
rm -rf client/os2/ # OS2 stuff
rm -rf client/win/ # windows stuff
rm -rf mac_build/ # mac build scripts
rm -rf RSAEuro/ # empty folder
rm -rf html/ # webpages WTF?
# BUNDLED STUFF NEEDED REMOVAL
rm -rf coprocs/ # CUDA
rm -rf curl/
#rm -rf locale/*/*.mo # translations should be generated on user machines
# Actualy they dont generate them
rm -rf zlib/
rm -rf zip/
rm -rf openssl/
git commit -a -m "Cleaned"
popd > /dev/null
###############################################################################
# create tbz
###############################################################################
git archive --prefix=${PACKAGE}/ --remote=${PACKAGE} gentoo -o ${PACKAGE}.tar
xz -ve9 "${PACKAGE}".tar | tee -a "${LOG}"
find ./ -maxdepth 1 -type f -name \*.tar.xz -print | while read FILE ; do
echo "FILE: ${FILE}"
echo " SIZE: $(`which du` -h ${FILE} |`which awk` -F' ' '{print $1}')"
echo " MD5SUM: $(`which md5sum` ${FILE} |`which awk` -F' ' '{print $1}')"
echo " SHA1SUM: $(`which sha1sum` ${FILE} |`which awk` -F' ' '{print $1}')"
echo
done
echo "<<<All done>>>"
###############################################################################