summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus D. Hanwell <cryos@gentoo.org>2005-04-21 16:25:58 +0000
committerMarcus D. Hanwell <cryos@gentoo.org>2005-04-21 16:25:58 +0000
commit0d0a2c43c1f4af016d1ba0ad9a8974c1860c3c41 (patch)
treec257374a94a1d6884abebd258383437aab7d0cf5 /sci-misc/boinc
parentStable on x86 per security bug #89862 (diff)
downloadgentoo-2-0d0a2c43c1f4af016d1ba0ad9a8974c1860c3c41.tar.gz
gentoo-2-0d0a2c43c1f4af016d1ba0ad9a8974c1860c3c41.tar.bz2
gentoo-2-0d0a2c43c1f4af016d1ba0ad9a8974c1860c3c41.zip
Initial import of ebuild. Many thanks to all who contributed to this, closes bug 54962.
(Portage version: 2.0.51.19)
Diffstat (limited to 'sci-misc/boinc')
-rw-r--r--sci-misc/boinc/ChangeLog16
-rw-r--r--sci-misc/boinc/Manifest8
-rw-r--r--sci-misc/boinc/boinc-4.19.ebuild87
-rw-r--r--sci-misc/boinc/boinc-4.32.ebuild90
-rw-r--r--sci-misc/boinc/files/boinc-4.32_cmdline_options.patch45
-rw-r--r--sci-misc/boinc/files/boinc-4.32_socket_close_fix.patch44
-rw-r--r--sci-misc/boinc/files/boinc.conf20
-rw-r--r--sci-misc/boinc/files/boinc.init76
-rw-r--r--sci-misc/boinc/files/digest-boinc-4.191
-rw-r--r--sci-misc/boinc/files/digest-boinc-4.321
-rw-r--r--sci-misc/boinc/metadata.xml16
11 files changed, 404 insertions, 0 deletions
diff --git a/sci-misc/boinc/ChangeLog b/sci-misc/boinc/ChangeLog
new file mode 100644
index 000000000000..586961efc9f7
--- /dev/null
+++ b/sci-misc/boinc/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sci-misc/boinc
+# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/ChangeLog,v 1.1 2005/04/21 16:25:58 cryos Exp $
+
+*boinc-4.32 (21 Apr 2005)
+*boinc-4.19 (21 Apr 2005)
+
+ 21 Apr 2005; Marcus D. Hanwell <cryos@gentoo.org>
+ +files/boinc-4.32_cmdline_options.patch,
+ +files/boinc-4.32_socket_close_fix.patch, +files/boinc.conf,
+ +files/boinc.init, +metadata.xml, +boinc-4.19.ebuild, +boinc-4.32.ebuild:
+ Initial import, placed in p.mask for now during initial testing. Thanks go
+ to Robert Moss <robmoss@gentoo.org> and Tony Murray <tonymurray@fastmail.fm>
+ for the ebuilds and maintenance performed by Tony, as well as all the other
+ contributors who helped with this ebuild. This closes bug 54962.
+
diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest
new file mode 100644
index 000000000000..ff614a4e70c2
--- /dev/null
+++ b/sci-misc/boinc/Manifest
@@ -0,0 +1,8 @@
+MD5 f2d89df8916248a61310040904367117 boinc-4.32.ebuild 2279
+MD5 56db2c5e42189e746dd14e1b9cd0c06f boinc-4.19.ebuild 2183
+MD5 b8461876cf4db83859fbd94562dfc3b4 files/digest-boinc-4.19 80
+MD5 5dc63ab398e7b399eaa9e1fdab388453 files/digest-boinc-4.32 80
+MD5 87e5c7b66fd1b782ab5b01bae9cbc94e files/boinc.conf 441
+MD5 8045c6272078fa2e0458ba4119ce999a files/boinc.init 1762
+MD5 f34dc99c2f866383c11c0a3ac849baf8 files/boinc-4.32_cmdline_options.patch 2477
+MD5 25cfc5918b31da56263edfee7a5fa682 files/boinc-4.32_socket_close_fix.patch 1208
diff --git a/sci-misc/boinc/boinc-4.19.ebuild b/sci-misc/boinc/boinc-4.19.ebuild
new file mode 100644
index 000000000000..dadc583a9a93
--- /dev/null
+++ b/sci-misc/boinc/boinc-4.19.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/boinc-4.19.ebuild,v 1.1 2005/04/21 16:25:58 cryos Exp $
+
+inherit eutils
+
+MY_PN="boinc_public-cvs"
+MY_PV="2005-01-26"
+S=${WORKDIR}/boinc_public
+
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="http://boinc.ssl.berkeley.edu/source/nightly/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="server X"
+
+DEPEND=">=sys-devel/gcc-3.0.4
+ >=sys-devel/autoconf-2.59
+ >=sys-devel/automake-1.9.3
+ X? ( virtual/x11
+ virtual/glut
+ virtual/glu
+ >=x11-libs/wxGTK-2.4.2-r2 )
+ server? ( >=dev-db/mysql-4.0.24
+ >=dev-php/php-4.3.10
+ >=dev-lang/python-2.2.3 )"
+RDEPEND=" X? ( virtual/x11
+ virtual/glut
+ virtual/glu
+ >=x11-libs/wxGTK-2.4.2-r2 )
+ server? ( net-www/apache
+ >=dev-db/mysql-4.0.24
+ >=dev-php/php-4.3.10
+ >=dev-lang/python-2.2.3
+ dev-python/mysql-python )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # point to a proper mouse device
+ sed -i "s:/dev/mouse:/dev/psaux:g" client/hostinfo_unix.C
+}
+
+src_compile() {
+ # boinc does not support unicode so force wxconfig non-unicode
+ WXCONFIG=$(ls /usr/bin/wxgtk2-?.?-config)
+ if [ -e "${WXCONFIG}" ]; then
+ CONF="--with-wx-config=${WXCONFIG}"
+ fi
+
+ econf --enable-client \
+ `use_enable server` \
+ `use_with X x` \
+ ${CONF} || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+# einstall || die "install failed"
+ make install DESTDIR=${D} || die "make install failed"
+
+ newinitd ${FILESDIR}/boinc.init boinc
+ newconfd ${FILESDIR}/boinc.conf boinc
+}
+
+pkg_preinst() {
+ enewgroup boinc
+ enewuser boinc -1 /bin/bash /var/lib/boinc boinc
+}
+
+pkg_postinst() {
+ echo
+ einfo "You need to attach to a project to do anything useful with boinc."
+ einfo "You can do this by running /etc/init.d/boinc attach"
+ einfo "BOINC The howto for configuration is located at:"
+ einfo "http://boinc.berkeley.edu/anonymous_platform.php"
+ if use server;then
+ einfo "You have chosen to enable server mode. this ebuild has installed"
+ einfo "the necessary packages to be a server, you will need to have a"
+ einfo "project. Contact BOINC directly for further information."
+ fi
+ echo
+}
diff --git a/sci-misc/boinc/boinc-4.32.ebuild b/sci-misc/boinc/boinc-4.32.ebuild
new file mode 100644
index 000000000000..b7b9332893da
--- /dev/null
+++ b/sci-misc/boinc/boinc-4.32.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-misc/boinc/boinc-4.32.ebuild,v 1.1 2005/04/21 16:25:58 cryos Exp $
+
+inherit eutils
+
+MY_PN="boinc_public-cvs"
+MY_PV="2005-04-17"
+S=${WORKDIR}/boinc_public
+
+DESCRIPTION="The Berkeley Open Infrastructure for Network Computing"
+HOMEPAGE="http://boinc.ssl.berkeley.edu/"
+SRC_URI="http://boinc.ssl.berkeley.edu/source/nightly/${MY_PN}-${MY_PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="server X"
+
+DEPEND=">=sys-devel/gcc-3.0.4
+ >=sys-devel/autoconf-2.59
+ >=sys-devel/automake-1.9.3
+ X? ( virtual/x11
+ virtual/glut
+ virtual/glu
+ >=x11-libs/wxGTK-2.4.2-r2 )
+ server? ( >=dev-db/mysql-4.0.24
+ >=dev-php/php-4.3.10
+ >=dev-lang/python-2.2.3 )"
+RDEPEND=" X? ( virtual/x11
+ virtual/glut
+ virtual/glu
+ >=x11-libs/wxGTK-2.4.2-r2 )
+ server? ( net-www/apache
+ >=dev-db/mysql-4.0.24
+ >=dev-php/php-4.3.10
+ >=dev-lang/python-2.2.3
+ dev-python/mysql-python )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+
+ # point to a proper mouse device
+ sed -i "s:/dev/mouse:/dev/psaux:g" client/hostinfo_unix.C
+
+ epatch ${FILESDIR}/${P}_cmdline_options.patch
+ epatch ${FILESDIR}/${P}_socket_close_fix.patch
+}
+
+src_compile() {
+ # boinc does not support unicode so force wxconfig non-unicode
+ WXCONFIG=$(ls /usr/bin/wxgtk2-?.?-config)
+ if [ -e "${WXCONFIG}" ]; then
+ CONF="--with-wx-config=${WXCONFIG}"
+ fi
+
+ econf --enable-client \
+ `use_enable server` \
+ `use_with X x` \
+ ${CONF} || die "could not configure"
+ emake || die "emake failed"
+}
+
+src_install() {
+# einstall || die "install failed"
+ make install DESTDIR=${D} || die "make install failed"
+
+ newinitd ${FILESDIR}/boinc.init boinc
+ newconfd ${FILESDIR}/boinc.conf boinc
+}
+
+pkg_preinst() {
+ enewgroup boinc
+ enewuser boinc -1 /bin/bash /var/lib/boinc boinc
+}
+
+pkg_postinst() {
+ echo
+ einfo "You need to attach to a project to do anything useful with boinc."
+ einfo "You can do this by running /etc/init.d/boinc attach"
+ einfo "BOINC The howto for configuration is located at:"
+ einfo "http://boinc.berkeley.edu/anonymous_platform.php"
+ if use server;then
+ einfo "You have chosen to enable server mode. this ebuild has installed"
+ einfo "the necessary packages to be a server, you will need to have a"
+ einfo "project. Contact BOINC directly for further information."
+ fi
+ echo
+}
diff --git a/sci-misc/boinc/files/boinc-4.32_cmdline_options.patch b/sci-misc/boinc/files/boinc-4.32_cmdline_options.patch
new file mode 100644
index 000000000000..a020ebe9af85
--- /dev/null
+++ b/sci-misc/boinc/files/boinc-4.32_cmdline_options.patch
@@ -0,0 +1,45 @@
+--- client/cs_cmdline.C.orig 2005-04-19 08:52:35.000000000 -0500
++++ client/cs_cmdline.C 2005-04-19 08:52:48.000000000 -0500
+@@ -35,18 +35,18 @@
+ static void print_options(char* prog) {
+ printf(
+ "Usage: %s [options]\n"
+- " -version show version info\n"
+- " -exit_when_idle Get/process/report work, then exit\n"
+- " -show_projects show attached projects\n"
+- " -return_results_immediately contact server when have results\n"
+- " -detach_project URL detach from a project\n"
+- " -reset_project URL reset (clear) a project\n"
+- " -attach_project attach to a project (will prompt for URL, account key)\n"
+- " -update_prefs URL contact a project to update preferences\n"
+- " -run_cpu_benchmarks run the CPU benchmarks\n"
+- " -check_all_logins check input from remote users\n"
+- " -allow_remote_gui_rpc allow remote GUI RPC connections\n"
+- " -redirectio redirect stdout and stderr to log files\n",
++ " -version show version info\n"
++ " -exit_when_idle Get/process/report work, then exit\n"
++ " -show_projects show attached projects\n"
++ " -return_results_immediately contact server when have results\n"
++ " -detach_project <URL> detach from a project\n"
++ " -reset_project <URL> reset (clear) a project\n"
++ " -attach_project <URL> <key> attach to a project\n"
++ " -update_prefs <URL> contact a project to update preferences\n"
++ " -run_cpu_benchmarks run the CPU benchmarks\n"
++ " -check_all_logins check input from remote users\n"
++ " -allow_remote_gui_rpc allow remote GUI RPC connections\n"
++ " -redirectio redirect stdout and stderr to log files\n",
+ prog
+ );
+ }
+@@ -148,9 +148,8 @@
+ if (i > argc-2) {
+ show_options = true;
+ } else {
+- strcpy(attach_project_url, argv[i+1]);
+- strcpy(attach_project_auth, argv[i+1]);
+- i += 2;
++ strcpy(attach_project_url, argv[++i]);
++ strcpy(attach_project_auth, argv[++i]);
+ }
+ } else if (ARG(version)) {
+ printf(BOINC_VERSION_STRING " " HOSTTYPE "\n");
diff --git a/sci-misc/boinc/files/boinc-4.32_socket_close_fix.patch b/sci-misc/boinc/files/boinc-4.32_socket_close_fix.patch
new file mode 100644
index 000000000000..66b63bbc7895
--- /dev/null
+++ b/sci-misc/boinc/files/boinc-4.32_socket_close_fix.patch
@@ -0,0 +1,44 @@
+--- lib/gui_rpc_client.C.orig 2005-04-19 11:00:04.000000000 -0500
++++ lib/gui_rpc_client.C 2005-04-19 11:12:57.000000000 -0500
+@@ -936,16 +936,15 @@
+ //
+ void RPC_CLIENT::close() {
+ //fprintf(stderr, "RPC_CLIENT::close called\n");
+-#ifdef _WIN32
+- ::closesocket(sock);
+-#else
+- ::close(sock);
+-#endif
+- sock = 0;
++ if (sock) {
++ boinc_close_socket(sock);
++ sock = 0;
++ }
+ }
+
+ int RPC_CLIENT::init(const char* host, bool asynch) {
+ int retval;
++ memset(&addr, 0, sizeof(addr));
+ addr.sin_family = AF_INET;
+ addr.sin_port = htons(GUI_RPC_PORT_ALT);
+
+@@ -957,7 +956,7 @@
+ }
+ addr.sin_addr.s_addr = *(int*)hep->h_addr_list[0];
+ } else {
+- addr.sin_addr.s_addr = htonl(0x7f000001);
++ addr.sin_addr.s_addr = inet_addr("127.0.0.1");
+ }
+
+ retval = boinc_socket(sock);
+@@ -979,6 +978,10 @@
+ } else {
+ retval = connect(sock, (const sockaddr*)(&addr), sizeof(addr));
+ if (retval) {
++ //fprintf(stderr, "connect 2 on %d returned %d\n", sock, retval);
++ perror("connect");
++ boinc_close_socket(sock);
++ boinc_socket(sock);
+ #ifdef _WIN32
+ printf("connect 1: Winsock error '%d'\n", WSAGetLastError());
+ #endif
diff --git a/sci-misc/boinc/files/boinc.conf b/sci-misc/boinc/files/boinc.conf
new file mode 100644
index 000000000000..20f8dfd6b87b
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.conf
@@ -0,0 +1,20 @@
+# 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"
+
+# Logfile (/dev/null for nowhere)
+LOGFILE="/var/log/boinc.log"
+
+# Allow remote gui RPC yes or no
+ALLOW_REMOTE_RPC="yes"
+
+# nice level
+NICELEVEL="19"
diff --git a/sci-misc/boinc/files/boinc.init b/sci-misc/boinc/files/boinc.init
new file mode 100644
index 000000000000..ac1d0b8ff762
--- /dev/null
+++ b/sci-misc/boinc/files/boinc.init
@@ -0,0 +1,76 @@
+#!/sbin/runscript
+
+opts="${opts} attach"
+
+depend() {
+ use dns
+ need net
+}
+
+start() {
+ ebegin "Starting BOINC"
+ if [ ! -d ${RUNTIMEDIR} ]; then
+ einfo "Directory ${RUNTIMEDIR} not existing, creating now."
+ /bin/mkdir ${RUNTIMEDIR}
+ /bin/chown ${USER}:${GROUP} ${RUNTIMEDIR}
+ if [ ! -d ${RUNTIMEDIR} ]; then
+ eerror "Directory ${RUNTIMEDIR} could not be created!"
+ return 1
+ fi
+ fi
+
+ cd ${RUNTIMEDIR}
+
+ if [ ! -f 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! 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 and attach to a project with that."
+ fi
+
+ # if the log file doesn't exist, create it with root privs, then change ownership to boinc
+ if [ ! -f ${LOGFILE} ]; then
+ touch ${LOGFILE}
+ chown ${USER}:${GROUP} ${LOGFILE}
+ fi
+
+ if [ ${ALLOW_REMOTE_RPC} = "yes" ]; then
+ ARGS="${ARGS} -allow_remote_gui_rpc"
+ fi
+
+ start-stop-daemon --quiet --start --exec ${BOINCBIN} \
+ --chuid ${USER}:${GROUP} --nicelevel ${NICELEVEL} -- ${ARGS} > ${LOGFILE} 2>&1 &
+
+ eend $?
+}
+
+attach() {
+ printf " Enter the Project URL: "
+ read url
+ printf " Enter your Account Key: "
+ read key
+
+ RC_QUIET_STDOUT="yes" svc_status
+ if [ $? == 0 ]; then
+ ebegin "Attaching to project"
+ # boinc cmd does not return 1 when it fails currently
+ boinc_cmd --project_attach ${url} ${key} &> /dev/null
+ eend $?
+ else
+ ARGS="${ARGS} -attach_project ${url} ${key}" svc_start
+ fi
+
+ sleep 9
+ tail ${LOGFILE}
+}
+
+stop() {
+ ebegin "Stopping BOINC"
+ start-stop-daemon --stop --quiet --exec ${BOINCBIN}
+ eend $?
+}
+
+restart() {
+ svc_stop
+ sleep 6
+ svc_start
+}
diff --git a/sci-misc/boinc/files/digest-boinc-4.19 b/sci-misc/boinc/files/digest-boinc-4.19
new file mode 100644
index 000000000000..efb1e665ff82
--- /dev/null
+++ b/sci-misc/boinc/files/digest-boinc-4.19
@@ -0,0 +1 @@
+MD5 59c8ca1810bd83f58d57ea54c8c27615 boinc_public-cvs-2005-01-26.tar.gz 3845012
diff --git a/sci-misc/boinc/files/digest-boinc-4.32 b/sci-misc/boinc/files/digest-boinc-4.32
new file mode 100644
index 000000000000..865474290bc1
--- /dev/null
+++ b/sci-misc/boinc/files/digest-boinc-4.32
@@ -0,0 +1 @@
+MD5 e729558125dacca3b4c6c659fd491e3e boinc_public-cvs-2005-04-17.tar.gz 5105448
diff --git a/sci-misc/boinc/metadata.xml b/sci-misc/boinc/metadata.xml
new file mode 100644
index 000000000000..b17447c11e6d
--- /dev/null
+++ b/sci-misc/boinc/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>cryos@gentoo.org</email>
+ </maintainer>
+ <longdescription>
+ Quickplot is a fast interactive 2D plotter with infinite zooming, value
+ picking, pipe input, and unlimited plots displayed. Quickplot is meant for
+ looking at your data quickly and of secondary importance is making static
+ pictures of your data. It's a data viewer, not a plot editor. It reads
+ ASCII text and sound files. It has lots of command line options, making it
+ very shell script friendly.
+ </longdescription>
+</pkgmetadata>