From f3898d455ba0805a989bc595194264de0b322927 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Thu, 22 Apr 1999 01:44:35 +0000 Subject: SETI@home - donate idle cycles to the search for aliens --- astro/setiathome/Makefile | 68 +++++++++++++++++++++++++++++++ astro/setiathome/distinfo | 4 ++ astro/setiathome/files/setiathome.1 | 79 +++++++++++++++++++++++++++++++++++++ astro/setiathome/pkg-comment | 1 + astro/setiathome/pkg-descr | 27 +++++++++++++ astro/setiathome/pkg-install | 73 ++++++++++++++++++++++++++++++++++ astro/setiathome/pkg-plist | 1 + 7 files changed, 253 insertions(+) create mode 100644 astro/setiathome/Makefile create mode 100644 astro/setiathome/distinfo create mode 100644 astro/setiathome/files/setiathome.1 create mode 100644 astro/setiathome/pkg-comment create mode 100644 astro/setiathome/pkg-descr create mode 100644 astro/setiathome/pkg-install create mode 100644 astro/setiathome/pkg-plist diff --git a/astro/setiathome/Makefile b/astro/setiathome/Makefile new file mode 100644 index 000000000000..d55724e29b2f --- /dev/null +++ b/astro/setiathome/Makefile @@ -0,0 +1,68 @@ +# Ports collection makefile for: setiathome +# Version required: 0.46 +# Date created: 22 Apr 1999 +# Whom: stb@freebsd.org +# +# $Id$ +# + +PKGNAME= setiathome-0.46 +CATEGORIES= astro +MASTER_SITES= http://setiathome.ssl.berkeley.edu/software/ \ + http://www.freebsd.org/~stb/mirror/setiathome.ssl.berkeley.edu/software/ +ONLY_FOR_ARCHS= i386 + +MAINTAINER= stb@freebsd.org + +EXTRACT_CMD= tar +EXTRACT_BEFORE_ARGS= -xf +EXTRACT_AFTER_ARGS= + +.if !defined(OSRELEASE) +OSRELEASE!= uname -r | ${SED} -e 's/^\(^[^-]*\)-.*/\1/' +.endif + +.if (${OSRELEASE} == 2.2.6) +DISTFILES= setiathome-0.46.i386-unknown-freebsd2.2.6.tar +WRKSRC= setiathome-0.46.i386-unknown-freebsd2.2.6 +.elif (${OSRELEASE} == 2.2.7) +DISTFILES= setiathome-0.46.i386-unknown-freebsd2.2.7.tar +WRKSRC= setiathome-0.46.i386-unknown-freebsd2.2.7 +.elif (${OSRELEASE} == 2.2.8) +DISTFILES= setiathome-0.46.i386-unknown-freebsd2.2.8.tar +WRKSRC= setiathome-0.46.i386-unknown-freebsd2.2.8 +.elif (${OSRELEASE} == 3.1) +DISTFILES= setiathome-0.46.i386-unknown-freebsd3.1.tar +WRKSRC= setiathome-0.46.i386-unknown-freebsd3.1 +.else +DISTFILES= +.endif + +.if make(makesum) +DISTFILES= setiathome-0.46.i386-unknown-freebsd2.2.6.tar \ + setiathome-0.46.i386-unknown-freebsd2.2.7.tar \ + setiathome-0.46.i386-unknown-freebsd2.2.8.tar \ + setiathome-0.46.i386-unknown-freebsd3.1.tar +.endif + +NO_BUILD= "binary distribution" + +MAN1= setiathome.1 + +pre-fetch: + @if [ -z "${DISTFILES}" ]; then \ + ${ECHO} "It seems you are running FreeBSD `uname -r`, which is not currently"; \ + ${ECHO} "supported. SETI@home currently supports only FreeBSD 2.2.5 and above,"; \ + ${ECHO} "and FreeBSD 3.1."; \ + ${ECHO} + exit 72; \ + fi; + +do-install: + ${INSTALL_PROGRAM} ${WRKDIR}/${WRKSRC}/setiathome ${PREFIX}/bin + ${INSTALL_MAN} ${FILESDIR}/setiathome.1 ${MAN1PREFIX}/man/man1 + +post-install: + @PKG_PREFIX=${PREFIX} ${SH} ${PKGDIR}/INSTALL ${PKGNAME} POST-INSTALL + +.include diff --git a/astro/setiathome/distinfo b/astro/setiathome/distinfo new file mode 100644 index 000000000000..8d039e9ea52e --- /dev/null +++ b/astro/setiathome/distinfo @@ -0,0 +1,4 @@ +MD5 (setiathome-0.46.i386-unknown-freebsd2.2.6.tar) = 6981dc4c5efeb22cba1bb93f71507617 +MD5 (setiathome-0.46.i386-unknown-freebsd2.2.7.tar) = 8ca2f0c04063d8c4a25fc2f062cd4427 +MD5 (setiathome-0.46.i386-unknown-freebsd2.2.8.tar) = 1f141456399fb79442056174e2654258 +MD5 (setiathome-0.46.i386-unknown-freebsd3.1.tar) = eb874113b92e29276251115ffb4ba26f diff --git a/astro/setiathome/files/setiathome.1 b/astro/setiathome/files/setiathome.1 new file mode 100644 index 000000000000..d4df137fe40b --- /dev/null +++ b/astro/setiathome/files/setiathome.1 @@ -0,0 +1,79 @@ +.\" Copyright status unkown +.Dd April 19, 1999 +.Dt setiathome 1 LOCAL +.Os FreeBSD +.Sh NAME +.Nm setiathome +.Nd the SETI@home client program +.Sh SYNOPSIS +.Nm +.Op Ar options +.Sh DESCRIPTION +.Nm +is the UNIX version of the SETI@home client. It downloads radio telescope +data from a network server, analyzes the data looking for signals of +extraterrestrial origin, and uploads results to the server, repeating this +cycle indefinitely. See http://setiahome.ssl.berkeley.edu for more +information. +.Pp +The first time you run +.Nm +it will interactively ask you for email address, name, country etc. This +info is stored in a file and no interaction is needed when you run the +program subsequently. +.Pp +After this you can run +.Nm +in the background, and direct its output to /dev/null if you like. +.Pp +.Nm +can be freely aborted and restarted. It saves its state in files, +and will pick up where it left off. +.Pp +If you wish +.Nm +to be started automatically, you may wish to setup a cron job. The supplied +script "set_cron_job" will create a script for running setiathome and add it +to your crontab. To use it, change to your +.Nm +directory and type "./set_cron_job" at the prompt. For more information on +cron jobs see the crontab(1) manual page. +.Pp +.Nm +requires about 0.5\ MBytes of disk space in it's working directory, and about +12\ MBytes of memory. If you have ample physical memory, it's work load +should be almost undetectable. +.Sh OPTIONS +.Bl -tag -width indent +.It Fl login +Login or create new account. +.It Fl countries +Show list of country codes. +.It Fl version +Show software version +.It Fl nice Ar N +Set "nice" priority to +.Ar N +(default 1); +.It Fl email +Send email (to login email address) on errors. Useful if you run in +background directed to /dev/null. +.El +.Pp +.Sh FILES +The program generates several files with .txt extension +in the directory from which it's run. +These should not be modified. +.Pp +If you want to run multiple instances of setiathome +(on a multiprocessor machine, or on multiple machines +that share a filesystem) each one must be run +in a different directory. +.Pp +setiathome uses a lock file (lock.txt) to prevent +multiple instances from running in the same directory. +.Sh AUTHORS +SETI@home was developed by David Anderson, Jeff Cobb, Charlie +Fenton, David Gedye, Kyle Granger, Eric Korpela, Matt Lebofsky, +Peter Leiser, Brad Silen, Woody Sullivan, and Dan Werthimer. +.Pp diff --git a/astro/setiathome/pkg-comment b/astro/setiathome/pkg-comment new file mode 100644 index 000000000000..2423e247f92d --- /dev/null +++ b/astro/setiathome/pkg-comment @@ -0,0 +1 @@ +SETI@home - donate idle cycles to the search for aliens diff --git a/astro/setiathome/pkg-descr b/astro/setiathome/pkg-descr new file mode 100644 index 000000000000..00c94f12a9be --- /dev/null +++ b/astro/setiathome/pkg-descr @@ -0,0 +1,27 @@ +SETI@home is a scientific experiment that will harness the power of +hundreds of thousands of Internet-connected computers in the Search for +Extraterrestrial Intelligence (SETI). You can participate by running a +program that downloads and analyzes radio telescope data. There's a +small but captivating possibility that your computer will detect the +faint murmur of a civilization beyond Earth. + +This package includes an interactive install script which allows you to +set up a working directory under /var/db/setiathome, register with or +log in to SETI@home, and arranges for setiathome to be started at +system start-up. In this case, setiathome will be executed as user +`nobody'. + +setiathome will run at nice level 1 by default, with a single process. +If you are running a SMP system and therefore would like to run one +process per CPU, or would like setiathome to run under another user ID, +you have to set it up manually. + +setiathome requires about 0.5 MBytes disk space in its working +directory, and about 12 MBytes of memory. If you have ample physical +memory, it's work load should be almost undetectable. + +setiathome is a binary distribution currently available for FreeBSD +2.2.6, 2.2.7, 2.2.8, and 3.1. Newer versions of FreeBSD should be able +to run older binaries. + +WWW: http://setiathome.ssl.berkeley.edu/ diff --git a/astro/setiathome/pkg-install b/astro/setiathome/pkg-install new file mode 100644 index 000000000000..714e9eaf9960 --- /dev/null +++ b/astro/setiathome/pkg-install @@ -0,0 +1,73 @@ +#!/bin/sh + +# +# Set up the work area and run setiathome to login or register +# + +DBDIR=/var/db/setiathome +RCD=${PKG_PREFIX}/etc/rc.d/setiathome.sh +USER=nobody + +case $2 in + POST-INSTALL) + rm -f ${RCD} + cat <${RCD} +#!/bin/sh + +PREFIX=${PKG_PREFIX} +DBDIR=${DBDIR} +USER=${USER} + +case \$1 in + start) + if [ ! -d \${DBDIR} ]; then + logger -sp user.err -t setiathome "unable to start: \${DBDIR} is missing." + exit 72 + fi + if [ ! -f \${DBDIR}/user_info.txt ]; then + logger -sp user.err -t setiathome "unable to start: please log in to SETI@home first." + exit 72 + fi + su -m \${USER} -c \ + "(cd \${DBDIR} && exec \${PREFIX}/bin/setiathome -email >/dev/null &)" + echo -n " SETI@home" + ;; + stop) + killall setiathome +esac +EOF + chmod +x ${RCD} + + echo "**** SETI@home requires a working directory for temporary files and" + echo " a brief registration process." + echo " Would you like to set up a working directory in ${DBDIR}," + echo " register with SETI@home, and let me arrange for SETI@home to be" + echo -n " started automatically [Y/n]? " + read a + echo "" + if [ "$a" = "N" -o "$a" = "n" ]; then + echo "" + echo "Please set up the working directory yourself. See setiathome(1)" + echo "for details." + exit 0 + fi + + mkdir -p ${DBDIR} + chown ${USER} ${DBDIR} + chmod 755 ${DBDIR} + + su -m nobody -c "cd ${DBDIR} && ${PKG_PREFIX}/bin/setiathome -login" + + if [ ! -f ${DBDIR}/user_info.txt ]; then + echo "unable to start setiathome: it seems registration or login failed." + exit 72 + fi + ${RCD} start >/dev/null + echo + echo "**** Congratulations! Your system now participates in the search for extra-" + echo " terrestrial intelligence. Be sure to visit the home page at" + echo " http://setiathome.ssl.berkeley.edu/" + echo " See setiathome(1) for further details." + ;; + +esac diff --git a/astro/setiathome/pkg-plist b/astro/setiathome/pkg-plist new file mode 100644 index 000000000000..6e0e7bcdf308 --- /dev/null +++ b/astro/setiathome/pkg-plist @@ -0,0 +1 @@ +bin/setiathome -- cgit v1.2.3