summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatsuu Takuto <matsuu@gentoo.org>2008-10-25 06:39:17 +0000
committerMatsuu Takuto <matsuu@gentoo.org>2008-10-25 06:39:17 +0000
commit8b042862eb5a2b44178b90cda5aadc9ad7686b59 (patch)
treec84f8c49ccfa1d070fb25ef5d86d2822f83a8e44 /sys-devel/distcc
parentAutomated update of use.local.desc (diff)
downloadhistorical-8b042862eb5a2b44178b90cda5aadc9ad7686b59.tar.gz
historical-8b042862eb5a2b44178b90cda5aadc9ad7686b59.tar.bz2
historical-8b042862eb5a2b44178b90cda5aadc9ad7686b59.zip
Added xinetd USE flag. Removed '--install' function from gcc-config and Added doenvd to src_install. Fixed #216950.
Package-Manager: portage-2.2_rc12/cvs/Linux 2.6.27-gentoo x86_64
Diffstat (limited to 'sys-devel/distcc')
-rw-r--r--sys-devel/distcc/ChangeLog12
-rw-r--r--sys-devel/distcc/Manifest9
-rw-r--r--sys-devel/distcc/distcc-3.0-r2.ebuild (renamed from sys-devel/distcc/distcc-3.0-r1.ebuild)58
-rw-r--r--sys-devel/distcc/files/3.0/distcc-config46
-rwxr-xr-xsys-devel/distcc/files/3.0/init5
-rw-r--r--sys-devel/distcc/files/3.0/xinetd28
6 files changed, 74 insertions, 84 deletions
diff --git a/sys-devel/distcc/ChangeLog b/sys-devel/distcc/ChangeLog
index 5e1f92b8ae8c..3d2caa74919d 100644
--- a/sys-devel/distcc/ChangeLog
+++ b/sys-devel/distcc/ChangeLog
@@ -1,6 +1,16 @@
# 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.176 2008/10/19 14:45:22 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/ChangeLog,v 1.177 2008/10/25 06:39:17 matsuu Exp $
+
+*distcc-3.0-r2 (25 Oct 2008)
+
+ 25 Oct 2008; MATSUU Takuto <matsuu@gentoo.org> files/3.0/distcc-config,
+ +files/3.0/xinetd, files/3.0/init, -distcc-3.0-r1.ebuild,
+ +distcc-3.0-r2.ebuild:
+ Added xinetd USE flag. Removed '--install' function from gcc-config and
+ Added doenvd to src_install.
+ Added --daemon to /etc/init.d/distcc, bug #216950.
+ Clean up ebuild.
*distcc-3.0-r1 (19 Oct 2008)
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index bc98d507f054..393af618f7b1 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -4,8 +4,9 @@ AUX 2.18/conf 1267 RMD160 a12045786088255c9bc8f4ad826928c00efac567 SHA1 828f62be
AUX 2.18/distcc-config.patch 1200 RMD160 46adf137db41c3278463125caeb132b9626ead54 SHA1 080ba28e0cc2eab5cdcb9c860dd255460926cadd SHA256 0abca6ee532de72ef19f1b210a09bd661ea7110cf36654c8c8ac016ee6573e55
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 4827 RMD160 cdd402bbd605825a713073956a295c02af266a5d SHA1 8231f4337c6cf0b890f50a33ad02dd93bf5cb582 SHA256 c1db689b74dbab2ce8c8dae1053205cdc748b3470d8bb70c3b8f9b432b377e7d
-AUX 3.0/init 618 RMD160 a11c5cb400ed91bc6f1e94cdc5017741cbbdb7d3 SHA1 a56616c6b0d9306f8b5d95ca506ef64f8b01d430 SHA256 f29c6bc97b9215e89116ddf0d6fedad6946fb2d9979304e50f83b406b5829805
+AUX 3.0/distcc-config 3378 RMD160 4535cce64b7e8eb7750d37e866d7bb50fa8004a5 SHA1 e90ddaae09e0e844e07aa20997c006bf80e44dba SHA256 88d0bb6b91554366e44609f307536504fea66b065885ec9b6165ecfdf1ca800d
+AUX 3.0/init 631 RMD160 fe9382e786d9d0f4053265e1c7ad2732fce9497f SHA1 31776c69bf096af117ec9ba005638613806daee5 SHA256 75e1fa7bf80fba89f8f1c7aad4d86ebb6086809880c2e23754f75bc14b1a9fca
+AUX 3.0/xinetd 946 RMD160 7535c75ef16a92dc799bb3b3cdf84e960f26b1a9 SHA1 02521553e0fac5f496033db3c25ae86e7504e963 SHA256 e02ad9a791e59cb790cd5fd8d45ecb6752047c27602f5658cd51cfa21e106ad0
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-as-needed.patch 558 RMD160 faebf24490e3dd2a5247cfb6914dc88fb7b98e35 SHA1 5e5547032b6492f9f8b0511fd621a005dbd455a2 SHA256 9e87d3b0487ffc52ccf6362866e967dff9c2a85681175096ece11413f8c91e54
@@ -23,6 +24,6 @@ EBUILD distcc-2.18.3-r10.ebuild 4991 RMD160 a226c12d97f1e212c5bf703cd32e476ee4e2
EBUILD distcc-2.18.3-r11.ebuild 5684 RMD160 4e7232be695e39b41017bda3a1df5b5fa269ed75 SHA1 b34c8080941f221549e11ac23974c68b33c853e9 SHA256 2c9bbaae12891f56918065cfb18c3d3666845b52b8331ef03c7fa3b87e2168f6
EBUILD distcc-2.18.3-r12.ebuild 5639 RMD160 c70f35d9cf254d407a5d48688b09ce4f4ddc1271 SHA1 618ff9a60867cfdbd08f537ee35f41c28b9ce370 SHA256 d937b713f022bb4675ac1b1d0cdf0ae5a8ec683a523c3a5b9f948545cb960516
EBUILD distcc-2.18.3-r13.ebuild 5686 RMD160 c875bd6c6260a61dbf487f53d7ac3f090e3f23c8 SHA1 5f17f8e6343fe2401f688090ddea3f5c183a8cf8 SHA256 fb5f9b7bb5230f8de7e87914abba720b2dc57940e27a0264e012fa39225bd843
-EBUILD distcc-3.0-r1.ebuild 4344 RMD160 8a52788f83bde596d2b69c3e095cfe8f61da74ce SHA1 0eeb9c23bcd41d7703aeaf56ce1d6072812c8683 SHA256 cdc7289057b1cae9c7f899799a3d7c5265801847f2e8b87b14d6783ff01564e1
-MISC ChangeLog 32639 RMD160 a446bb738c109c2e7c8ca0af4c5af5fba3ea0640 SHA1 9c13666783382056f4d58a38e9e903f962a7fdd9 SHA256 b5839287276aaacda4c24bdb892891aee48d51551b14342f9a8d191d58858aea
+EBUILD distcc-3.0-r2.ebuild 3825 RMD160 5e7c1846d98736c8a10af706f19afb88a69a2c02 SHA1 25c07345bb7857f2f6353fa0e264be406087dba3 SHA256 7cedba3bb04269e64a0003ca231a37f4ed407fcb1d0e097f2e6566c70b3325a4
+MISC ChangeLog 33006 RMD160 c811ab1822bf8e2e10db5ed83bed0b7c59bc3691 SHA1 8a039e2ee2f5cc86b3d050173b0cad9001057af8 SHA256 53816ab93b40a4474cf5091842138ab517fdca5e79c55f6b0e7a9b3bf7ea3d75
MISC metadata.xml 375 RMD160 71766089deafcc906533d0dc537a46646f36b50a SHA1 c188ca1cdd4d1bc82f372608e8ad7fc473cb47e5 SHA256 adb92971f6939e55ce103e1c42d3ce3dfe82823d038db0e9cf9b08d9be888e1a
diff --git a/sys-devel/distcc/distcc-3.0-r1.ebuild b/sys-devel/distcc/distcc-3.0-r2.ebuild
index 6229a9123266..36a8ba20e320 100644
--- a/sys-devel/distcc/distcc-3.0-r1.ebuild
+++ b/sys-devel/distcc/distcc-3.0-r2.ebuild
@@ -1,9 +1,6 @@
# 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-r1.ebuild,v 1.1 2008/10/19 14:45:22 matsuu 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
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/distcc-3.0-r2.ebuild,v 1.1 2008/10/25 06:39:17 matsuu Exp $
inherit eutils fdo-mime flag-o-matic multilib toolchain-funcs
@@ -14,7 +11,7 @@ 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 ipv6 selinux"
+IUSE="avahi gnome gtk ipv6 selinux xinetd"
RESTRICT="test"
@@ -35,16 +32,10 @@ DEPEND="${RDEPEND}
RDEPEND="${RDEPEND}
!net-misc/pump
>=sys-devel/gcc-config-1.3.1
- selinux? ( sec-policy/selinux-distcc )"
+ selinux? ( sec-policy/selinux-distcc )
+ xinetd? ( sys-apps/xinetd )"
pkg_setup() {
- 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"
- epause 5
- fi
-
enewuser distcc 240 -1 -1 daemon
}
@@ -77,15 +68,24 @@ src_install() {
dobin "${FILESDIR}/${PV}/distcc-config"
newinitd "${FILESDIR}/${PV}/init" distccd
- cp "${FILESDIR}/${PV}/conf" "${T}/conf"
+
+ cp "${FILESDIR}/${PV}/conf" "${T}/distccd"
if use avahi; then
- (
- echo
- echo '# Enable zeroconf support in distccd'
- echo 'DISTCCD_OPTS="${DISTCCD_OPTS} --zeroconf"'
- ) >> "${T}/conf"
+ cat >> "${T}/distccd" <<-EOF
+
+ # Enable zeroconf support in distccd
+ DISTCCD_OPTS="\${DISTCCD_OPTS} --zeroconf"
+ EOF
fi
- newconfd "${T}/conf" distccd
+ doconfd "${T}/distccd"
+
+ cat > "${T}/02distcc" <<-EOF
+ # This file is managed by distcc-config; use it to change these settings.'
+ DISTCC_LOG=""
+ DCCC_PATH="/usr/$(get_libdir)/distcc/bin"
+ DISTCC_VERBOSE="0"
+ EOF
+ doenvd "${T}/02distcc"
# create the masquerade directory
local DCCC_PATH="/usr/$(get_libdir)/distcc/bin/"
@@ -108,6 +108,11 @@ src_install() {
dosym distccmon-gui /usr/bin/distccmon-gnome
fi
+ if use xinetd; then
+ insinto /etc/xinetd.d
+ newins "${FILEDIR}/${PV}/xinetd"
+ fi
+
rm -rf "${D}/etc/default"
rm -f "${D}/etc/distcc/clients.allow"
rm -f "${D}/etc/distcc/commands.allow.sh"
@@ -117,19 +122,6 @@ src_install() {
pkg_postinst() {
use gnome && fdo-mime_desktop_database_update
- # 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
- elog "*** Installation is not complete ***"
- elog "You must run the following as root:"
- elog " /usr/bin/distcc-config --install"
- elog "after booting or chrooting into ${ROOT}"
- fi
-
elog
elog "Tips on using distcc with Gentoo can be found at"
elog "http://www.gentoo.org/doc/en/distcc.xml"
diff --git a/sys-devel/distcc/files/3.0/distcc-config b/sys-devel/distcc/files/3.0/distcc-config
index ae5424f95c13..c763c2169339 100644
--- a/sys-devel/distcc/files/3.0/distcc-config
+++ b/sys-devel/distcc/files/3.0/distcc-config
@@ -1,7 +1,7 @@
#!/usr/bin/env python
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/3.0/distcc-config,v 1.1 2008/10/18 16:21:59 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/3.0/distcc-config,v 1.2 2008/10/25 06:39:17 matsuu Exp $
import os, re, signal, sys, commands, pwd
from string import rstrip
@@ -13,7 +13,6 @@ options=[
'--set-verbose',
'--get-log',
'--set-log',
- '--install',
'--help',
'--get-env',
'--set-env'
@@ -50,7 +49,7 @@ def writeenv(var,value):
distcc_env[i] = var+'="'+value+'"\n'
distcc_env_new.write(distcc_env[i])
#print 'Set',var,'to:',value
- os.popen('/usr/sbin/env-update')
+ os.system('/usr/sbin/env-update')
print 'If you want to use these new settings in an existing shell,'
print 'you need to "source /etc/profile" to get the changes.'
@@ -62,23 +61,6 @@ def readenv(var):
else:
print var,'not set.'
-def permissions(path,user,group):
- for file in os.listdir(path):
- #print 'Configuring',path+file+'...'
- os.chown(path+file,user,group)
-
-def installlinks(chost=''):
- for file in ['gcc', 'cc', 'c++', 'g++']:
- path = '/usr/lib/distcc/bin/'
- if not chost == '':
- file = chost+'-'+file
- if os.path.exists('/usr/bin/'+file):
- #print 'Creating',path+file,'symlink...'
- if not os.path.exists(path+file):
- os.symlink('/usr/bin/distcc',path+file)
- #else:
- # print 'Already exists. Skipping...'
-
def createdistccdir(dir):
if not os.path.exists(dir):
os.mkdir(dir)
@@ -120,30 +102,6 @@ elif '--get-log' in tmpcmdline:
readenv('DISTCC_LOG')
elif '--set-log' in tmpcmdline:
writeenv('DISTCC_LOG',tmpcmdline[1])
-elif '--install' in tmpcmdline:
- isroot()
- print 'Creating',envfile+'...'
- distcc_env = open(envfile, 'w')
- distcc_env.write('# This file is managed by distcc-config; use it to change these settings.\n')
- distcc_env.write('DISTCC_LOG=""\n')
- distcc_env.write('DCCC_PATH="/usr/lib/distcc/bin"\n')
- distcc_env.write('DISTCC_VERBOSE="0"\n')
-
- if os.WEXITSTATUS(commands.getstatusoutput('/usr/sbin/useradd -u 240 -g daemon -s /bin/false -d /dev/null -c "distccd" distcc')[0]) == 9:
- os.WEXITSTATUS(commands.getstatusoutput('/usr/sbin/usermod -g daemon -s /bin/false -d /dev/null -c "distccd" distcc')[0])
-
- foobar = pwd.getpwnam('distcc')
- user = foobar[2]
- group = foobar[3]
-
- makeconf = open('/etc/make.conf', 'r').read()
- chost = re.compile('CHOST="(.*)"').search(makeconf).group(1)
- print 'Creating symlinks...'
- installlinks()
- installlinks(chost)
-
- print 'Checking permissions...'
- permissions('/var/run/distccd/',user,group)
elif '--get-env' in tmpcmdline:
if len(tmpcmdline) == 1:
print rstrip(open(envfile, 'r').read())
diff --git a/sys-devel/distcc/files/3.0/init b/sys-devel/distcc/files/3.0/init
index 0c1e62711286..6f7150f94af9 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.1 2008/10/18 16:21:59 matsuu Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/3.0/init,v 1.2 2008/10/25 06:39:17 matsuu Exp $
depend() {
need net
@@ -12,7 +12,8 @@ start() {
ebegin "Starting distccd"
PATH="$(gcc-config --get-bin-path):${PATH}" \
start-stop-daemon --start --quiet --exec "${DISTCCD_EXEC}" -- \
- --pid-file "${DISTCCD_PIDFILE}" --user distcc ${DISTCCD_OPTS}
+ --daemon --pid-file "${DISTCCD_PIDFILE}" --user distcc \
+ ${DISTCCD_OPTS}
eend $?
}
diff --git a/sys-devel/distcc/files/3.0/xinetd b/sys-devel/distcc/files/3.0/xinetd
new file mode 100644
index 000000000000..6554d7e59488
--- /dev/null
+++ b/sys-devel/distcc/files/3.0/xinetd
@@ -0,0 +1,28 @@
+# default: off
+# description: distccd serves C/C++ compilation requests from distcc clients.
+# WARNING: This service should ONLY be used on trusted networks.
+
+# xinetd service description for distcc, contributed by akpm, updated
+# by mbp.
+
+# To use this, just check the parameters below and copy this file into
+# /etc/xinet.d/distcc, or the appropriate location for your system,
+# and then restart xinetd. You should also create a 'distcc' user.
+
+# ===> Note that running from inetd is generally NOT recommended for
+# distcc. distccd should give better performance when it can run as a
+# standalone daemon and regulate its own load.
+
+service distcc
+{
+ disable = yes
+ socket_type = stream
+ wait = no
+ user = distcc
+ server = /usr/bin/distccd
+ server_args = --inetd
+
+ # This makes xinetd cope if there is no service listed in
+ # /etc/services
+ type = UNLISTED
+}