summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2006-10-11 01:50:50 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2006-10-11 01:50:50 +0000
commit1dc317efd4ae85f0c43da3ffdd4fbc7083efba2e (patch)
tree0ab98b2ab40dc38b7b5618aa07f43d9714a949b3 /sys-devel
parentMarking amd64 stable (diff)
downloadgentoo-2-1dc317efd4ae85f0c43da3ffdd4fbc7083efba2e.tar.gz
gentoo-2-1dc317efd4ae85f0c43da3ffdd4fbc7083efba2e.tar.bz2
gentoo-2-1dc317efd4ae85f0c43da3ffdd4fbc7083efba2e.zip
(#139352) Version bump (Marcus Furlong, Patrick Avery, Sergey Okhapkin, me).
(Portage version: 2.1.2_pre2-r5)
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/icecream/ChangeLog10
-rw-r--r--sys-devel/icecream/files/0.7.14-conf.d-verbosity.patch19
-rw-r--r--sys-devel/icecream/files/0.7.14-dont-create-symlinks.patch14
-rw-r--r--sys-devel/icecream/files/digest-icecream-0.7.143
-rw-r--r--sys-devel/icecream/files/icecream51
-rw-r--r--sys-devel/icecream/files/icecream-config34
-rw-r--r--sys-devel/icecream/icecream-0.7.14.ebuild93
7 files changed, 172 insertions, 52 deletions
diff --git a/sys-devel/icecream/ChangeLog b/sys-devel/icecream/ChangeLog
index e474d8f67b07..bb5e96becd5f 100644
--- a/sys-devel/icecream/ChangeLog
+++ b/sys-devel/icecream/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-devel/icecream
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.5 2006/07/16 21:59:01 tantive Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/ChangeLog,v 1.6 2006/10/11 01:50:50 dberkholz Exp $
+
+*icecream-0.7.14 (11 Oct 2006)
+
+ 11 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/0.7.14-conf.d-verbosity.patch,
+ +files/0.7.14-dont-create-symlinks.patch, files/icecream,
+ files/icecream-config, +icecream-0.7.14.ebuild:
+ (#139352) Version bump (Marcus Furlong, Patrick Avery, Sergey Okhapkin, me).
*icecream-0.6.20050413-r1 (16 Jul 2006)
diff --git a/sys-devel/icecream/files/0.7.14-conf.d-verbosity.patch b/sys-devel/icecream/files/0.7.14-conf.d-verbosity.patch
new file mode 100644
index 000000000000..b2f6ad732f0d
--- /dev/null
+++ b/sys-devel/icecream/files/0.7.14-conf.d-verbosity.patch
@@ -0,0 +1,19 @@
+diff -urN icecream.orig/suse/sysconfig.icecream icecream/suse/sysconfig.icecream
+--- icecream.orig/suse/sysconfig.icecream 2004-08-30 10:01:30.000000000 +0100
++++ icecream/suse/sysconfig.icecream 2006-08-12 16:05:09.000000000 +0100
+@@ -39,6 +39,15 @@
+ #
+ ## Type: string
+ ## Path: Applications/icecream
++## Defaut: -v
++#
++# icecream's level of verbosity ([-v[v[v]]])
++#
++ICECREAM_VERBOSITY="-v"
++
++#
++## Type: string
++## Path: Applications/icecream
+ ## Defaut: ""
+ #
+ # Identification for the network the scheduler and daemon run on.
diff --git a/sys-devel/icecream/files/0.7.14-dont-create-symlinks.patch b/sys-devel/icecream/files/0.7.14-dont-create-symlinks.patch
new file mode 100644
index 000000000000..3fc4fdc87eeb
--- /dev/null
+++ b/sys-devel/icecream/files/0.7.14-dont-create-symlinks.patch
@@ -0,0 +1,14 @@
+diff -urN icecream/client/Makefile.am icecream.new/client/Makefile.am
+--- icecream/client/Makefile.am 2004-08-30 09:00:56.000000000 +0100
++++ icecream.new/client/Makefile.am 2006-05-31 19:29:02.000000000 +0100
+@@ -15,10 +15,6 @@
+
+ install-exec-local:
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+- for link in g++ gcc c++ cc; do \
+- rm -f $(DESTDIR)$(bindir)/$$link ;\
+- $(LN_S) icecc $(DESTDIR)$(bindir)/$$link ;\
+- done
+
+ uninstall-local:
+ for link in g++ gcc c++ cc; do \
diff --git a/sys-devel/icecream/files/digest-icecream-0.7.14 b/sys-devel/icecream/files/digest-icecream-0.7.14
new file mode 100644
index 000000000000..3507102803a1
--- /dev/null
+++ b/sys-devel/icecream/files/digest-icecream-0.7.14
@@ -0,0 +1,3 @@
+MD5 8d167d48bc7854b6277a105cafbf2b49 icecc-0.7.14.tar.bz2 147404
+RMD160 424930cad2c68141742b3c5b30a53134cbc2124f icecc-0.7.14.tar.bz2 147404
+SHA256 eb61bf5cdbcbba66e4b11d765111cc97df27589ddadd5478d95796f6e63c5001 icecc-0.7.14.tar.bz2 147404
diff --git a/sys-devel/icecream/files/icecream b/sys-devel/icecream/files/icecream
index cb831ded5a1b..cae25eb28a4f 100644
--- a/sys-devel/icecream/files/icecream
+++ b/sys-devel/icecream/files/icecream
@@ -8,43 +8,26 @@ depend() {
start() {
- netname=
- if test -n "$ICECREAM_NETNAME"; then
- netname="-n $ICECREAM_NETNAME"
- fi
- if test "$ICECREAM_RUN_SCHEDULER" == "yes"; then
- logfile=""
- if test -z "$ICECREAM_SCHEDULER_LOG_FILE"; then
- ICECREAM_SCHEDULER_LOG_FILE="/var/log/icecc_scheduler"
- fi
- logfile="-l $ICECREAM_SCHEDULER_LOG_FILE"
- : > $ICECREAM_SCHEDULER_LOG_FILE
- chown icecream:icecream $ICECREAM_SCHEDULER_LOG_FILE
-
+ local basedir=${ICECREAM_BASEDIR:-"/var/cache/icecream"}
+ local netname=${ICECREAM_NETNAME:+"-n ${ICECREAM_NETNAME}"}
+ local logfile=${ICECREAM_LOG_FILE:+"-l ${ICECREAM_LOG_FILE}"}
+ local nice=${ICECREAM_NICE_LEVEL:+"--nice ${ICECREAM_NICE_LEVEL}"}
+ local scheduler=${ICECREAM_SCHEDULER_HOST:+"-s ${ICECREAM_SCHEDULER_HOST}"}
+ local maxjobs=${ICECREAM_MAX_JOBS:+"-m ${ICECREAM_MAX_JOBS}"}
+ local verbosity=${ICECREAM_VERBOSITY:-"-v"}
+
+ if [[ "${ICECREAM_RUN_SCHEDULER}" == "yes" ]]; then
+ local slogfile=${ICECREAM_SCHEDULER_LOG_FILE:-"/var/log/icecc_scheduler"}
+ touch ${slogfile} && chown icecream:icecream ${slogfile}
+ slogfile=${slogfile:+"-l ${slogfile}"}
ebegin "Starting Distributed Compiler Scheduler"
- start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/scheduler -- -d $logfile $netname
+ start-stop-daemon -u icecream --start --quiet --exec /usr/sbin/scheduler -- -d ${slogfile} ${netname} ${verbosity}
eend ${?}
- fi
- logfile=""
- if test -n "$ICECREAM_LOG_FILE"; then
- logfile="-l $ICECREAM_LOG_FILE"
- : > $ICECREAM_LOG_FILE
- chown icecream:icecream $ICECREAM_LOG_FILE
- fi
- nice=
- if test -n "$ICECREAM_NICE_LEVEL"; then
- nice="--nice $ICECREAM_NICE_LEVEL"
- fi
- scheduler=
- if test -n "$ICECREAM_SCHEDULER_HOST"; then
- scheduler="-s $ICECREAM_SCHEDULER_HOST"
- fi
- maxjobs=
- if test -n "$ICECREAM_MAX_JOBS"; then
- maxjobs="-m $ICECREAM_MAX_JOBS"
fi
+
+ [[ ! -d ${basedir} ]] && mkdir -p ${basedir} && chown icecream:icecream ${basedir}
ebegin "Starting Distributed Compiler Daemon"
- start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d $logfile $nice $scheduler $netname -u icecream -b "$ICECREAM_BASEDIR" $maxjobs
+ start-stop-daemon --start --quiet --exec /usr/sbin/iceccd -- -d ${logfile} ${nice} ${scheduler} ${netname} -u icecream -b "${basedir}" ${maxjobs} ${verbosity}
eend ${?}
}
@@ -52,7 +35,7 @@ stop() {
ebegin "Stopping Distributed Compiler Daemon"
start-stop-daemon --stop --quiet --name iceccd
eend ${?}
- if test "$ICECREAM_RUN_SCHEDULER" == "yes"; then
+ if [[ "${ICECREAM_RUN_SCHEDULER}" == "yes" ]]; then
ebegin "Stopping Distributed Compiler Scheduler"
start-stop-daemon --stop --quiet --name scheduler
eend ${?}
diff --git a/sys-devel/icecream/files/icecream-config b/sys-devel/icecream/files/icecream-config
index fefc1c65f4a8..d520072090f0 100644
--- a/sys-devel/icecream/files/icecream-config
+++ b/sys-devel/icecream/files/icecream-config
@@ -6,49 +6,49 @@
# This program licensed under the GNU GPL version 2.
#
# This script developed by Zachary T Welch at Superlucidity Services, LLC
-# it was cloned from the distcc-config script to make ccache-config
+# it was cloned from the distcc-config script to make ccache-config
# and then modified by Marcus Furlong to configure icecream too.
#
# Additional features to come; this provides a starting point
# this should be getopt'd someday (override with ICEC_QUIET=1)
-ICEC_VERBOSE=1
+ICECC_VERBOSE=1
-icec_echo() {
- [ -z "${ICEC_QUIET}" -a -n "${ICEC_VERBOSE}" ] && echo "$*"
+icecc_echo() {
+ [ -z "${ICECC_QUIET}" -a -n "${ICECC_VERBOSE}" ] && echo "$*"
}
###
# the following functions manage the icecream symlinks
# they allow the user or other scripts (namely gcc-config) to
-# automatically update iceceam's links when upgrading toolchains
+# automatically update icecream's links when upgrading toolchains
#
-icec_remove_link() {
- local t="/usr/lib/icecream/bin/${1}"
+icecc_remove_link() {
+ local t="/usr/lib/icecc/bin/${1}"
if [ -L ${t} ]; then
- icec_echo "Removing ${t}..."
+ icecc_echo "Removing ${t}..."
rm -f "${t}"
fi
}
-icec_install_link() {
+icecc_install_link() {
# Search the PATH for the specified compiler
- # then create shadow link in /usr/lib/icecream/bin to icecc
+ # then create shadow link in /usr/lib/icecc/bin to icecc
if [ -n "$(type -p ${1})" ]; then
# first be sure any old link is removed
- ICEC_QUIET=1 icec_remove_link "${1}"
+ ICECC_QUIET=1 icecc_remove_link "${1}"
# then create the new link
- local t="/usr/lib/icecream/bin/${1}"
- icec_echo "Creating icecream shadow link: ${t}..."
+ local t="/usr/lib/icecc/bin/${1}"
+ icecc_echo "Creating icecream shadow link: ${t}..."
ln -s /usr/bin/icecc "${t}"
fi
}
-icec_links() {
+icecc_links() {
local a
for a in gcc cc c++ g++ ; do
[ -n "${2}" ] && a="${2}-${a}"
- eval "icec_${1}_link" "${a}"
+ eval "icecc_${1}_link" "${a}"
done
}
@@ -57,10 +57,10 @@ icec_links() {
case "${1}" in
--install-links )
- icec_links install "${2}"
+ icecc_links install "${2}"
;;
--remove-links )
- icec_links remove "${2}"
+ icecc_links remove "${2}"
;;
* )
echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]"
diff --git a/sys-devel/icecream/icecream-0.7.14.ebuild b/sys-devel/icecream/icecream-0.7.14.ebuild
new file mode 100644
index 000000000000..853dc461cb7f
--- /dev/null
+++ b/sys-devel/icecream/icecream-0.7.14.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/icecream/icecream-0.7.14.ebuild,v 1.1 2006/10/11 01:50:50 dberkholz Exp $
+
+inherit autotools eutils flag-o-matic
+
+MY_P="icecc-${PV}"
+DESCRIPTION="icecc is a program for distributed compiling of C(++) code across several machines based on ideas and code by distcc."
+HOMEPAGE="http://www.opensuse.org/icecream"
+SRC_URI="ftp://ftp.suse.com/pub/projects/icecream/${MY_P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+DEPEND="virtual/libc"
+
+S="${WORKDIR}/${PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${PV}-dont-create-symlinks.patch
+ epatch "${FILESDIR}"/${PV}-conf.d-verbosity.patch
+
+ use amd64 && append-flags -fPIC -DPIC
+
+ eautoreconf
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+ dobin "${FILESDIR}"/icecream-config
+ newconfd suse/sysconfig.icecream icecream
+ doinitd "${FILESDIR}"/icecream
+ diropts -m0755
+ keepdir /usr/lib/icecc/bin
+ cd "${WORKDIR}"/mans
+ doman icecc.1 iceccd.1 icecream.7 scheduler.1
+}
+
+pkg_postinst() {
+ enewgroup icecream || die "Problem creating icecream group"
+
+ #are we doing bootstrap with has no useradd?
+ if [ -x /usr/sbin/useradd ]; then
+ enewuser icecream -1 -1 /var/cache/icecream icecream || die "Problem adding icecream user"
+ else
+ ewarn "You do not have useradd (bootstrap) from shadow so I didn't"
+ ewarn "install the icecream user. Note that attempting to start the daemon"
+ ewarn "will fail. Please install shadow and re-emerge icecream."
+ ebeep 2
+ fi
+
+ if [[ ${ROOT} = "/" ]] ; then
+ elog "Scanning for compiler front-ends..."
+ /usr/bin/icecream-config --install-links
+ /usr/bin/icecream-config --install-links ${CHOST}
+ else
+ ewarn "Install is incomplete; you must run the following command:"
+ ewarn " # icecream-config --install-links ${CHOST}"
+ ewarn "after booting or chrooting to ${ROOT} to complete installation."
+ fi
+
+ elog
+ elog "If you have compiled binutils/gcc/glibc with processor-specific flags"
+ elog "(as normal using Gentoo), there is a greater chance that your compiler"
+ elog "won't work on other machines. The best would be to build gcc, glibc and"
+ elog "binutils without those flags and then copy the needed files into your"
+ elog "tarball for distribution to other machines. This tarball can be created"
+ elog "by running /usr/bin/icecc --build-native, and used by setting"
+ elog "ICECC_VERSION in /etc/conf.d/icecream"
+ elog ' ICECC_VERSION=<filename_of_archive_containing_your_environment>'
+ elog
+ elog "To use icecream with portage add the following line to /etc/make.conf"
+ elog ' PREROOTPATH=/usr/lib/icecc/bin'
+ elog
+ elog "To use icecream with normal make use (e.g. in /etc/profile)"
+ elog ' PATH=/usr/lib/icecc/bin:$PATH'
+ elog
+ elog "N.B. To use icecream with ccache, the ccache PATH should come first:"
+ elog ' PATH=/usr/lib/ccache/bin:/usr/lib/icecc/bin:$PATH'
+ elog
+ elog "Don't forget to open the following ports in your firewall(s):"
+ elog " TCP/10245 on the daemon computers (required)"
+ elog " TCP/8765 for the the scheduler computer (required)"
+ elog " TCP/8766 for the telnet interface to the scheduler (optional)"
+ elog " UDP/8765 for broadcast to find the scheduler (optional)"
+ elog
+ elog "Further usage instructions: http://www.opensuse.org/icecream"
+ elog
+ elog "The icecream monitor is no longer included in this package, emerge"
+ elog "kde-misc/icemon if you wish to graphically monitor your compile cluster."
+}