diff options
author | Daniel Goller <morfic@gentoo.org> | 2005-06-18 19:38:32 +0000 |
---|---|---|
committer | Daniel Goller <morfic@gentoo.org> | 2005-06-18 19:38:32 +0000 |
commit | f9b6d2e9ecf956873b7093e47e9cbeec8749e613 (patch) | |
tree | b8e26e76d586f6037f74809d6a327412fe3635fb /sys-devel/distcc | |
parent | added ~ppc64 (diff) | |
download | historical-f9b6d2e9ecf956873b7093e47e9cbeec8749e613.tar.gz historical-f9b6d2e9ecf956873b7093e47e9cbeec8749e613.tar.bz2 historical-f9b6d2e9ecf956873b7093e47e9cbeec8749e613.zip |
applying patch to close bug #87859 for multi arch environments
Package-Manager: portage-2.0.51.20-r4
Diffstat (limited to 'sys-devel/distcc')
-rw-r--r-- | sys-devel/distcc/ChangeLog | 9 | ||||
-rw-r--r-- | sys-devel/distcc/Manifest | 25 | ||||
-rw-r--r-- | sys-devel/distcc/distcc-2.18.3-r8.ebuild | 165 | ||||
-rw-r--r-- | sys-devel/distcc/files/2.18/distcc-config.patch | 35 | ||||
-rw-r--r-- | sys-devel/distcc/files/digest-distcc-2.18.3-r8 | 1 |
5 files changed, 228 insertions, 7 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog index a689b32e4036..0ffe205b3468 100644 --- a/sys-devel/distcc/ChangeLog +++ b/sys-devel/distcc/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-devel/distcc # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.142 2005/06/18 17:21:05 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.143 2005/06/18 19:38:32 morfic Exp $ + +*distcc-2.18.3-r8 (18 Jun 2005) + + 18 Jun 2005; Daniel Goller <morfic@gentoo.org> + +files/2.18/distcc-config.patch, +distcc-2.18.3-r8.ebuild: + Added crosscompile USE flag to allow proper cross compilation in multi arch + environments, thanks to Andrew de Quincey on bug #87859 18 Jun 2005; Markus Rothe <corsair@gentoo.org> distcc-2.18.3-r7.ebuild: added ~ppc64 diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest index 0f2a80733ab0..3bdc491b654c 100644 --- a/sys-devel/distcc/Manifest +++ b/sys-devel/distcc/Manifest @@ -1,17 +1,30 @@ -MD5 cde29701121752800729839fae21dfc7 ChangeLog 26240 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + MD5 02847d17d77f9fa6b67c232400108e44 distcc-2.16-r2.ebuild 4856 MD5 64e0afe30accc560225a5c48fc49119d distcc-2.18.3-r6.ebuild 4593 -MD5 c04441917ccb5e5f9790642545c1f469 metadata.xml 375 +MD5 b85c5a8d8eec201a2f0ae671e16779eb distcc-2.18.3-r8.ebuild 5082 MD5 de278aaedd21a3852f8700ceda593eb9 distcc-2.16-r3.ebuild 5182 +MD5 a5628d983da5ddc17aab625fa7686378 ChangeLog 26519 +MD5 c04441917ccb5e5f9790642545c1f469 metadata.xml 375 MD5 56b6cabb07fa9101dba8dc0996134228 distcc-2.18.3-r7.ebuild 4930 -MD5 c462167d99c154e9f8b9f94022ed2a71 files/digest-distcc-2.16-r2 64 MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3-r6 66 -MD5 fec77b3be8d8bd8f2d6e5a708cb35717 files/distcc-config 4874 +MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3-r7 66 +MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3-r8 66 MD5 ec06b50c03c5002d4df60e49b9798445 files/distcc-gentoo-multilib-r1.patch 4245 -MD5 687a622f11f457581b267ce5fb3c2721 files/distcc-gentoo-multilib.patch 3784 +MD5 c462167d99c154e9f8b9f94022ed2a71 files/digest-distcc-2.16-r2 64 MD5 c462167d99c154e9f8b9f94022ed2a71 files/digest-distcc-2.16-r3 64 -MD5 fa3f7ab9f7829ba28b454f624b11da53 files/digest-distcc-2.18.3-r7 66 +MD5 fec77b3be8d8bd8f2d6e5a708cb35717 files/distcc-config 4874 +MD5 687a622f11f457581b267ce5fb3c2721 files/distcc-gentoo-multilib.patch 3784 MD5 69a089566bd18a1bfba2da639964c19e files/2.17/conf 1317 MD5 1161999a5d25185f95a8c284bd7307d1 files/2.17/init 733 MD5 bb53a18e009ef62f4402a23f83bfda20 files/2.18/conf 1384 MD5 739ebfc62fe125b76021cf7987a158f7 files/2.18/init 733 +MD5 d60eeaae8d5314d84632c8c98bde3234 files/2.18/distcc-config.patch 1194 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.1 (GNU/Linux) + +iD8DBQFCtHfFUpKYMelfdYERAlR+AJ0UwHDGV+g9hPo4u63Hg1osrRZD3gCfWrKj +79+Z8d5oBaWNRuA3th/IWxU= +=q95x +-----END PGP SIGNATURE----- diff --git a/sys-devel/distcc/distcc-2.18.3-r8.ebuild b/sys-devel/distcc/distcc-2.18.3-r8.ebuild new file mode 100644 index 000000000000..d96dd5f8d885 --- /dev/null +++ b/sys-devel/distcc/distcc-2.18.3-r8.ebuild @@ -0,0 +1,165 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-2.18.3-r8.ebuild,v 1.1 2005/06/18 19:38:32 morfic Exp $ + +# If you change this in any way please email lisa@gentoo.org and make an +# entry in the ChangeLog (this means you spanky :P). (2004-04-11) Lisa Seelye + +inherit eutils flag-o-matic gnuconfig toolchain-funcs + +PATCHLEVEL="2.18" + +DESCRIPTION="a program to distribute compilation of C code across several machines on a network" +HOMEPAGE="http://distcc.samba.org/" +SRC_URI="http://distcc.samba.org/ftp/distcc/distcc-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + +IUSE="crosscompile gnome gtk ipv6 selinux" + +DEPEND=">=sys-apps/portage-2.0.49-r6 + >=sys-devel/gcc-config-1.3.1 + sys-apps/shadow + gnome? ( + dev-util/pkgconfig + ) + gtk? ( + dev-util/pkgconfig + )" +RDEPEND=" + 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 + >=gnome-base/gconf-2.0.0 + ) + gtk? ( + >=x11-libs/gtk+-2.0.0 + x11-libs/pango + ) + selinux? ( sec-policy/selinux-distcc )" + +src_unpack() { + unpack ${A} + cd ${S} + + # See bug #75420 for more multilib stuff + epatch ${FILESDIR}/distcc-gentoo-multilib-r1.patch + einfo "Please report to bug #75420 success or failure of this patch." + gnuconfig_update +} + +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 && myconf="${myconf} --with-gtk" + use gtk && use gnome && myconf="${myconf} --with-gnome" + + #More legacy stuff? + [ `gcc-major-version` -eq 2 ] && filter-lfs-flags + + if use ipv6; then + ewarn "To use IPV6 you must have IPV6 compiled into your kernel" + ewarn "either via a module or compiled code" + ewarn "You can recompile without ipv6 with: USE='-ipv6' emerge distcc" + myconf=" ${myconf} --enable-rfc2553 " + epause 5 + 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}/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 + + if [ `use gnome` -o `use gtk` ]; then + einfo "Renaming /usr/bin/distccmon-gnome to /usr/bin/distccmon-gui" + einfo "This is to have a little sensability in naming schemes between distccmon programs" + mv ${D}/usr/bin/distccmon-gnome ${D}/usr/bin/distccmon-gui + dosym /usr/bin/distccmon-gui /usr/bin/distccmon-gnome + fi + +} + +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 +} + +pkg_postinst() { + #are we doing bootstrap with has no useradd? + if [ -x /usr/sbin/useradd ]; then + enewuser distcc 240 + else + ewarn "You do not have useradd (bootstrap) from shadow so I didn't" + ewarn "install the distcc user. Note that attempting to start the daemon" + ewarn "will fail. Please install shadow and re-emerge distcc." + ebeep 2 + fi + + #patching distcc-config to use shell script for multi arch environments + use crosscompile && epatch ${FILESDIR}/2.18/distcc-config.patch + + # By now everyone should be using the right envfile + + 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" + 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" + + ewarn "***SECURITY NOTICE***" + ewarn "If you are upgrading distcc please make sure to run etc-update to" + ewarn "update your /etc/conf.d/distccd and /etc/init.d/distccd files with" + ewarn "added security precautions (the --listen and --allow directives)" + ebeep 5 +} diff --git a/sys-devel/distcc/files/2.18/distcc-config.patch b/sys-devel/distcc/files/2.18/distcc-config.patch new file mode 100644 index 000000000000..4aa2f6a28aa3 --- /dev/null +++ b/sys-devel/distcc/files/2.18/distcc-config.patch @@ -0,0 +1,35 @@ +--- /usr/bin/distcc-config 2005-04-02 16:08:44.000000000 +0100 ++++ distcc-config-adq 2005-04-07 14:06:23.000000000 +0100 +@@ -65,7 +65,22 @@ + def permissions(path,user,group): + for file in os.listdir(path): + #print 'Configuring',path+file+'...' +- os.chown(path+file,user,group) ++ os.chmod(path+file,0755) ++ ++def installoverrides(chost): ++ for file in ['gcc', 'c++', 'g++']: ++ path = '/usr/lib/distcc/bin/' ++ if os.path.exists('/usr/bin/'+chost+'-'+file): ++ if os.path.exists(path+file): ++ os.unlink(path+file) ++ override_cmd = open(path+file, 'w') ++ override_cmd.write('#!/bin/sh\n') ++ override_cmd.write('exec '+chost+'-'+file+' \"$@\"\n'); ++ os.chown(path+file,user,group) ++ override_cmd = open(path+'cc', 'w') ++ override_cmd.write('#!/bin/sh\n') ++ override_cmd.write('exec '+chost+'-gcc'+' \"$@\"\n'); ++ os.chown(path+'cc',user,group) + + def installlinks(chost=''): + for file in ['gcc', 'cc', 'c++', 'g++']: +@@ -139,7 +154,7 @@ + makeconf = open('/etc/make.conf', 'r').read() + chost = re.compile('CHOST="(.*)"').search(makeconf).group(1) + print 'Creating symlinks...' +- installlinks() ++ installoverrides(chost) + installlinks(chost) + + print 'Checking permissions...' diff --git a/sys-devel/distcc/files/digest-distcc-2.18.3-r8 b/sys-devel/distcc/files/digest-distcc-2.18.3-r8 new file mode 100644 index 000000000000..7f1ca5e12714 --- /dev/null +++ b/sys-devel/distcc/files/digest-distcc-2.18.3-r8 @@ -0,0 +1 @@ +MD5 0d6b80a1efc3a3d816c4f4175f63eaa2 distcc-2.18.3.tar.bz2 341601 |