diff options
author | Marcus D. Hanwell <cryos@gentoo.org> | 2005-04-21 16:25:58 +0000 |
---|---|---|
committer | Marcus D. Hanwell <cryos@gentoo.org> | 2005-04-21 16:25:58 +0000 |
commit | 0d0a2c43c1f4af016d1ba0ad9a8974c1860c3c41 (patch) | |
tree | c257374a94a1d6884abebd258383437aab7d0cf5 /sci-misc/boinc | |
parent | Stable on x86 per security bug #89862 (diff) | |
download | gentoo-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/ChangeLog | 16 | ||||
-rw-r--r-- | sci-misc/boinc/Manifest | 8 | ||||
-rw-r--r-- | sci-misc/boinc/boinc-4.19.ebuild | 87 | ||||
-rw-r--r-- | sci-misc/boinc/boinc-4.32.ebuild | 90 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc-4.32_cmdline_options.patch | 45 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc-4.32_socket_close_fix.patch | 44 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc.conf | 20 | ||||
-rw-r--r-- | sci-misc/boinc/files/boinc.init | 76 | ||||
-rw-r--r-- | sci-misc/boinc/files/digest-boinc-4.19 | 1 | ||||
-rw-r--r-- | sci-misc/boinc/files/digest-boinc-4.32 | 1 | ||||
-rw-r--r-- | sci-misc/boinc/metadata.xml | 16 |
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> |