diff options
author | Markus Nigbur <pyrania@gentoo.org> | 2004-08-27 11:05:10 +0000 |
---|---|---|
committer | Markus Nigbur <pyrania@gentoo.org> | 2004-08-27 11:05:10 +0000 |
commit | a4de5c6c3762c37adf721a5e1a3cb1eceee84e32 (patch) | |
tree | b2fdf122dd29766d02abcc5bb908fbe5cd572ce5 /sys-devel/distcc/files | |
parent | Fixing bug #56225. Thanks to James Leddy and Alexandre Veyrenc. (diff) | |
download | gentoo-2-a4de5c6c3762c37adf721a5e1a3cb1eceee84e32.tar.gz gentoo-2-a4de5c6c3762c37adf721a5e1a3cb1eceee84e32.tar.bz2 gentoo-2-a4de5c6c3762c37adf721a5e1a3cb1eceee84e32.zip |
Fixing bug #57421, thanks to Stefan Sperling. Cleaning up older distcc-config version.
Diffstat (limited to 'sys-devel/distcc/files')
-rw-r--r-- | sys-devel/distcc/files/2.11.1p/distcc-config | 165 | ||||
-rw-r--r-- | sys-devel/distcc/files/distcc-config (renamed from sys-devel/distcc/files/2.17/distcc-config) | 4 |
2 files changed, 2 insertions, 167 deletions
diff --git a/sys-devel/distcc/files/2.11.1p/distcc-config b/sys-devel/distcc/files/2.11.1p/distcc-config deleted file mode 100644 index b0eac4bfcdd0..000000000000 --- a/sys-devel/distcc/files/2.11.1p/distcc-config +++ /dev/null @@ -1,165 +0,0 @@ -#!/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/2.11.1p/distcc-config,v 1.10 2004/07/15 00:57:29 agriffis Exp $ - -import os, re, signal, sys, commands, pwd -from string import rstrip - -options=[ - '--get-hosts', - '--set-hosts', - '--get-verbose', - '--set-verbose', - '--get-log', - '--set-log', - '--install', - '--help', - '--get-env', - '--set-env' -] - -tmpcmdline=sys.argv[1:] -cmdline=[] -envfile = '/etc/env.d/02distcc' - -def exithandler(foo,bar): - os.kill(0,signal.SIGKILL) - sys.exit(1) - -signal.signal(signal.SIGINT,exithandler) - -def isroot(ret=0): - if os.getuid() != 0: - if ret == 0: - print '!!!',sys.argv[:1][0],tmpcmdline[0],'must be run as root' - sys.exit(1) - else: - retval = 0 - else: - retval = 1 - return retval - -def writeenv(var,value): - isroot() - distcc_env = [] - distcc_env = open(envfile, 'r').readlines() - distcc_env_new = open(envfile, 'w') - for i in range(len(distcc_env)): - if re.compile(var+'="(.*)"').match(distcc_env[i]): - distcc_env[i] = var+'="'+value+'"\n' - distcc_env_new.write(distcc_env[i]) - #print 'Set',var,'to:',value - os.popen('/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.' - -def readenv(var): - distcc_env = open(envfile, 'r').read() - match = re.compile(var+'="(.*)"').search(distcc_env) - if match: - print var+'='+match.group(1) - 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) - os.chmod(dir, 1777) - -for x in tmpcmdline: - if not x: - continue - if x[0:2]=="--": - if not x in options: - print "!!! Error:",x,"is an invalid option." - sys.exit(1) - else: - cmdline = x - -if '--get-hosts' in tmpcmdline: - HOSTS_ENV = os.environ.get('DISTCC_HOSTS') - HOSTS_HOME = os.environ.get('HOME')+'/hosts' - if HOSTS_ENV: - print HOSTS_ENV - elif os.path.exists(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0: - print HOSTS_HOME - elif os.path.exists('/etc/distcc/hosts'): - print rstrip(open('/etc/distcc/hosts', 'r').read()) - else: - print 'No configuration file found. Setup your hosts with --set-hosts.' -elif '--set-hosts' in tmpcmdline: - if isroot(1): - PATH = '/etc/distcc' - else: - PATH = os.environ.get('HOME') - createdistccdir(PATH) - open(PATH+'/hosts', 'w').write(cmdline + '\n') -elif '--get-verbose' in tmpcmdline: - readenv('DISTCC_VERBOSE') -elif '--set-verbose' in tmpcmdline: - writeenv('DISTCC_VERBOSE',tmpcmdline[1]) -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 -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('/usr/lib/distcc/bin/',user,group) - permissions('/var/run/distccd/',user,group) -elif '--get-env' in tmpcmdline: - if len(tmpcmdline) == 1: - print rstrip(open(envfile, 'r').read()) - elif len(tmpcmdline) == 2: - readenv(tmpcmdline[1]) - else: - print '!!! Error: Specify only one variable.' -elif '--set-env' in tmpcmdline: - if len(tmpcmdline) > 2 and len(tmpcmdline) <= 3: - isroot() - writeenv(tmpcmdline[1],tmpcmdline[2]) - else: - print '!!! Error: Awaiting two parameters.' -else: - print 'Usage: /usr/bin/distcc-config --set-hosts DISTCC_HOSTS | --get-hosts' - print ' /usr/bin/distcc-config --set-verbose { 0 | 1 } | --get-verbose' - print ' /usr/bin/distcc-config --set-log FILE | --get-log' - print ' /usr/bin/distcc-config --set-env VARIABLE VALUE | --get-env [VARIABLE]' diff --git a/sys-devel/distcc/files/2.17/distcc-config b/sys-devel/distcc/files/distcc-config index e5f059e83bcb..b0a8975f4354 100644 --- a/sys-devel/distcc/files/2.17/distcc-config +++ b/sys-devel/distcc/files/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/2.17/distcc-config,v 1.1 2004/08/22 19:14:10 lisa Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/distcc-config,v 1.1 2004/08/27 11:05:10 pyrania Exp $ import os, re, signal, sys, commands, pwd from string import rstrip @@ -99,7 +99,7 @@ if '--get-hosts' in tmpcmdline: HOSTS_HOME = os.environ.get('HOME')+'/hosts' if HOSTS_ENV: print HOSTS_ENV - elif os.path.exists(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0: + elif os.path.isfile(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0: print HOSTS_HOME elif os.path.exists('/etc/distcc/hosts'): print rstrip(open('/etc/distcc/hosts', 'r').read()) |