From 73c2b098c374d583e547f0143081373fbfc1ed15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Tue, 18 Mar 2014 12:32:22 +0100 Subject: [PATCH] [sci-misc/boinc] bump boinc from tree to latest 7.2 and 7.3, both tested in a clientonly build, 7.2 will probably work, 7.3 uses wxwidgets3 and therefore might not work, needs testing only change from tree is "use X" for the gtk includes --- sci-misc/boinc/Manifest | 9 ++ sci-misc/boinc/boinc-7.2.43.ebuild | 145 ++++++++++++++++++ sci-misc/boinc/boinc-7.3.13.ebuild | 145 ++++++++++++++++++ .../boinc/files/boinc-7.2.0-fix_subdirs.patch | 69 +++++++++ sci-misc/boinc/files/boinc.conf | 17 ++ sci-misc/boinc/files/boinc.init | 103 +++++++++++++ sci-misc/boinc/files/boinc.service | 11 ++ sci-misc/boinc/files/generate_tarball.sh | 104 +++++++++++++ 8 files changed, 603 insertions(+) create mode 100644 sci-misc/boinc/Manifest create mode 100644 sci-misc/boinc/boinc-7.2.43.ebuild create mode 100644 sci-misc/boinc/boinc-7.3.13.ebuild create mode 100644 sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch create mode 100644 sci-misc/boinc/files/boinc.conf create mode 100644 sci-misc/boinc/files/boinc.init create mode 100644 sci-misc/boinc/files/boinc.service create mode 100644 sci-misc/boinc/files/generate_tarball.sh diff --git a/sci-misc/boinc/Manifest b/sci-misc/boinc/Manifest new file mode 100644 index 0000000..071170a --- /dev/null +++ b/sci-misc/boinc/Manifest @@ -0,0 +1,9 @@ +AUX boinc-7.2.0-fix_subdirs.patch 1967 SHA256 10eda21779b4187687b71f99f02e37906a2d0fd8a2a6b8a3578e20b8de568d1b SHA512 110b9b7d318c0ac95a883e07041f2b1fab892f0ebaacf513e17f2daba66355f468dd97fb416322083d7337345b2afb9df250cbbb9da74f892d11d33e8f069b79 WHIRLPOOL dc1d826f58f08031d97172d6716033be931291691637e43c534605742df2b5ade2c9ac0df8c89862bc8a02aaba459e50150b5058d8757ba22984cf5b1aff0685 +AUX boinc.conf 376 SHA256 286f5f11e54a73b41ebf1e35aae1db4c2c3e249a3bfce755ced84c8c1b361cc9 SHA512 5c28de999c4b32c0cdb096dd48d2ee22504c3cb60bacdbdc4a48c4967dac181060427f2912463e45ea109c49f1c6d6a9f9631844ef26687c75521926cf26677a WHIRLPOOL 05cc900fa19722185025df2fb09e0ad4e86c7bae01dc54dc2d43fd1a0d590de4e1bf15f8cf38c8e17f441d17db482ac7390bf35c61e92742cc05dda778656858 +AUX boinc.init 2640 SHA256 d15f25a8e53e1d94abd1f30eda1e49be497ebbfcd167facc40b7f46128e01d5c SHA512 481426c8bbb5b481c9298e816a9317bf1351dd59926f3e1a2a20b77aad3971cb8782797892d18459f8b3cab70fefe84a7731da1bdfa3ae0b2bcf120f4fa0b194 WHIRLPOOL fe398384b4b76d7cdb7dc732b8f44501b9433eeb925a3cd98a38ac0b7f0e9065cb0340d5869e1f0476842c76ada8817a6e8b3af56ec28ccf58c7a655f7e746ec +AUX boinc.service 178 SHA256 3bcd2bdc65f7b6d9f568eeb63f54e7beaa2f0681f34bfd2d486cfd212fced105 SHA512 86a59b9096b19e6472781cb2a7229dd0540569666bcb5bedd83371e6264f1d6bee70e8b47216e1a5b6462726dcd3b54d86ba8de4478faab6c1792071b76abaf9 WHIRLPOOL 1c34aef20a8cdc0cb50a5b25c759cf622488dd2749945317f9f162a1ef1e8189b1f1069ea7be78528d1ee6454945f02f859b02359381e1d27240b796c5c0a85b +AUX generate_tarball.sh 3700 SHA256 64f01324942c98ba34a4f5e1744c54b980c0b74fe9de813a14fa4f9c5a6236b8 SHA512 856e3ef6e5de7db95ae3a2eba7d8e42bcd1fe60c8b414bc6e56c26af352a61624d4458dc5b694f9407c833656cd5e3e340b3759f97a4ca3e615187c4928245ab WHIRLPOOL d79cf1dd13271baa529a3a57f8996c3a3ab76b2e0c0c32413ef970f388f4a428243d6599a76d7aac575e49480b66fae9aff63a9132d7ce7c171f13500114614b +DIST boinc-7.2.43.tar.xz 25403400 SHA256 474ad59e44a5b40ba1fd12eddc1a58fdb2cf885a8315d0118264859f5073d6ba SHA512 24f9c3782cbd3b0e477fc4bad49e4237cab1f02bc6f8662c175c2492ed1000f8d337f8be7622a1173e5b8c9be36e72b8bcf74b73f154e4132b63a2a1b4ad1ff7 WHIRLPOOL 4b5770d09b68e54f586d5d015e5a92746d1fcd58c11e4e506e3196f738ba2ae434592ccdddf6efdeee5c9376dd79a74fbf31c20b0aa6ba003790f3c2ce2816ad +DIST boinc-7.3.13.tar.xz 26450488 SHA256 dc396a6c2771ecab8b4f033a3cba0deb8302bc8eb573bc7c0ec4c9c99fe35822 SHA512 395e99942096e1e0ff32bc3a0687c3262c20486023a0c51b5514f7361feca57900b26a321c514ef34afedfbc1eab3c3f91d04074b75888ba8f52e65abf2ebb5d WHIRLPOOL c942a3d44fed7e3725e362e96e7ba094509bba472c463399631f6dda74a61bdfede7633786909e66054c003f9e693bdbe35a7b001d68a5a112af22cfa496f8b2 +EBUILD boinc-7.2.43.ebuild 3572 SHA256 94a2cd4cf2e370175ed864f45c382a7b2162de930a931faa7cade2120b14a983 SHA512 45dc8144eefb777f7c838f9532bfd6c41af684b4e90c4b57466c394814755dbc4437de66d633df12959eb4eeee5b20d2cb19db784bca9e7b8fc35aeef7a95695 WHIRLPOOL 9668f7304d3c51c8742b1f0cfd9f3be85524754d9f640bbf77247f97d97bd811372c03bd0339d6a38ac401032717950081b204f0f87547292099dd3e6f4543ce +EBUILD boinc-7.3.13.ebuild 3572 SHA256 bad2f800af26eac079b26eea93799c485edefe8de058b6f59f1a3be90ff3743c SHA512 ba40a77ec3130e13085426586f4bf8489f22f163f0abfe8de0dc8146ac0968c7339c22d073ad0bd1a477a18130d125a14669965189414d615a844720deeb7b7d WHIRLPOOL b1b07cbd99a97c893c7d065dabf910260e75259555abacc34138fe96c6daed6a41e1edfef0476a8bc389c6255bce0ef11600317ea74c1329e58dbae9e2400191 diff --git a/sci-misc/boinc/boinc-7.2.43.ebuild b/sci-misc/boinc/boinc-7.2.43.ebuild new file mode 100644 index 0000000..faf8f0c --- /dev/null +++ b/sci-misc/boinc/boinc-7.2.43.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=true + +inherit autotools-utils flag-o-matic eutils wxwidgets user systemd + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="http://boinc.ssl.berkeley.edu/" +SRC_URI="http://people.znc.in/~dessa/gentoo/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="X cuda static-libs" + +RDEPEND=" + !sci-misc/boinc-bin + !app-admin/quickswitch + >=app-misc/ca-certificates-20080809 + dev-libs/openssl + net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)] + sys-apps/util-linux + sys-libs/zlib + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + X? ( + dev-db/sqlite:3 + media-libs/freeglut + sys-libs/glibc:2.2 + virtual/jpeg + x11-libs/gtk+:2 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:2.8[X,opengl] + ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.2.0-fix_subdirs.patch +) + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +src_prepare() { + # prevent bad changes in compile flags, bug 286701 + sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" + + autotools-utils_src_prepare +} + +src_configure() { + local wxconf="" + + # add gtk includes + use X && append-flags "$(pkg-config --cflags gtk+-2.0)" + + # look for wxGTK + if use X; then + WX_GTK_VER="2.8" + need-wxwidgets unicode + wxconf+=" --with-wx-config=${WX_CONFIG}" + else + wxconf+=" --without-wxdir" + fi + + local myeconfargs=( + --disable-server + --enable-client + --enable-dynamic-client-linkage + --disable-static + --enable-unicode + --with-ssl + $(use_with X x) + $(use_enable X manager) + ${wxconf} + ) + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + dodir /var/lib/${PN}/ + keepdir /var/lib/${PN}/ + + if use X; then + newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die + make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" + fi + + # cleanup cruft + rm -rf "${ED}"/etc/ + + newinitd "${FILESDIR}"/${PN}.init ${PN} + newconfd "${FILESDIR}"/${PN}.conf ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + enewgroup ${PN} + # note this works only for first install so we have to + # elog user about the need of being in video group + if use cuda; then + enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video" + else + enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}" + fi +} + +pkg_postinst() { + echo + elog "You are using the source compiled version of ${PN}." + use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr" + elog + elog "You need to attach to a project to do anything useful with ${PN}." + elog "You can do this by running /etc/init.d/${PN} attach" + elog "The howto for configuration is located at:" + elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" + elog + # Add warning about the new password for the client, bug 121896. + if use X; then + elog "If you need to use the graphical manager the password is in:" + elog "/var/lib/${PN}/gui_rpc_auth.cfg" + elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" + elog "/etc/conf.d/${PN}" + elog "You should change this password to something more memorable (can be even blank)." + elog "Remember to launch init script before using manager. Or changing the password." + elog + fi + if use cuda; then + elog "To be able to use CUDA you should add boinc user to video group." + elog "Run as root:" + elog "gpasswd -a boinc video" + fi +} diff --git a/sci-misc/boinc/boinc-7.3.13.ebuild b/sci-misc/boinc/boinc-7.3.13.ebuild new file mode 100644 index 0000000..8e4af68 --- /dev/null +++ b/sci-misc/boinc/boinc-7.3.13.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +AUTOTOOLS_AUTORECONF=true + +inherit autotools-utils flag-o-matic eutils wxwidgets user systemd + +DESCRIPTION="The Berkeley Open Infrastructure for Network Computing" +HOMEPAGE="http://boinc.ssl.berkeley.edu/" +SRC_URI="http://people.znc.in/~dessa/gentoo/${P}.tar.xz" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="X cuda static-libs" + +RDEPEND=" + !sci-misc/boinc-bin + !app-admin/quickswitch + >=app-misc/ca-certificates-20080809 + dev-libs/openssl + net-misc/curl[ssl,-gnutls(-),-nss(-),curl_ssl_openssl(+)] + sys-apps/util-linux + sys-libs/zlib + cuda? ( + >=dev-util/nvidia-cuda-toolkit-2.1 + >=x11-drivers/nvidia-drivers-180.22 + ) + X? ( + dev-db/sqlite:3 + media-libs/freeglut + sys-libs/glibc:2.2 + virtual/jpeg + x11-libs/gtk+:3 + >=x11-libs/libnotify-0.7 + x11-libs/wxGTK:3.0[X,opengl] + ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + app-text/docbook-xml-dtd:4.4 + app-text/docbook2X +" + +PATCHES=( + "${FILESDIR}"/${PN}-7.2.0-fix_subdirs.patch +) + +AUTOTOOLS_IN_SOURCE_BUILD=1 + +src_prepare() { + # prevent bad changes in compile flags, bug 286701 + sed -i -e "s:BOINC_SET_COMPILE_FLAGS::" configure.ac || die "sed failed" + + autotools-utils_src_prepare +} + +src_configure() { + local wxconf="" + + # add gtk includes + use X && append-flags "$(pkg-config --cflags gtk+-3.0)" + + # look for wxGTK + if use X; then + WX_GTK_VER="3.0" + need-wxwidgets unicode + wxconf+=" --with-wx-config=${WX_CONFIG}" + else + wxconf+=" --without-wxdir" + fi + + local myeconfargs=( + --disable-server + --enable-client + --enable-dynamic-client-linkage + --disable-static + --enable-unicode + --with-ssl + $(use_with X x) + $(use_enable X manager) + ${wxconf} + ) + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + dodir /var/lib/${PN}/ + keepdir /var/lib/${PN}/ + + if use X; then + newicon "${S}"/packages/generic/sea/${PN}mgr.48x48.png ${PN}.png || die + make_desktop_entry boincmgr "${PN}" "${PN}" "Math;Science" "Path=/var/lib/${PN}" + fi + + # cleanup cruft + rm -rf "${ED}"/etc/ + + newinitd "${FILESDIR}"/${PN}.init ${PN} + newconfd "${FILESDIR}"/${PN}.conf ${PN} + systemd_dounit "${FILESDIR}"/${PN}.service +} + +pkg_preinst() { + enewgroup ${PN} + # note this works only for first install so we have to + # elog user about the need of being in video group + if use cuda; then + enewuser ${PN} -1 -1 /var/lib/${PN} "${PN},video" + else + enewuser ${PN} -1 -1 /var/lib/${PN} "${PN}" + fi +} + +pkg_postinst() { + echo + elog "You are using the source compiled version of ${PN}." + use X && elog "The graphical manager can be found at /usr/bin/${PN}mgr" + elog + elog "You need to attach to a project to do anything useful with ${PN}." + elog "You can do this by running /etc/init.d/${PN} attach" + elog "The howto for configuration is located at:" + elog "http://boinc.berkeley.edu/wiki/Anonymous_platform" + elog + # Add warning about the new password for the client, bug 121896. + if use X; then + elog "If you need to use the graphical manager the password is in:" + elog "/var/lib/${PN}/gui_rpc_auth.cfg" + elog "Where /var/lib/ is default RUNTIMEDIR, that can be changed in:" + elog "/etc/conf.d/${PN}" + elog "You should change this password to something more memorable (can be even blank)." + elog "Remember to launch init script before using manager. Or changing the password." + elog + fi + if use cuda; then + elog "To be able to use CUDA you should add boinc user to video group." + elog "Run as root:" + elog "gpasswd -a boinc video" + fi +} diff --git a/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch b/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch new file mode 100644 index 0000000..be0a02c --- /dev/null +++ b/sci-misc/boinc/files/boinc-7.2.0-fix_subdirs.patch @@ -0,0 +1,69 @@ + Makefile.am | 14 +++++++------- + configure.ac | 5 ----- + 2 files changed, 7 insertions(+), 12 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6322db1..45d8b67 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -10,13 +10,13 @@ ACLOCAL_AMFLAGS = -I m4 + + if ENABLE_LIBRARIES + API_SUBDIRS = api lib +-if ENABLE_SERVER +- API_SUBDIRS += zip +-endif ++#if ENABLE_SERVER ++# API_SUBDIRS += zip ++#endif + endif + + if ENABLE_SERVER +- SERVER_SUBDIRS = db test py sched apps tools vda html ++ SERVER_SUBDIRS = db test py sched apps tools vda + ## once contained samples/example_app which breaks out-of-source-tree builds + endif + +@@ -26,9 +26,9 @@ endif + + if ENABLE_MANAGER + CLIENTGUI_SUBDIRS = clientgui locale +-if BUILD_X11_SCREENSAVER +- CLIENTGUI_SUBDIRS += clientscr +-endif ++#if BUILD_X11_SCREENSAVER ++# CLIENTGUI_SUBDIRS += clientscr ++#endif + endif + + # ORDER MATTERS below. One must build dependencies FIRST, then things +diff --git a/configure.ac b/configure.ac +index 2bef437..5a9e104 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -955,7 +955,6 @@ AC_CONFIG_FILES([ + apps/Makefile + clientgui/Makefile + clientgui/res/Makefile +- clientscr/Makefile + client/Makefile + client/win/boinc_path_config.py:py/boinc_path_config.py.in + client/scripts/Makefile +@@ -963,7 +962,6 @@ AC_CONFIG_FILES([ + db/Makefile + doc/Makefile + doc/manpages/Makefile +- html/Makefile + lib/Makefile + locale/Makefile + Makefile +@@ -993,9 +991,6 @@ AC_CONFIG_FILES([ + tools/boinc_path_config.py:py/boinc_path_config.py.in + tools/Makefile + vda/Makefile +- zip/Makefile +- zip/zip/Makefile +- zip/unzip/Makefile + m4/Makefile + ]) + diff --git a/sci-misc/boinc/files/boinc.conf b/sci-misc/boinc/files/boinc.conf new file mode 100644 index 0000000..0fef6ae --- /dev/null +++ b/sci-misc/boinc/files/boinc.conf @@ -0,0 +1,17 @@ +# 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" + +# Allow remote gui RPC yes or no +ALLOW_REMOTE_RPC="no" + +# 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 0000000..a350e3e --- /dev/null +++ b/sci-misc/boinc/files/boinc.init @@ -0,0 +1,103 @@ +#!/sbin/runscript + +extra_started_commands="attach" + +depend() { + # we can use dns and net, but we can also in most cases live without them + use dns net ntp-client ntpd +} + +create_work_directory() { + if [ ! -d "${RUNTIMEDIR}" ]; then + einfo "Directory ${RUNTIMEDIR} not existing, creating now." + mkdir "${RUNTIMEDIR}" + if [ ! -d "${RUNTIMEDIR}" ]; then + eeror "Directory ${RUNTIMEDIR} could not be created!" + return 1 + fi + fi + if [ ! -e "${RUNTIMEDIR}"/ca-bundle.crt ] ; then + ln -s /etc/ssl/certs/ca-certificates.crt "${RUNTIMEDIR}"/ca-bundle.crt + fi +} + +cuda_check() { + if [ -f /opt/cuda/lib/libcudart.so ]; then + # symlink wont harm :] + ln -snf /opt/cuda/lib/libcudart.so "${RUNTIMEDIR}"/libcudart.so + fi +} + +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 + + # always ensure proper ownership + chown -R "${USER}:${GROUP}" "${RUNTIMEDIR}" + + 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" + einfo "and attach to a project with that." + echo + ewarn "Note that for attaching to some project you need your network up and running." + ewarn "network is needed only for jobs fetching afterwards" + fi + + if [ "${ALLOW_REMOTE_RPC}" = "yes" ]; then + ARGS="${ARGS} --allow_remote_gui_rpc" + fi + + ebegin "Starting ${SVCNAME}" + su -m ${USER} -c "nice -n ${NICELEVEL} \"${BOINCBIN}\" ${ARGS} --daemon --dir \"${RUNTIMEDIR}\" --redirectio" + eend $? +} + +attach() { + 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 + + if ! service_started; then + "${RC_SERVICE}" start + fi + + 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 url key + + sleep 10 + tail "${RUNTIMEDIR}/stdoutdae.txt" +} + +stop() { + local password + + password=$(cat "${RUNTIMEDIR}/gui_rpc_auth.cfg") + + ebegin "Stopping ${SVCNAME}" + su -m ${USER} -c "boinccmd --passwd \"${password}\" --quit" + eend $? + + unset password +} diff --git a/sci-misc/boinc/files/boinc.service b/sci-misc/boinc/files/boinc.service new file mode 100644 index 0000000..af8edf4 --- /dev/null +++ b/sci-misc/boinc/files/boinc.service @@ -0,0 +1,11 @@ +[Unit] +Description=BOINC Daemon + +[Service] +User=boinc +Group=boinc +Nice=19 +ExecStart=/usr/bin/boinc_client --dir /var/lib/boinc --redirectio + +[Install] +WantedBy=multi-user.target diff --git a/sci-misc/boinc/files/generate_tarball.sh b/sci-misc/boinc/files/generate_tarball.sh new file mode 100644 index 0000000..9994bd8 --- /dev/null +++ b/sci-misc/boinc/files/generate_tarball.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash +## $Id: generate_tarball.sh,v 1.3 2013/06/30 14:52:47 jlec Exp $ +## Modified by scarabeus 2008-10-23 +############################################################################### +# functions +############################################################################### +# print out help function +help() { + echo "Welcome to Boinc tarball generator" + echo + echo "For correct usage set VERSION argument" + echo "Example:" + echo "$0 -v 6.1.1" + exit 0 +} +############################################################################### +# argument passing +############################################################################### +if [[ $1 == "--help" ]]; then + help +fi +while getopts v: arg ; do + case $arg in + v) VERSION=${OPTARG};; + *) help;; + esac +done +if [ -z "${VERSION}" ]; then + help +fi +############################################################################### +# variable definition +############################################################################### +GIT_URI="git://boinc.berkeley.edu/boinc-v2.git" +PACKAGE="boinc-${VERSION}" +BUNDLE_PREFIX="boinc-dist" +LOG=linux.log +############################################################################### +# prepare enviroment +############################################################################### +mkdir ${BUNDLE_PREFIX} -p +rm -rf "${BUNDLE_PREFIX}"/* # CLEANUP +cd "${BUNDLE_PREFIX}" +touch "${LOG}" +echo "" > "${LOG}" # LOG CLEANUP +############################################################################### +# get data from GIT +############################################################################### +echo "" +echo "<******************************>" +# No direct archive possible +git clone ${GIT_URI} ${PACKAGE} >> "${LOG}" +pushd "${PACKAGE}" > /dev/null +#git checkout -b gentoo client_release/${VERSION%.*}/${VERSION} || exit 0 +git checkout -b gentoo client_release/7.4/${VERSION} || exit 0 +popd > /dev/null +############################################################################### +# cleanup files we fetched +############################################################################### +echo "" +echo "<******************************>" +pushd "${PACKAGE}" > /dev/null + +# First remove NON Linux stuff we will not use +rm -rf mac_installer/ # mac installer scripts +rm -rf clientgui/mac/ # mac windows +rm -rf clientscr/ # windows screensaver +rm -rf clienttray/ # windows systray +rm -rf win_build/ # windows build stuff +rm -rf clientlib/ # only windows stuff +rm -rf client/os2/ # OS2 stuff +rm -rf client/win/ # windows stuff +rm -rf mac_build/ # mac build scripts +rm -rf RSAEuro/ # empty folder +rm -rf html/ # webpages WTF? + + +# BUNDLED STUFF NEEDED REMOVAL +rm -rf coprocs/ # CUDA +rm -rf curl/ +#rm -rf locale/*/*.mo # translations should be generated on user machines +# Actualy they dont generate them +rm -rf zlib/ +rm -rf zip/ +rm -rf openssl/ + +git commit -a -m "Cleaned" + +popd > /dev/null + +############################################################################### +# create tbz +############################################################################### +git archive --prefix=${PACKAGE}/ --remote=${PACKAGE} gentoo -o ${PACKAGE}.tar +xz -ve9 "${PACKAGE}".tar | tee -a "${LOG}" +find ./ -maxdepth 1 -type f -name \*.tar.xz -print | while read FILE ; do + echo "FILE: ${FILE}" + echo " SIZE: $(`which du` -h ${FILE} |`which awk` -F' ' '{print $1}')" + echo " MD5SUM: $(`which md5sum` ${FILE} |`which awk` -F' ' '{print $1}')" + echo " SHA1SUM: $(`which sha1sum` ${FILE} |`which awk` -F' ' '{print $1}')" + echo +done +echo "<<>>" +###############################################################################