summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2008-11-05 22:52:12 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2008-11-05 22:52:12 +0000
commita02031e77f6e1f2095a06382a8c3f2de82cff8c1 (patch)
treef86762a15b9b613c52b40ba60167955ee8f4da65 /sys-devel
parentamd64 stable wrt bug #245688 (diff)
downloadhistorical-a02031e77f6e1f2095a06382a8c3f2de82cff8c1.tar.gz
historical-a02031e77f6e1f2095a06382a8c3f2de82cff8c1.tar.bz2
historical-a02031e77f6e1f2095a06382a8c3f2de82cff8c1.zip
Added GCC_SPECS to init.d, bug #164818. Fixed uninitialized issue, bug #244847. Removed DISTCC_POTENTIAL_HOSTS variable. Added IPv6 elog.
Package-Manager: portage-2.2_rc12/cvs/Linux 2.6.27-gentoo x86_64
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/distcc/ChangeLog14
-rw-r--r--sys-devel/distcc/Manifest6
-rw-r--r--sys-devel/distcc/distcc-3.0-r4.ebuild164
-rwxr-xr-xsys-devel/distcc/files/3.0/init4
-rw-r--r--sys-devel/distcc/files/distcc-3.0-uninitialized.patch13
5 files changed, 197 insertions, 4 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog
index 76dee61a59ca..a2c8aab0c11c 100644
--- a/sys-devel/distcc/ChangeLog
+++ b/sys-devel/distcc/ChangeLog
@@ -1,6 +1,18 @@
# ChangeLog for sys-devel/distcc
# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.180 2008/11/02 22:24:23 gengor Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.181 2008/11/05 22:52:11 matsuu Exp $
+
+*distcc-3.0-r4 (05 Nov 2008)
+
+ 05 Nov 2008; MATSUU Takuto <matsuu@gentoo.org> files/3.0/init,
+ +files/distcc-3.0-uninitialized.patch, +distcc-3.0-r4.ebuild:
+ Added GCC_SPECS to init.d, bug #164818. Fixed uninitialized issue, bug
+ #244847. Removed DISTCC_POTENTIAL_HOSTS variable. Added IPv6 elog.
+
+ 05 Nov 2008; MATSUU Takuto <matsuu@gentoo.org> files/3.0/init,
+ distcc-3.0-r3.ebuild:
+ Added GCC_SPECS to init.d, bug #164818. Removed DISTCC_POTENTIAL_HOSTS
+ variable. Added IPv6 elog.
02 Nov 2008; Gordon Malm <gengor@gentoo.org> +files/distcc-hardened.patch,
distcc-2.18.3-r10.ebuild, distcc-2.18.3-r13.ebuild, distcc-3.0-r3.ebuild:
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index 78bf71991375..eee825d8d556 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -5,9 +5,10 @@ AUX 2.18/distcc-config.patch 1200 RMD160 46adf137db41c3278463125caeb132b9626ead5
AUX 2.18/init 733 RMD160 935e52d2ddfc6363f26a916666bbbc28b6fdb79b SHA1 737e969b122c70df6d54c7a98bfdc872af278ff6 SHA256 1477ab79b8be398b6acb7d44e0f0a66bb75d1918365b350b824e16b8b02af22b
AUX 3.0/conf 1286 RMD160 52f0fb469fc83b2f28f032c81515773d09add0d5 SHA1 4860a6e2eea10d918058b0cdcb76ac196a2d7992 SHA256 28fa9a9ce30c9f979eac3d5be3fc64f199ecffa9d7e38e02f11957019152dc46
AUX 3.0/distcc-config 3402 RMD160 ef72502f3b69d86884fcc038d84105be46b952f2 SHA1 bbef02b51241439f64a679c72b69428035a8c2a8 SHA256 b37627554a6b55671770dd005c85a68a3db83a0b9a5669517c11064b76086e71
-AUX 3.0/init 631 RMD160 fe9382e786d9d0f4053265e1c7ad2732fce9497f SHA1 31776c69bf096af117ec9ba005638613806daee5 SHA256 75e1fa7bf80fba89f8f1c7aad4d86ebb6086809880c2e23754f75bc14b1a9fca
+AUX 3.0/init 736 RMD160 e5d8e79856983c1d4e9bbe4b2c0d9d3d986fcf37 SHA1 8d2223ebd096d884f61d3e939e724caed79468de SHA256 862b6267be1e28f76358779cd1ec79ebfcb4c38b695a7d6d4d1f348aef3a3c5f
AUX distcc-3.0-gentoo.patch 1225 RMD160 5c305052c9ee62c7d60377b26e53f69a67438b39 SHA1 7114da1f2ddda38498d19a685782da48a8b37f30 SHA256 ba1895fa906ba18490b722f9eda07a96459949d879412c2aba0218f8854ca7cc
AUX distcc-3.0-svn617.patch 533 RMD160 64c8712a9290b1fef776ca5517074748a0ec9255 SHA1 7b9b661b21aea2e1a338b3ed890c6bd7dc8064e3 SHA256 902d6715f443fceb7c799bcf4f82d637569db2da900be5e36bb40b57a3e9fa84
+AUX distcc-3.0-uninitialized.patch 448 RMD160 706d9923d257f7616775d55b287e02fb133dbdd9 SHA1 7275a1d4c314abc0ddac572cb85b49efaedee97b SHA256 2d4b0aefbe1e0245881d35c572605ee8f3c52e43316482041fadadc31e5fa9a6
AUX distcc-3.0-xinetd.patch 558 RMD160 c69f8a379ec543972fac6ec3066989c5393223f3 SHA1 58d4393c6cdd3546f35efc57021de496c66c239d SHA256 9ef11743e91167548ac6324aa21608a62fd09149a8dbdbab32602f70804e0560
AUX distcc-as-needed.patch 558 RMD160 faebf24490e3dd2a5247cfb6914dc88fb7b98e35 SHA1 5e5547032b6492f9f8b0511fd621a005dbd455a2 SHA256 9e87d3b0487ffc52ccf6362866e967dff9c2a85681175096ece11413f8c91e54
AUX distcc-avahi-configure.patch 1263 RMD160 de3ba2d651b5a76d5ee71cde79a2555f77a70b1b SHA1 eddae708be95f4bbd7cbfed53439e2dc38a979e8 SHA256 9d967456da6631845b4262ae7508948d629764149fd568c367e76e89168bb132
@@ -24,5 +25,6 @@ DIST distcc-3.0.tar.bz2 582700 RMD160 1e187fe09129dcc6e561bfb0cd0db9a43619acca S
EBUILD distcc-2.18.3-r10.ebuild 5142 RMD160 64d8b7d135334e023aa4450be62da861ea591298 SHA1 8de697fc7beddfab8192be91ca27faeb4074dd25 SHA256 2dfc6ea7957cb4baf1632bac8d417be835cb6b893f83fbefece100b782ae55fe
EBUILD distcc-2.18.3-r13.ebuild 5824 RMD160 cb18aecf919f616180067dc4344d4f12b0fe67b0 SHA1 5530214de055458bd47937d8a73ecdc2bf54372e SHA256 0940b65fb98630c5f3146abd6400094fd05599aea10a06972ea00eaf7221f08a
EBUILD distcc-3.0-r3.ebuild 4291 RMD160 b174f922bba40bc4f9d58a8a339b440db481915c SHA1 e0c4c5981bdfa6692c43e8e46a25c179d81458c7 SHA256 30145f79ff0df0cc07b0b58cacad8536cb148b4d79ed8eb2cacaa965a68a66c1
-MISC ChangeLog 33674 RMD160 559a95af689e6601542c6f323644029fabfa8b1f SHA1 82a773fe4703da63493d107d1ee9c4211d315684 SHA256 961d4885ba9c51544244f26720079f3cbccd8d8ec956a2cf39504130a3fbb760
+EBUILD distcc-3.0-r4.ebuild 4387 RMD160 c83255a30181af46eeb6b8b08777a1628d2f5bd9 SHA1 13df00ec1d94cbbffed2889465e04c92dedde75d SHA256 48c6cfdd7ae15f26c1d63a7e7bf803a164447822b1dc6f4adbaabd1de107212b
+MISC ChangeLog 34168 RMD160 658cbef228beecb6ef80aaf4f8badf0959efb994 SHA1 912eb3f2f9938728f6257d4a2d3af8aafb5e8c24 SHA256 62628a68348a90e3857e5d8271bc52a513fde3788ccd27b24af5f473988e4dee
MISC metadata.xml 375 RMD160 71766089deafcc906533d0dc537a46646f36b50a SHA1 c188ca1cdd4d1bc82f372608e8ad7fc473cb47e5 SHA256 adb92971f6939e55ce103e1c42d3ce3dfe82823d038db0e9cf9b08d9be888e1a
diff --git a/sys-devel/distcc/distcc-3.0-r4.ebuild b/sys-devel/distcc/distcc-3.0-r4.ebuild
new file mode 100644
index 000000000000..2433d288fbd8
--- /dev/null
+++ b/sys-devel/distcc/distcc-3.0-r4.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-3.0-r4.ebuild,v 1.1 2008/11/05 22:52:11 matsuu Exp $
+
+inherit eutils fdo-mime flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="a program to distribute compilation of C code across several machines on a network"
+HOMEPAGE="http://distcc.org/"
+SRC_URI="http://distcc.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="avahi gnome gtk hardened ipv6 selinux xinetd"
+
+RESTRICT="test"
+
+RDEPEND=">=dev-lang/python-2.4
+ dev-libs/popt
+ avahi? ( >=net-dns/avahi-0.6 )
+ gnome? (
+ >=gnome-base/libgnome-2
+ >=gnome-base/libgnomeui-2
+ >=x11-libs/gtk+-2
+ x11-libs/pango
+ )
+ gtk? (
+ >=x11-libs/gtk+-2
+ )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+RDEPEND="${RDEPEND}
+ !net-misc/pump
+ >=sys-devel/gcc-config-1.3.1
+ selinux? ( sec-policy/selinux-distcc )
+ xinetd? ( sys-apps/xinetd )"
+
+DISTCC_LOG=""
+DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
+DISTCC_VERBOSE="0"
+
+pkg_setup() {
+ enewuser distcc 240 -1 -1 daemon
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-gentoo.patch"
+ epatch "${FILESDIR}/${P}-svn617.patch"
+ epatch "${FILESDIR}/${P}-xinetd.patch"
+ epatch "${FILESDIR}/${P}-uninitialized.patch"
+ sed -i -e "/PATH/s:\$distcc_location:${DCCC_PATH}:" pump.in || die
+
+ # Bugs #120001, #167844 and probably more. See patch for description.
+ use hardened && epatch "${FILESDIR}/distcc-hardened.patch"
+}
+
+src_compile() {
+ # More legacy stuff?
+ [ "$(gcc-major-version)" = "2" ] && filter-lfs-flags
+
+ # -O? is required
+ [ "${CFLAGS/-O}" = "${CFLAGS}" ] && CFLAGS="${CFLAGS} -O2"
+
+ econf \
+ $(use_with avahi) \
+ $(use_with gtk) \
+ $(use_with gnome) \
+ $(use_enable ipv6 rfc2553) \
+ --with-docdir="/usr/share/doc/${PF}" || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ dobin "${FILESDIR}/${PV}/distcc-config"
+
+ newinitd "${FILESDIR}/${PV}/init" distccd
+
+ cp "${FILESDIR}/${PV}/conf" "${T}/distccd"
+ if use avahi; then
+ cat >> "${T}/distccd" <<-EOF
+
+ # Enable zeroconf support in distccd
+ DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
+ EOF
+ fi
+ doconfd "${T}/distccd"
+
+ cat > "${T}/02distcc" <<-EOF
+ # This file is managed by distcc-config; use it to change these settings.
+ DISTCC_LOG="${DISTCC_LOG}"
+ DCCC_PATH="${DCCC_PATH}"
+ DISTCC_VERBOSE="${DISTCC_VERBOSE}"
+ EOF
+ doenvd "${T}/02distcc"
+
+ # create the masquerade directory
+ dodir "${DCCC_PATH}"
+ for f in cc c++ gcc g++; do
+ dosym /usr/bin/distcc "${DCCC_PATH}/${f}"
+ if [ "${f}" != "cc" ]; then
+ dosym /usr/bin/distcc "${DCCC_PATH}/${CTARGET:-${CHOST}}-${f}"
+ fi
+ done
+
+ # create the distccd pid directory
+ keepdir /var/run/distccd
+ fowners distcc:daemon /var/run/distccd
+
+ if use gnome || 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" || die
+ dosym distccmon-gui /usr/bin/distccmon-gnome
+ fi
+
+ if use xinetd; then
+ insinto /etc/xinetd.d
+ newins "doc/example/xinetd" distcc
+ fi
+
+ rm -rf "${D}/etc/default"
+ rm -f "${D}/etc/distcc/clients.allow"
+ rm -f "${D}/etc/distcc/commands.allow.sh"
+ prepalldocs
+}
+
+pkg_postinst() {
+ use gnome && fdo-mime_desktop_database_update
+
+ if use ipv6; then
+ elog
+ elog "IPv6 has not supported yet by ${P}."
+ fi
+ elog
+ elog "Tips on using distcc with Gentoo can be found at"
+ elog "http://www.gentoo.org/doc/en/distcc.xml"
+ elog
+ elog "How to use pump mode with Gentoo:"
+ elog "# distcc-config --set-hosts \"foo,cpp,lzo bar,cpp,lzo baz,cpp,lzo\""
+ elog "# pump emerge -u world"
+ elog
+ elog "To use the distccmon programs with Gentoo you should use this command:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR}\" distccmon-text 5"
+
+ if use gnome || use gtk; then
+ elog "Or:"
+ elog "# DISTCC_DIR=\"${DISTCC_DIR}\" distccmon-gnome"
+ fi
+
+ elog
+ elog "***SECURITY NOTICE***"
+ elog "If you are upgrading distcc please make sure to run etc-update to"
+ elog "update your /etc/conf.d/distccd and /etc/init.d/distccd files with"
+ elog "added security precautions (the --listen and --allow directives)"
+ elog
+}
+
+pkg_postrm() {
+ use gnome && fdo-mime_desktop_database_update
+}
diff --git a/sys-devel/distcc/files/3.0/init b/sys-devel/distcc/files/3.0/init
index 6f7150f94af9..dfae3b719194 100755
--- a/sys-devel/distcc/files/3.0/init
+++ b/sys-devel/distcc/files/3.0/init
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/3.0/init,v 1.2 2008/10/25 06:39:17 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/3.0/init,v 1.3 2008/11/05 22:52:11 matsuu Exp $
depend() {
need net
@@ -10,6 +10,8 @@ depend() {
start() {
ebegin "Starting distccd"
+ # Load GCC_SPECS from profile.env bug #164818
+ GCC_SPECS="$(. /etc/profile.env; echo "${GCC_SPECS}")" \
PATH="$(gcc-config --get-bin-path):${PATH}" \
start-stop-daemon --start --quiet --exec "${DISTCCD_EXEC}" -- \
--daemon --pid-file "${DISTCCD_PIDFILE}" --user distcc \
diff --git a/sys-devel/distcc/files/distcc-3.0-uninitialized.patch b/sys-devel/distcc/files/distcc-3.0-uninitialized.patch
new file mode 100644
index 000000000000..28b226b7966c
--- /dev/null
+++ b/sys-devel/distcc/files/distcc-3.0-uninitialized.patch
@@ -0,0 +1,13 @@
+Index: src/where.c
+===================================================================
+--- src/where.c (revision 622)
++++ src/where.c (working copy)
+@@ -190,7 +190,7 @@
+ int dcc_lock_local_cpp(int *cpu_lock_fd)
+ {
+ int ret;
+- struct dcc_hostdef *chosen;
++ struct dcc_hostdef *chosen = NULL;
+ ret = dcc_lock_one(dcc_hostdef_local_cpp, &chosen, cpu_lock_fd);
+ dcc_note_state(DCC_PHASE_CPP, NULL, chosen->hostname);
+ return ret;