packages/net/boinc/files/boinc-client.init
Christian Dreihsig ebc19c6bd5 boinc: new upstream version, adjustments
* new upstream version 7.16.6
 * fixing platform identifier for openwrt x86
   (boinc issue https://github.com/BOINC/boinc/issues/3595)
 * protected configuration from update

Signed-off-by: Christian Dreihsig <christian.dreihsig@t-online.de>
2020-04-13 19:27:28 +02:00

53 lines
1.4 KiB
Bash
Executable file

#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
BOINCEXE_NAME=boinc_client
BOINCDIR=/opt/boinc/
PRESETDIR=/usr/share/boinc
BOINCUSR=boinc
BOINCEXE_OPTS="--check_all_logins --redirectio --dir $BOINCDIR"
PID_FILE="/var/run/$BOINCEXE_NAME.pid"
start_service() {
# First check that BOINCDIR exists
if ! [ -d "$BOINCDIR" ]; then
if ! mkdir -p $BOINCDIR 2>/dev/null ; then
echo "ERROR: $BOINCDIR doesn't exist and couldn't be created"
return 1
fi
fi
# adjust some presettings if necessary
for f in global_prefs_override.xml remote_hosts.cfg; do
if ! [ -f $BOINCDIR/$f ]; then
cp $PRESETDIR/$f $BOINCDIR
fi
done
# and ensure it is accessible by boinc
BOINCDIR_OWNER="$(ls -ld $BOINCDIR | awk '{print $3}')"
if [ "$BOINCUSR" != "$BOINCDIR_OWNER" ] ; then
chown -R $BOINCUSR:$BOINCUSR $BOINCDIR
BOINCDIR_OWNER="$(ls -ld $BOINCDIR | awk '{print $3}')"
if [ "$BOINCUSR" != "$BOINCDIR_OWNER" ] ; then
echo "User boinc can't access $BOINC_DIR"
return 3
fi
fi
# now use procd to start boinc
procd_open_instance $BOINCEXE_NAME
procd_set_param command $BOINCEXE_NAME
procd_append_param command $BOINCEXE_OPTS
procd_set_param user $BOINCUSR
procd_set_param limits core="unlimited"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param pidfile $PID_FILE
procd_close_instance
}