diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2011-05-23 13:00:28 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2011-05-23 13:00:28 +0000 |
commit | 2f880d6a686c83e65f19ef69e7745941fecf8cf0 (patch) | |
tree | ff16f92e4bf27b122d73570a7bf477f1d931c0b8 /sci-misc/boinc | |
parent | x86 stable per bug 364841 (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-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.conf | 3 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc.init | 89 |
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 } |