diff options
author | Lisa M. Seelye <lisa@gentoo.org> | 2004-03-06 19:51:58 +0000 |
---|---|---|
committer | Lisa M. Seelye <lisa@gentoo.org> | 2004-03-06 19:51:58 +0000 |
commit | c778bab8941c28e217b9d417b10e6d075b0166f6 (patch) | |
tree | 4dfc68af6f45418376ac74fd8c91b6b6e3151300 /sys-devel/distcc/distcc-2.12.1-r1.ebuild | |
parent | Version bumped (Manifest recommit) (diff) | |
download | gentoo-2-c778bab8941c28e217b9d417b10e6d075b0166f6.tar.gz gentoo-2-c778bab8941c28e217b9d417b10e6d075b0166f6.tar.bz2 gentoo-2-c778bab8941c28e217b9d417b10e6d075b0166f6.zip |
chown /var/run/distccd for distcc:daemon after install since in some cases its being reset to root:root. this addresses /msgs on irc and some bugs on the zilla
Diffstat (limited to 'sys-devel/distcc/distcc-2.12.1-r1.ebuild')
-rw-r--r-- | sys-devel/distcc/distcc-2.12.1-r1.ebuild | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/sys-devel/distcc/distcc-2.12.1-r1.ebuild b/sys-devel/distcc/distcc-2.12.1-r1.ebuild new file mode 100644 index 000000000000..45d5981f397f --- /dev/null +++ b/sys-devel/distcc/distcc-2.12.1-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-2.12.1-r1.ebuild,v 1.1 2004/03/06 19:51:58 lisa Exp $ + +inherit eutils gcc flag-o-matic +[ `gcc-major-version` -eq 2 ] && filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE + +PATCHLEVEL="2.11.1p" + +HOMEPAGE="http://distcc.samba.org/" +SRC_URI="http://distcc.samba.org/ftp/distcc/distcc-${PV}.tar.bz2" +DESCRIPTION="a program to distribute compilation of C code across several machines on a network" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="x86 ppc sparc alpha hppa mips ia64 amd64" +#Blame drobbins if the ia64 or amd64 break things going into stable before +# ~testing. ;-) -Lisa (2004-02-20) + +IUSE="gnome gtk selinux ipv6" + + +DEPEND=">=sys-apps/portage-2.0.49-r6 + >=sys-devel/gcc-config-1.3.1 + sys-apps/shadow" + +RDEPEND="!mips? ( gnome? ( >=x11-libs/gtk+-2.0.0 + >=gnome-base/libgnome-2.0.0 + >=gnome-base/libgnomeui-2.0.0.0 + >=gnome-base/libglade-2.0.0 + x11-libs/pango + ) + ) + !mips? ( + gtk? ( + >=x11-libs/gtk+-2.0.0 + x11-libs/pango + ) + ) + selinux? ( sec-policy/selinux-distcc )" + +src_compile() { + local myconf="--with-included-popt " + #Here we use the built in parse-options package. saves a dependancy + + #not taking any chances here, guessing which takes precedence in the + #configure script, so we'll just make the distinction here: + #gnome takes precedence over gtk if both are specified (gnome pulls + #in gtk anyways...) + use gtk && ! use gnome && ! use mips && myconf="${myconf} --with-gtk" + use gtk && use gnome && ! use mips && myconf="${myconf} --with-gnome" + use mips && use gtk || use gnome && ewarn "X support for Mips has been disabled." + + #Above, mips is excluded due to version issues. 2004-02-20 + + + if use ipv6; then + ewarn "To use IPV6 you must have IPV6 compiled into your kernel" + ewarn "either via a module or compiled code" + myconf=" ${myconf} --enable-rfc2553 " + sleep 2s + fi + + econf ${myconf} || die "econf ${myconf} failed" + emake || die "emake failed" +} + +src_install() { + make DESTDIR="${D%/}" install + + insinto /usr/share/doc/${PN} + doins "${S}/survey.txt" + + exeinto /usr/bin + doexe "${FILESDIR}/${PATCHLEVEL}/distcc-config" + + insinto /etc/conf.d + newins "${FILESDIR}/${PATCHLEVEL}/conf" distccd + + exeinto /etc/init.d + newexe "${FILESDIR}/${PATCHLEVEL}/init" distccd + + # create and keep the symlink dir + dodir /usr/lib/distcc/bin + keepdir /usr/lib/distcc/bin + + # create the distccd pid directory + dodir /var/run/distccd + keepdir /var/run/distccd +} + +pkg_preinst() { + # non-/ installs don't require us to do anything here + [ "${ROOT}" != "/" ] && return 0 + + # stop daemon since script is being updated + [ -n "$(pidof distccd)" -a -x /etc/init.d/distccd ] && \ + /etc/init.d/distccd stop + + # moved user creation and permissions to distcc-config script + # because of ROOT install requirements +} + +pkg_postinst() { + # handle DISTCC_HOSTS upgrade better + local ENVFILE + ENVFILE="${ROOT}etc/env.d/02distcc" + [ ! -f "${ENVFILE}" ] && \ + ENVFILE="${ROOT}etc/env.d/04distcc" + if [ -f "${ENVFILE}" ] + then + # save hosts to new file + ROOT="${ROOT}" + HOSTS=$(egrep '^DISTCC_HOSTS' "${ENVFILE}" | sed 's,[^=]*=,,') + [ ${HOSTS} ] && ${ROOT}usr/bin/distcc-config --set-hosts ${HOSTS} + # now remove from the file + grep -v 'DISTCC_HOSTS' "${ENVFILE}" > "${ENVFILE}.new" + mv "${ENVFILE}.new" "${ENVFILE}" + fi + + if [ "${ROOT}" = "/" ]; then + einfo "Installing links to native compilers..." + /usr/bin/distcc-config --install + else + # distcc-config can *almost* handle ROOT installs itself + # but for now, but user must finsh things off + ewarn "*** Installation is not complete ***" + ewarn "You must run the following as root:" + ewarn " /usr/bin/distcc-config --install" + ewarn "after booting or chrooting into ${ROOT}" + fi + einfo "Setting permissions on ${ROOT}var/run/distccd" + chown -R distcc:daemon ${ROOT}var/run/distccd + echo "" + + einfo "Tips on using distcc with Gentoo can be found at" + einfo "http://www.gentoo.org/doc/en/distcc.xml" + ewarn "As of distcc-2.11, the only thing you have to do to configure distcc" + ewarn "is to set your hosts (see the Guide, above) and to add distcc to" + ewarn "the FEATURES line in /etc/make.conf" + ewarn "This version includes a new distcc-config. If you encounter problems with it," + ewarn "please report them to our Bugzilla at bugs.gentoo.org" + echo "" + einfo "To use the distccmon programs with Gentoo you should use this command:" + einfo " DISTCC_DIR=/var/tmp/portage/.distcc distccmon-text N" + use gnome || use gtk && einfo "Or: DISTCC_DIR=/var/tmp/portage/.distcc distccmon-gnome" + sleep 3s +} |