summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2011-05-23 13:00:28 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2011-05-23 13:00:28 +0000
commit2f880d6a686c83e65f19ef69e7745941fecf8cf0 (patch)
treeff16f92e4bf27b122d73570a7bf477f1d931c0b8 /sci-misc/boinc
parentx86 stable per bug 364841 (diff)
downloadgentoo-2-2f880d6a686c83e65f19ef69e7745941fecf8cf0.tar.gz
gentoo-2-2f880d6a686c83e65f19ef69e7745941fecf8cf0.tar.bz2
gentoo-2-2f880d6a686c83e65f19ef69e7745941fecf8cf0.zip
Revision bump for total rewrite of the init script.
(Portage version: 2.2.0_alpha34/cvs/Linux x86_64)
Diffstat (limited to 'sci-misc/boinc')
-rw-r--r--sci-misc/boinc/ChangeLog8
-rw-r--r--sci-misc/boinc/boinc-6.12.26-r1.ebuild (renamed from sci-misc/boinc/boinc-6.12.26.ebuild)2
-rw-r--r--sci-misc/boinc/files/boinc.conf3
-rw-r--r--sci-misc/boinc/files/boinc.init89
4 files changed, 42 insertions, 60 deletions
diff --git a/sci-misc/boinc/ChangeLog b/sci-misc/boinc/ChangeLog
index 83731d81524f..9882251b9ae5 100644
--- a/sci-misc/boinc/ChangeLog
+++ b/sci-misc/boinc/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sci-misc/boinc
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.98 2011/05/22 09:34:20 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.99 2011/05/23 13:00:27 scarabeus Exp $
+
+*boinc-6.12.26-r1 (23 May 2011)
+
+ 23 May 2011; Tomáš Chvátal <scarabeus@gentoo.org> -boinc-6.12.26.ebuild,
+ +boinc-6.12.26-r1.ebuild, files/boinc.conf, files/boinc.init:
+ Revision bump for total rewrite of the init script.
22 May 2011; Tomáš Chvátal <scarabeus@gentoo.org> metadata.xml:
Shutup repoman warining about unused local useflags.
diff --git a/sci-misc/boinc/boinc-6.12.26.ebuild b/sci-misc/boinc/boinc-6.12.26-r1.ebuild
index b1da70fd3037..bd1e2971e600 100644
--- a/sci-misc/boinc/boinc-6.12.26.ebuild
+++ b/sci-misc/boinc/boinc-6.12.26-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/boinc-6.12.26.ebuild,v 1.1 2011/05/22 09:22:59 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/boinc-6.12.26-r1.ebuild,v 1.1 2011/05/23 13:00:27 scarabeus Exp $
EAPI=4
diff --git a/sci-misc/boinc/files/boinc.conf b/sci-misc/boinc/files/boinc.conf
index 827025b7da20..0fef6ae58e37 100644
--- a/sci-misc/boinc/files/boinc.conf
+++ b/sci-misc/boinc/files/boinc.conf
@@ -10,9 +10,6 @@ RUNTIMEDIR="/var/lib/boinc"
# Location of the boinc command line binary
BOINCBIN="/usr/bin/boinc_client"
-# Logfile (/dev/null for nowhere)
-LOGFILE="/var/log/boinc.log"
-
# Allow remote gui RPC yes or no
ALLOW_REMOTE_RPC="no"
diff --git a/sci-misc/boinc/files/boinc.init b/sci-misc/boinc/files/boinc.init
index 37b4fa938f7c..8df428bb1aa5 100644
--- a/sci-misc/boinc/files/boinc.init
+++ b/sci-misc/boinc/files/boinc.init
@@ -1,7 +1,6 @@
#!/sbin/runscript
opts="${opts} attach"
-PIDFILE=/var/run/boinc.pid
depend() {
# we can use dns and net, but we can also in most cases live without them
@@ -12,21 +11,13 @@ create_work_directory() {
if [ ! -d "${RUNTIMEDIR}" ]; then
einfo "Directory ${RUNTIMEDIR} not existing, creating now."
mkdir "${RUNTIMEDIR}"
- chown "${USER}:${GROUP}" "${RUNTIMEDIR}"
if [ ! -d "${RUNTIMEDIR}" ]; then
eeror "Directory ${RUNTIMEDIR} could not be created!"
return 1
fi
- ln -s /etc/ssl/certs/ca-certificates.crt "${RUNTIMEDIR}"/ca-bundle.crt
fi
-}
-
-generate_logs() {
- if [ ! -f "${LOGFILE}" ]; then
- einfo "No ${LOGFILE} around. Creating new..."
- einfo "You really should use app-admin/logrotate for the log rotation."
- touch "${LOGFILE}"
- chown "${USER}:${GROUP}" "${LOGFILE}"
+ if [ ! -e "${RUNTIMEDIR}"/ca-bundle.crt ] ; then
+ ln -s /etc/ssl/certs/ca-certificates.crt "${RUNTIMEDIR}"/ca-bundle.crt
fi
}
@@ -37,16 +28,23 @@ cuda_check() {
fi
}
-start() {
- ebegin "Starting BOINC"
+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
- cd "${RUNTIMEDIR}"
+ # always ensure proper ownership
+ chown -R "${USER}:${GROUP}" "${RUNTIMEDIR}"
- if [ ! -f lockfile ]; then
- einfo "File $RUNTIMEDIR/lockfile does not exist, assuming first run."
+ 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"
@@ -60,65 +58,46 @@ start() {
ARGS="${ARGS} --allow_remote_gui_rpc"
fi
- if [ -n "${RC_UNAME}" ]; then
- PARAMS="--background --stdout '${LOGFILE}' --stderr '${LOGFILE}' -- ${ARGS}"
- else
- PARAMS="-- ${ARGS} >> '${LOGFILE}' 2>&1"
- fi
-
- generate_logs
-
- start-stop-daemon \
- --start --quiet --chdir "${RUNTIMEDIR}" \
- --make-pidfile \
- --pidfile "${PIDFILE}" \
- --chuid "${USER}:${GROUP}" \
- --nicelevel "${NICELEVEL}" \
- --exec "${BOINCBIN}" ${PARAMS}
-
- RESULT=$?
-
- eend ${RESULT}
+ ebegin "Starting ${SVCNAME}"
+ su -m ${USER} -c "nice -n ${NICELEVEL} \"${BOINCBIN}\" ${ARGS} --daemon --dir \"${RUNTIMEDIR}\" --redirectio"
+ eend $?
}
attach() {
- local password args url key
- local was_started=true
+ 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
- password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
- args="--project_attach ${url} ${key}"
-
if ! service_started; then
- was_started=false
"${RC_SERVICE}" start
fi
- ebegin "Attaching to project"
- boinccmd --host localhost --passwd "${password}" ${args}
+ 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 args url key
+ unset password url key
sleep 10
- tail "${LOGFILE}"
-
- [[ ${was_started} = "false" ]] && "${RC_SERVICE}" stop
+ tail "${RUNTIMEDIR}/stdoutdae.txt"
}
stop() {
- ebegin "Stopping BOINC"
- start-stop-daemon --stop --retry 3 --quiet --exec "${BOINCBIN}"
- rm -f "${PIDFILE}"
+ local password
+
+ password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg")
+
+ ebegin "Stopping ${SVCNAME}"
+ su -m ${USER} -c "boinccmd --passwd "${password}" --quit"
eend $?
-}
-restart() {
- stop
- sleep 3
- start
+ unset password
}