diff options
author | Donnie Berkholz <dberkholz@gentoo.org> | 2006-10-11 01:50:50 +0000 |
---|---|---|
committer | Donnie Berkholz <dberkholz@gentoo.org> | 2006-10-11 01:50:50 +0000 |
commit | 1dc317efd4ae85f0c43da3ffdd4fbc7083efba2e (patch) | |
tree | 0ab98b2ab40dc38b7b5618aa07f43d9714a949b3 /sys-devel | |
parent | Marking amd64 stable (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | sys-devel/icecream/files/0.7.14-conf.d-verbosity.patch | 19 | ||||
-rw-r--r-- | sys-devel/icecream/files/0.7.14-dont-create-symlinks.patch | 14 | ||||
-rw-r--r-- | sys-devel/icecream/files/digest-icecream-0.7.14 | 3 | ||||
-rw-r--r-- | sys-devel/icecream/files/icecream | 51 | ||||
-rw-r--r-- | sys-devel/icecream/files/icecream-config | 34 | ||||
-rw-r--r-- | sys-devel/icecream/icecream-0.7.14.ebuild | 93 |
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." +} |