diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2018-07-13 20:03:11 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2018-07-13 20:03:11 +0300 |
commit | 6b5ca280f6681df164bac336597dc39b7aba94a1 (patch) | |
tree | 8626d94bf61a11d901cec297412768f105d1f614 /packages/sys-devel/distcc | |
parent | df25ae23907eb48cb1eca324dcf2283cdd1187b6 (diff) |
distcc: changes requested by exherbo developers
Diffstat (limited to 'packages/sys-devel/distcc')
-rw-r--r-- | packages/sys-devel/distcc/distcc-scm.exheres-0 | 17 | ||||
-rw-r--r-- | packages/sys-devel/distcc/files/3.2/conf | 40 | ||||
-rw-r--r-- | packages/sys-devel/distcc/files/3.2/distcc-config | 181 | ||||
-rw-r--r-- | packages/sys-devel/distcc/files/3.2/init | 32 | ||||
-rw-r--r-- | packages/sys-devel/distcc/files/distcc-3.0-xinetd.patch | 4 | ||||
-rw-r--r-- | packages/sys-devel/distcc/files/systemd/distccd.service (renamed from packages/sys-devel/distcc/files/distccd.service) | 0 |
6 files changed, 13 insertions, 261 deletions
diff --git a/packages/sys-devel/distcc/distcc-scm.exheres-0 b/packages/sys-devel/distcc/distcc-scm.exheres-0 index 1af0644..cad63cc 100644 --- a/packages/sys-devel/distcc/distcc-scm.exheres-0 +++ b/packages/sys-devel/distcc/distcc-scm.exheres-0 @@ -2,7 +2,7 @@ DOWNLOADS="" SCM_REPOSITORY="https://github.com/distcc/distcc.git" -require scm-git +require scm-git systemd-service require autotools [ supported_autoconf=[ 2.5 ] supported_automake=[ 1.15 1.13 1.12 1.11 ] need_libtool=false ] SUMMARY="Distribute compilation of C code across several machines on a network" @@ -12,12 +12,12 @@ HOMEPAGE="http://distcc.org/" PLATFORMS="~amd64 ~x86" MYOPTIONS=" - gnome + gnome [[ description = [ Add GNOME 2 support ] ]] gtk - hardened - ipv6 - xinetd - zeroconf + hardened [[ description = [ Activate default security enhancements for toolchain (gcc, glibc, binutils) ] ]] + ipv6 [[ description = [ Not recommended, great security risk ] ]] + xinetd [[ description = [ Add support for the xinetd super-server ] ]] + zeroconf [[ description = [ Support for DNS Service Discovery (DNS-SD) via net-dns/avahi ] ]] " DEPENDENCIES=" @@ -27,8 +27,10 @@ DEPENDENCIES=" gnome-platform/libgnome:2 gnome-platform/libgnomeui:2 x11-libs/pango - x11-libs/gtk+:2 ) + gtk? ( x11-libs/gtk+:2 ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( net-dns/avahi ) " @@ -36,7 +38,6 @@ src_prepare() { expatch "${FILES}/${PN}-3.0-xinetd.patch" expatch "${FILES}/${PN}-3.2_rc1-socks5.patch" option hardened && expatch "${FILES}/distcc-hardened.patch" - default_src_prepare autotools_src_prepare } diff --git a/packages/sys-devel/distcc/files/3.2/conf b/packages/sys-devel/distcc/files/3.2/conf deleted file mode 100644 index c499271..0000000 --- a/packages/sys-devel/distcc/files/3.2/conf +++ /dev/null @@ -1,40 +0,0 @@ -# /etc/conf.d/distccd: config file for /etc/init.d/distccd - -DISTCCD_OPTS="" - -# this is the distccd executable -DISTCCD_EXEC="/usr/bin/distccd" - -# this is where distccd will store its pid file -DISTCCD_PIDFILE="/var/run/distccd/distccd.pid" - -# set this option to run distccd with extra parameters -# Default port is 3632. For most people the default is okay. -DISTCCD_OPTS="${DISTCCD_OPTS} --port 3632" - -# Logging -# You can change some logging options here: -# --log-file FILE -# --log-level LEVEL [critical,error,warning, notice, info, debug] -# -# Leaving --log-file blank will log to syslog -# example: --log-file /dev/null --log-level warning -# example: --log-level critical - -DISTCCD_OPTS="${DISTCCD_OPTS} --log-level critical" - -# SECURITY NOTICE: -# It is HIGHLY recommended that you use the --listen option -# for increased security. You can specify an IP to permit connections -# from or a CIDR mask -# --listen accepts only a single IP -# --allow is now mandatory as of distcc-2.18. -# example: --allow 192.168.0.0/24 -# example: --allow 192.168.0.5 --allow 192.168.0.150 -# example: --listen 192.168.0.2 -DISTCCD_OPTS="${DISTCCD_OPTS} --allow 192.168.0.0/24" -#DISTCCD_OPTS="${DISTCCD_OPTS} --listen 192.168.0.2" - -# set this for niceness -# Default is 15 -DISTCCD_OPTS="${DISTCCD_OPTS} -N 15" diff --git a/packages/sys-devel/distcc/files/3.2/distcc-config b/packages/sys-devel/distcc/files/3.2/distcc-config deleted file mode 100644 index 6f3bd27..0000000 --- a/packages/sys-devel/distcc/files/3.2/distcc-config +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/env python2 -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -import os, re, signal, subprocess, sys - -options=[ - '--get-hosts', - '--set-hosts', - '--get-verbose', - '--set-verbose', - '--get-log', - '--set-log', - '--update-masquerade', - '--update-masquerade-with-crossdev', - '--help', - '--get-env', - '--set-env' -] - -tmpcmdline=sys.argv[1:] -cmdline=[] - -eprefix = '@EPREFIX@' -bindir = os.path.join(eprefix, 'usr', 'bin') -sbindir = os.path.join(eprefix, 'usr', 'sbin') -libdir = os.path.join(eprefix, '@libdir@') -sysconfdir = os.path.join(eprefix, 'etc') - -gcc_config = os.path.join(bindir, 'gcc-config') -env_update = os.path.join(sbindir, 'env-update') -envfile = os.path.join(sysconfdir, 'env.d', '02distcc') -default_distcc_dir = os.path.join(sysconfdir, 'distcc') -hostfile = os.path.join(default_distcc_dir, 'hosts') -distcc_path = os.path.join(bindir, 'distcc') -dccc_dir = os.path.join(libdir, 'distcc', 'bin') - -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('!!! %s %s must be run as root' % (sys.argv[:1][0],tmpcmdline[0])) - 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 %s to: %s ' % (var,value)) - subprocess.Popen(env_update, shell=True) - 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 installlink(chost='', version=''): - for file in ['gcc', 'cc', 'c++', 'g++']: - if not chost == '': - file = '%s-%s' % (chost,file) - if not version == '': - file = '%s-%s' % (file,version) - path = os.path.join(dccc_dir,file) - if os.path.exists(os.path.join(bindir,file)): - if not os.path.exists(path): - print('Creating %s symlink...' % (path)) - os.symlink(distcc_path,path) - #else: - # print('Already exists. Skipping...') - -def installlinks(): - p = subprocess.Popen([gcc_config+" -C -l"], shell=True, stdout=subprocess.PIPE) - lines = p.stdout.read().rstrip().split('\n') - for line in lines: - columns = line.split() - if len(columns) >= 2: - matches = re.match("(.*)-(.*)", columns[1]) - chost = matches.group(1) - version = matches.group(2) - installlink(chost) - installlink(chost, version) - -def uninstalllinks(): - for root, dirs, files in os.walk(dccc_dir): - for file in files: - os.remove(os.path.join(root, file)) - -def createdistccdir(dir): - if not os.path.exists(dir): - os.mkdir(dir) - os.chmod(dir, 0o755) - -for x in tmpcmdline: - if not x: - continue - if x[0:2]=="--": - if not x in options: - print("!!! Error: %s is an invalid option." % (x)) - sys.exit(1) - else: - cmdline = x - -if '--get-hosts' in tmpcmdline: - HOSTS_ENV = os.environ.get('DISTCC_HOSTS') - HOSTS_HOME = os.path.join(os.environ.get('HOME'), '.distcc', 'hosts') - if HOSTS_ENV: - print(HOSTS_ENV) - elif os.path.isfile(HOSTS_HOME) and os.path.getsize(HOSTS_HOME) != 0: - print(HOSTS_HOME) - elif os.path.exists(hostfile): - print(open(hostfile, 'r').read().rstrip()) - else: - print('No configuration file found. Setup your hosts with --set-hosts.') -elif '--set-hosts' in tmpcmdline: - if isroot(1): - PATH = default_distcc_dir - else: - PATH = os.path.join(os.environ.get('HOME'), '.distcc') - createdistccdir(PATH) - open(os.path.join(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 '--update-masquerade' in tmpcmdline: - isroot() - uninstalllinks() - print('Creating symlinks...') - installlink() - installlinks() -elif '--update-masquerade-with-crossdev' in tmpcmdline: - isroot() - uninstalllinks() - print('Creating symlinks...') - installlinks() -elif '--get-env' in tmpcmdline: - if len(tmpcmdline) == 1: - print(open(envfile, 'r').read().rstrip()) - 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: - cmd = sys.argv[:1][0] - print('Usage: %s --set-hosts DISTCC_HOSTS | --get-hosts' % (cmd)) - print(' %s --set-verbose { 0 | 1 } | --get-verbose' % (cmd)) - print(' %s --set-log FILE | --get-log' % (cmd)) - print(' %s --set-env VARIABLE VALUE | --get-env [VARIABLE]' % (cmd)) - print(' %s --update-masquerade' % (cmd)) - print(' %s --update-masquerade-with-crossdev' % (cmd)) diff --git a/packages/sys-devel/distcc/files/3.2/init b/packages/sys-devel/distcc/files/3.2/init deleted file mode 100644 index 783c065..0000000 --- a/packages/sys-devel/distcc/files/3.2/init +++ /dev/null @@ -1,32 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -depend() { - need net - use avahi-daemon ypbind -} - -start() { - ebegin "Starting distccd" - - if [ ! -e /var/run/distccd ] ; then - mkdir -p /var/run/distccd - chown distcc:daemon /var/run/distccd - fi - - # Load PATH and GCC_SPECS from gcc-config, bug #262773 - eval "$(gcc-config -E)" - - start-stop-daemon --start --quiet --exec "${DISTCCD_EXEC}" --user distcc -- \ - --daemon --pid-file "${DISTCCD_PIDFILE}" \ - ${DISTCCD_OPTS} - eend $? -} - -stop() { - ebegin "Stopping distccd" - start-stop-daemon --stop --quiet --pidfile "${DISTCCD_PIDFILE}" - eend $? -} diff --git a/packages/sys-devel/distcc/files/distcc-3.0-xinetd.patch b/packages/sys-devel/distcc/files/distcc-3.0-xinetd.patch index 47877ad..5d32e92 100644 --- a/packages/sys-devel/distcc/files/distcc-3.0-xinetd.patch +++ b/packages/sys-devel/distcc/files/distcc-3.0-xinetd.patch @@ -1,3 +1,7 @@ +Source: Gentoo distribution +Reason: set correct path in xinetd example +Upstream: Does not required + diff -Naur distcc-3.0.orig/doc/example/xinetd distcc-3.0/doc/example/xinetd --- distcc-3.0.orig/doc/example/xinetd 2008-08-07 05:52:13.000000000 +0900 +++ distcc-3.0/doc/example/xinetd 2008-10-27 15:32:14.000000000 +0900 diff --git a/packages/sys-devel/distcc/files/distccd.service b/packages/sys-devel/distcc/files/systemd/distccd.service index 3eb6139..3eb6139 100644 --- a/packages/sys-devel/distcc/files/distccd.service +++ b/packages/sys-devel/distcc/files/systemd/distccd.service |