diff options
author | Zack Welch <zwelch@gentoo.org> | 2003-04-28 20:27:36 +0000 |
---|---|---|
committer | Zack Welch <zwelch@gentoo.org> | 2003-04-28 20:27:36 +0000 |
commit | 39cc657a0cc8e0c576caa1ce465cbf788c356fe6 (patch) | |
tree | c97f5621da7026885df4f9e4213edd8de146e90b /sys-devel/distcc/files | |
parent | mark 2.0.1 stable on all archs; bump revision for distcc-config cleanups (diff) | |
download | gentoo-2-39cc657a0cc8e0c576caa1ce465cbf788c356fe6.tar.gz gentoo-2-39cc657a0cc8e0c576caa1ce465cbf788c356fe6.tar.bz2 gentoo-2-39cc657a0cc8e0c576caa1ce465cbf788c356fe6.zip |
mark 2.0.1 stable on all archs; bump revision for distcc-config cleanups
Diffstat (limited to 'sys-devel/distcc/files')
20 files changed, 16 insertions, 936 deletions
diff --git a/sys-devel/distcc/files/1.2.1/distcc-config b/sys-devel/distcc/files/1.2.1/distcc-config deleted file mode 100644 index f056dc63a45c..000000000000 --- a/sys-devel/distcc/files/1.2.1/distcc-config +++ /dev/null @@ -1,134 +0,0 @@ -#!/bin/bash -# -# distcc-config - helper script for distcc and distccd -# -# Copyright 2003 Superlucidity Services, LLC -# This program licensed under the GNU GPL version 2. -# -# This script developed by Zachary T Welch at Superlucidity Services, LLC -# based on ideas from irc discussion and the clear need for this support -# -# Additional features to come; this provides a starting point - - -[ -z "${ROOT}" ] && ROOT=/ - -source /sbin/functions.sh - -# this should be getopt'd someday -DCCC_VERBOSE=1 - -dccc_echo() { - [ -n "${DCCC_VERBOSE}" ] && echo "$*" -} -dccc_exit() { - dccc_echo "$*" - exit 1 -} - -[ "$(id -u)" != 0 ] && dccc_exit "$0 must be run by root" - -### -# the following functions manage the distcc symlinks -# they allow the user or other scripts (namely gcc-config) to -# automatically update distcc's links when upgrading toolchains -# -dccc_remove_link() { - local t="${ROOT}usr/lib/distcc/bin/${1}" - if [ -L ${t} ]; then - dccc_echo "Removing ${t}..." - rm -f "${t}" - fi -} -dccc_install_link() { - # Search the PATH for the specified compiler - # then create shadow link in ${ROOT}usr/lib/distcc/bin to distcc - # note: this `type' doesn't do the right thing if ROOT != / - if [ -n "$(type -p ${1})" ]; then - # first be sure any old link is removed - DCCC_VERBOSE="" dccc_remove_link "${1}" - - # then create the new link - local t="${ROOT}usr/lib/distcc/bin/${1}" - dccc_echo "Creating distcc shadow link: ${t}..." - ln -s /usr/bin/distcc "${t}" - fi -} -dccc_links() { - local a - for a in gcc cc c++ g++ ; do - [ -n "${2}" ] && a="${2}-${a}" - eval "dccc_${1}_link" "${a}" - done -} - -dccc_install_user() { - # update or create, depending on whether user already exists - einfo "Updating or creating distcc user..." - local USERFIX - id distcc >/dev/null 2>&1 && USERFIX=usermod || USERFIX=useradd - USERFIX="/usr/sbin/${USERFIX}" - if [ -x "${USERFIX}" ] - then - if ! ${USERFIX} -g daemon -s /bin/false -d /dev/null \ - -c "distccd" distcc - then - dccc_exit "unable to create or modify user" - fi - elif [ "${USERFIX}" = "/usr/sbin/useradd" ] - then - ewarn "${USERFIX} not found: You need to add the distcc user" - ewarn "to /etc/passwd by hand. Add the following line:\n" - ewarn " distcc:x:240:2:distccd:/dev/null:/bin/false\n" - ewarn "and then run 'distcc-config --install' again root." - dccc_exit "Unable to create distcc user!" - fi - - for d in ${ROOT}usr/lib/distcc/bin ${ROOT}var/run/distccd ; do - einfo "Configuring $d..." - chown distcc:daemon $d && chmod 0755 $d || \ - dccc_exit "Unable to configure ${d}!" - done -} - -dccc_guess_chost() { - echo "$(grep CHOST /etc/make.conf | \ - grep -v '^#' | sed 's,^.*=\"\(.*\)\",\1,')" - -} - -dccc_install() { - local xxCHOST - dccc_install_user - dccc_links install "" - for f in make.conf make.globals make.profile/make.defaults - do - xxCHOST="$(dccc_guess_chost /etc/${f})" - if [ -n "${xxCHOST}" ]; then - dccc_links install "${xxCHOST}" - break - fi - done -} - -### -# main routine - -case "${1}" in - --install ) - dccc_install - ;; - --install-user ) - dccc_install_user - ;; - --install-links ) - dccc_links install "${2}" - ;; - --remove-links ) - dccc_links remove "${2}" - ;; - * ) - echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]" - ;; -esac - diff --git a/sys-devel/distcc/files/1.2.1/wrapper.patch b/sys-devel/distcc/files/1.2.1/wrapper.patch deleted file mode 100644 index fc5af43064b7..000000000000 --- a/sys-devel/distcc/files/1.2.1/wrapper.patch +++ /dev/null @@ -1,203 +0,0 @@ -diff -aur distcc-1.2.1.orig/src/distcc.c distcc-1.2.1/src/distcc.c ---- distcc-1.2.1.orig/src/distcc.c 2003-02-23 14:33:19.000000000 -0800 -+++ distcc-1.2.1/src/distcc.c 2003-02-26 16:36:57.000000000 -0800 -@@ -481,6 +481,156 @@ - } - } - -+static char *dcc_safe_getcwd(void) -+{ -+ char *cwdstr; -+ size_t len = 200; -+ -+ do { -+ cwdstr = malloc(len); -+ if (NULL == cwdstr) break; -+ -+ if (NULL == getcwd(cwdstr, len)) { -+ free(cwdstr); -+ cwdstr = NULL; -+ if (ERANGE == errno) { -+ len += 200; -+ continue; -+ } -+ } -+ } while(0); -+ -+ if (NULL == cwdstr) { -+ rs_log_error("can't get working directory"); -+ exit(1); -+ } -+ -+ return cwdstr; -+} -+ -+/** -+ * Filter PATH past point that wrapper was called -+ */ -+static void dcc_wrapper_trunc_path(char *progname, char *path, char *argv[]) -+{ -+ static const char *envpath = "PATH="; -+ const char *p; -+ char *n, *str; -+ char *ppath = NULL; -+ int len, maxlen, plen = 0; -+ -+ maxlen = strlen(path) + strlen(envpath) + 1; -+ str = malloc(maxlen); -+ if (NULL == str) exit(1); -+ -+ /* if we were called explicitly, find the (partial) path */ -+ if (progname != argv[0]) { -+ /* eliminate this explicit path from PATH */ -+ char *cwdstr = NULL; -+ size_t cwdlen = 0; -+ -+ if ('/' != argv[0][0]) { -+ cwdstr = dcc_safe_getcwd(); -+ cwdlen = strlen(cwdstr); -+ /* or we could just error out and exit??? */ -+ } -+ -+ plen = progname - argv[0] - 1; -+ len = cwdlen + plen; -+ ppath = malloc(len); -+ if (NULL == ppath) exit(1); -+ -+ ppath[0] = 0; -+ if (NULL != cwdstr) { -+ strncpy(ppath, cwdstr, len); -+ ppath[cwdlen++] = '/'; -+ ppath[cwdlen] = 0; -+ free(cwdstr); -+ } -+ strncat(ppath, argv[0], cwdlen + plen); -+ rs_trace("looking for explicit path: %s\n", ppath); -+ } -+ else -+ ppath = NULL; -+ -+ for (p = n = path; NULL != n; p = n ? n + 1 : NULL) { -+ n = strchr(p, ':'); -+ if (NULL != n) -+ len = n - p; -+ else -+ len = strlen(p); -+ -+ if (NULL != ppath) { -+ /* check for partial path name match, -+ pmatch is last portion of path */ -+ rs_trace("checking for ppath in %s\n", p); -+ if (len != plen || 0 != strncmp(p, ppath, len)) -+ continue; -+ } -+ else { -+ strncpy(str, p, len); -+ snprintf(str + len, maxlen - len, "/%s", progname); -+ rs_trace("checking %s\n", str); -+ if (0 != access(str, X_OK)) -+ continue; -+ rs_trace("found %s\n", str); -+ } -+ /* getting here means either we found the path we ran in, or -+ we found the target program we're trying to run; -+ so PATH now starts at next entry */ -+ if (NULL != n) -+ p = n + 1; -+ else -+ p = ""; -+ break; -+ } -+ -+ /* if temp path, p, still contains something, reset PATH; -+ p will be NULL if relative or non-PATH invocation, so -+ the current path is probably free from recursion */ -+ if (NULL != p) { -+ strncpy(str, envpath, maxlen); -+ strncat(str, p, maxlen); -+ rs_trace("wrapper is setting %s\n", str); -+ n = strdup(str); -+ if ((NULL == n) || (-1 == putenv(n))) { -+ rs_log_error("putenv PATH failed"); -+ exit(1); -+ } -+ } -+ else -+ rs_trace("wrapper not modifying PATH"); -+ -+ free(str); -+ free(ppath); -+} -+ -+static char *dcc_support_wrapper(char *argv[]) -+{ -+ char *progname, *envstr; -+ -+ /* see if program was called with a full or partial path */ -+ if ((progname = strrchr(argv[0], '/')) != NULL) -+ progname++; -+ else -+ progname = argv[0]; -+ -+ if (NULL == (envstr = getenv("DISTCC_HOSTS"))) { -+ char localonly[] = "DISTCC_HOSTS=localhost"; -+ if (-1 == putenv(localonly)) { -+ rs_log_error("unable to set default DISTCC_HOSTS"); -+ exit(1); -+ } -+ } -+ -+ /* right now, we're only playing with path... but -+ wouldn't it be interesting to look at CHOST, too? */ -+ if (NULL != (envstr = getenv("PATH"))) -+ dcc_wrapper_trunc_path(progname, envstr, argv); -+ -+ return progname; -+} -+ - - /** - * distcc client entry point. -@@ -490,6 +640,7 @@ - * Performs basic setup and checks for distcc arguments, and then kicks of - * dcc_build_somewhere(). - **/ -+#include <libgen.h> - int main(int argc, char **argv) - { - int status; -@@ -499,17 +650,25 @@ - - dcc_set_trace_from_env(); - -- if (argc <= 1 || !strcmp(argv[1], "--help")) { -- dcc_show_usage(); -- exit(0); -- } else if (!strcmp(argv[1], "--version")) { -- dcc_show_version("distcc"); -- exit(0); -- } -- - dcc_recursion_safeguard(); - -- dcc_find_compiler(argv, &compiler_args); -+ if (NULL != strstr(basename(argv[0]), "distcc")) { -+ -+ if (argc <= 1 || !strcmp(argv[1], "--help")) { -+ dcc_show_usage(); -+ exit(0); -+ } else if (!strcmp(argv[1], "--version")) { -+ dcc_show_version("distcc"); -+ exit(0); -+ } -+ -+ dcc_find_compiler(argv, &compiler_args); -+ } -+ else { -+ char *progname = dcc_support_wrapper(argv); -+ dcc_shallowcopy_argv(argv, &compiler_args, 0); -+ compiler_args[0] = progname; -+ } - - dcc_exit(dcc_build_somewhere(compiler_args, &status)); - } diff --git a/sys-devel/distcc/files/1.2.3/distcc-config b/sys-devel/distcc/files/1.2.3/distcc-config index 1d3f03cc2817..d5ea03a20554 100644 --- a/sys-devel/distcc/files/1.2.3/distcc-config +++ b/sys-devel/distcc/files/1.2.3/distcc-config @@ -8,7 +8,7 @@ # This script developed by Zachary T Welch at Superlucidity Services, LLC # based on ideas from irc discussion and the clear need for this support # -# Additional features to come; this provides a starting point +# $Header: /var/cvsroot/gentoo-x86/sys-devel/distcc/files/1.2.3/distcc-config,v 1.7 2003/04/28 20:27:33 zwelch Exp $ [ -z "${ROOT}" ] && ROOT=/ @@ -195,6 +195,17 @@ dccc_get_log() { dccc_get_env DISTCC_LOG } +dccc_set_j() { + local j="$(echo ${1} | sed -e 's,[^0-9],,g')" + [ -z "${j}" ] && \ + dccc_exit "$0: invalid -j option (must be a number)" + dccc_set_env MAKEOPTS "-j${j}" + dccc_regen_env +} +dccc_get_j() { + dccc_get_env MAKEOPTS +} + #### # main install routine @@ -247,6 +258,9 @@ case "${1}" in --add-path ) dccc_set_env DCCC_PATH "/usr/lib/distcc/bin" dccc_regen_env + if [ -z "${DCCC_NO_WARN}" ]; then + einfo "You must then set PATH=\"${DCCC_PATH}/\${PATH}\"" + fi ;; --no-path ) dccc_set_env DCCC_PATH "" diff --git a/sys-devel/distcc/files/1.2/distcc-config b/sys-devel/distcc/files/1.2/distcc-config deleted file mode 100644 index 35f9614db73b..000000000000 --- a/sys-devel/distcc/files/1.2/distcc-config +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -# -# distcc-config - helper script for distcc and distccd -# -# Copyright 2003 Superlucidity Services, LLC -# This program licensed under the GNU GPL version 2. -# -# This script developed by Zachary T Welch at Superlucidity Services, LLC -# based on ideas from irc discussion and the clear need for this support -# -# Additional features to come; this provides a starting point - -# this should be getopt'd someday -DCCC_VERBOSE=1 - -dccc_echo() { - [ -n "${DCCC_VERBOSE}" ] && echo "$*" -} - -### -# the following functions manage the distcc symlinks -# they allow the user or other scripts (namely gcc-config) to -# automatically update distcc's links when upgrading toolchains -# -dccc_remove_link() { - local t="/usr/lib/distcc/bin/${1}" - if [ -L ${t} ]; then - dccc_echo "Removing ${t}..." - rm -f "${t}" - fi -} -dccc_install_link() { - # Search the PATH for the specified compiler - # then create shadow link in /usr/lib/distcc/bin to distcc - if [ -n "$(type -p ${1})" ]; then - # first be sure any old link is removed - DCCC_VERBOSE="" dccc_remove_link "${1}" - - # then create the new link - local t="/usr/lib/distcc/bin/${1}" - dccc_echo "Creating distcc shadow link: ${t}..." - ln -s /usr/bin/distcc "${t}" - fi -} -dccc_links() { - local a - for a in gcc cc c++ g++ ; do - [ -n "${2}" ] && a="${2}-${a}" - eval "dccc_${1}_link" "${a}" - done -} - -### -# main routine - -case "${1}" in - --install-links ) - dccc_links install "${2}" - ;; - --remove-links ) - dccc_links remove "${2}" - ;; - * ) - echo "usage: ${0} {--install-links|--remove-links} [ CHOST ]" - ;; -esac - diff --git a/sys-devel/distcc/files/1.2/wrapper.patch b/sys-devel/distcc/files/1.2/wrapper.patch deleted file mode 100644 index 6678ef6eaf14..000000000000 --- a/sys-devel/distcc/files/1.2/wrapper.patch +++ /dev/null @@ -1,202 +0,0 @@ ---- distcc-1.2.orig/src/distcc.c 2003-02-21 17:25:48.000000000 -0800 -+++ distcc-1.2/src/distcc.c 2003-02-23 13:55:45.000000000 -0800 -@@ -481,6 +481,156 @@ - } - } - -+static char *dcc_safe_getcwd(void) -+{ -+ char *cwdstr; -+ size_t len = 200; -+ -+ do { -+ cwdstr = malloc(len); -+ if (NULL == cwdstr) break; -+ -+ if (NULL == getcwd(cwdstr, len)) { -+ free(cwdstr); -+ cwdstr = NULL; -+ if (ERANGE == errno) { -+ len += 200; -+ continue; -+ } -+ } -+ } while(0); -+ -+ if (NULL == cwdstr) { -+ rs_log_error("can't get working directory"); -+ exit(1); -+ } -+ -+ return cwdstr; -+} -+ -+/** -+ * Filter PATH past point that wrapper was called -+ */ -+static void dcc_wrapper_trunc_path(char *progname, char *path, char *argv[]) -+{ -+ static const char *envpath = "PATH="; -+ const char *p; -+ char *n, *str; -+ char *ppath = NULL; -+ int len, maxlen, plen = 0; -+ -+ maxlen = strlen(path) + strlen(envpath) + 1; -+ str = malloc(maxlen); -+ if (NULL == str) exit(1); -+ -+ /* if we were called explicitly, find the (partial) path */ -+ if (progname != argv[0]) { -+ /* eliminate this explicit path from PATH */ -+ char *cwdstr = NULL; -+ size_t cwdlen = 0; -+ -+ if ('/' != argv[0][0]) { -+ cwdstr = dcc_safe_getcwd(); -+ cwdlen = strlen(cwdstr); -+ /* or we could just error out and exit??? */ -+ } -+ -+ plen = progname - argv[0] - 1; -+ len = cwdlen + plen; -+ ppath = malloc(len); -+ if (NULL == ppath) exit(1); -+ -+ ppath[0] = 0; -+ if (NULL != cwdstr) { -+ strncpy(ppath, cwdstr, len); -+ ppath[cwdlen++] = '/'; -+ ppath[cwdlen] = 0; -+ free(cwdstr); -+ } -+ strncat(ppath, argv[0], cwdlen + plen); -+ rs_trace("looking for explicit path: %s\n", ppath); -+ } -+ else -+ ppath = NULL; -+ -+ for (p = n = path; NULL != n; p = n ? n + 1 : NULL) { -+ n = strchr(p, ':'); -+ if (NULL != n) -+ len = n - p; -+ else -+ len = strlen(p); -+ -+ if (NULL != ppath) { -+ /* check for partial path name match, -+ pmatch is last portion of path */ -+ rs_trace("checking for ppath in %s\n", p); -+ if (len != plen || 0 != strncmp(p, ppath, len)) -+ continue; -+ } -+ else { -+ strncpy(str, p, len); -+ snprintf(str + len, maxlen - len, "/%s", progname); -+ rs_trace("checking %s\n", str); -+ if (0 != access(str, X_OK)) -+ continue; -+ rs_trace("found %s\n", str); -+ } -+ /* getting here means either we found the path we ran in, or -+ we found the target program we're trying to run; -+ so PATH now starts at next entry */ -+ if (NULL != n) -+ p = n + 1; -+ else -+ p = ""; -+ break; -+ } -+ -+ /* if temp path, p, still contains something, reset PATH; -+ p will be NULL if relative or non-PATH invocation, so -+ the current path is probably free from recursion */ -+ if (NULL != p) { -+ strncpy(str, envpath, maxlen); -+ strncat(str, p, maxlen); -+ rs_trace("wrapper is setting %s\n", str); -+ n = strdup(str); -+ if ((NULL == n) || (-1 == putenv(n))) { -+ rs_log_error("putenv PATH failed"); -+ exit(1); -+ } -+ } -+ else -+ rs_trace("wrapper not modifying PATH"); -+ -+ free(str); -+ free(ppath); -+} -+ -+static char *dcc_support_wrapper(char *argv[]) -+{ -+ char *progname, *envstr; -+ -+ /* see if program was called with a full or partial path */ -+ if ((progname = strrchr(argv[0], '/')) != NULL) -+ progname++; -+ else -+ progname = argv[0]; -+ -+ if (NULL == (envstr = getenv("DISTCC_HOSTS"))) { -+ char localonly[] = "DISTCC_HOSTS=localhost"; -+ if (-1 == putenv(localonly)) { -+ rs_log_error("unable to set default DISTCC_HOSTS"); -+ exit(1); -+ } -+ } -+ -+ /* right now, we're only playing with path... but -+ wouldn't it be interesting to look at CHOST, too? */ -+ if (NULL != (envstr = getenv("PATH"))) -+ dcc_wrapper_trunc_path(progname, envstr, argv); -+ -+ return progname; -+} -+ - - /** - * distcc client entry point. -@@ -490,6 +640,7 @@ - * Performs basic setup and checks for distcc arguments, and then kicks of - * dcc_build_somewhere(). - **/ -+#include <libgen.h> - int main(int argc, char **argv) - { - int status; -@@ -499,17 +650,25 @@ - - dcc_set_trace_from_env(); - -- if (argc <= 1 || !strcmp(argv[1], "--help")) { -- dcc_show_usage(); -- exit(0); -- } else if (!strcmp(argv[1], "--version")) { -- dcc_show_version("distcc"); -- exit(0); -- } -- - dcc_recursion_safeguard(); - -- dcc_find_compiler(argv, &compiler_args); -+ if (NULL != strstr(basename(argv[0]), "distcc")) { -+ -+ if (argc <= 1 || !strcmp(argv[1], "--help")) { -+ dcc_show_usage(); -+ exit(0); -+ } else if (!strcmp(argv[1], "--version")) { -+ dcc_show_version("distcc"); -+ exit(0); -+ } -+ -+ dcc_find_compiler(argv, &compiler_args); -+ } -+ else { -+ char *progname = dcc_support_wrapper(argv); -+ dcc_shallowcopy_argv(argv, &compiler_args, 0); -+ compiler_args[0] = progname; -+ } - - dcc_exit(dcc_build_somewhere(compiler_args, &status)); - } diff --git a/sys-devel/distcc/files/digest-distcc-0.12 b/sys-devel/distcc/files/digest-distcc-0.12 deleted file mode 100644 index 29a2afd76f4e..000000000000 --- a/sys-devel/distcc/files/digest-distcc-0.12 +++ /dev/null @@ -1 +0,0 @@ -MD5 4fa9d4f77bbaeaa615e3872bb4688ba3 distcc-0.12.tar.gz 437404 diff --git a/sys-devel/distcc/files/digest-distcc-0.15 b/sys-devel/distcc/files/digest-distcc-0.15 deleted file mode 100644 index 65f3011d0432..000000000000 --- a/sys-devel/distcc/files/digest-distcc-0.15 +++ /dev/null @@ -1 +0,0 @@ -MD5 aadc6fb3f89376390ad2ac2b53141aa4 distcc-0.15.tar.gz 431833 diff --git a/sys-devel/distcc/files/digest-distcc-1.0 b/sys-devel/distcc/files/digest-distcc-1.0 deleted file mode 100644 index 982f3f53a158..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.0 +++ /dev/null @@ -1 +0,0 @@ -MD5 109b6af458bf780702e03747a5a2581a distcc-1.0.tar.bz2 203227 diff --git a/sys-devel/distcc/files/digest-distcc-1.1 b/sys-devel/distcc/files/digest-distcc-1.1 deleted file mode 100644 index cbdb7de8f495..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.1 +++ /dev/null @@ -1 +0,0 @@ -MD5 ad2a433dbe4361baffa8dc5f24ba2be7 distcc-1.1.tar.bz2 207370 diff --git a/sys-devel/distcc/files/digest-distcc-1.1-r11 b/sys-devel/distcc/files/digest-distcc-1.1-r11 deleted file mode 100644 index cbdb7de8f495..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.1-r11 +++ /dev/null @@ -1 +0,0 @@ -MD5 ad2a433dbe4361baffa8dc5f24ba2be7 distcc-1.1.tar.bz2 207370 diff --git a/sys-devel/distcc/files/digest-distcc-1.1-r8 b/sys-devel/distcc/files/digest-distcc-1.1-r8 deleted file mode 100644 index cbdb7de8f495..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.1-r8 +++ /dev/null @@ -1 +0,0 @@ -MD5 ad2a433dbe4361baffa8dc5f24ba2be7 distcc-1.1.tar.bz2 207370 diff --git a/sys-devel/distcc/files/digest-distcc-1.2 b/sys-devel/distcc/files/digest-distcc-1.2 deleted file mode 100644 index 508bb7541ab3..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.2 +++ /dev/null @@ -1 +0,0 @@ -MD5 aa6faaa5b610a334e62ac8963c031e0c distcc-1.2.tar.bz2 220973 diff --git a/sys-devel/distcc/files/digest-distcc-1.2.1 b/sys-devel/distcc/files/digest-distcc-1.2.1 deleted file mode 100644 index 00f9d02d8c20..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.2.1 +++ /dev/null @@ -1 +0,0 @@ -MD5 03d55a0a3ccaf8266c087623991ae58a distcc-1.2.1.tar.bz2 226342 diff --git a/sys-devel/distcc/files/digest-distcc-1.2.3 b/sys-devel/distcc/files/digest-distcc-1.2.3 deleted file mode 100644 index 2064bb1d46a2..000000000000 --- a/sys-devel/distcc/files/digest-distcc-1.2.3 +++ /dev/null @@ -1 +0,0 @@ -MD5 4e6f47493d39a87d2361f72ac94673f1 distcc-1.2.3.tar.bz2 214321 diff --git a/sys-devel/distcc/files/digest-distcc-2.0.1-r1 b/sys-devel/distcc/files/digest-distcc-2.0.1-r1 new file mode 100644 index 000000000000..f677f57fa249 --- /dev/null +++ b/sys-devel/distcc/files/digest-distcc-2.0.1-r1 @@ -0,0 +1 @@ +MD5 ffa89d1ce43b317fc67038c08200b9bc distcc-2.0.1.tar.bz2 202022 diff --git a/sys-devel/distcc/files/distccd b/sys-devel/distcc/files/distccd deleted file mode 100644 index 68d7571bc4d6..000000000000 --- a/sys-devel/distcc/files/distccd +++ /dev/null @@ -1,28 +0,0 @@ -#!/sbin/runscript - -depend() { - need net -} - -start() { - rm -rf /var/tmp/distccd.pid - ebegin "Starting distccd" - start-stop-daemon --start --quiet --startas /usr/bin/distccd \ - -c nobody --pidfile /var/tmp/distccd.pid \ - -- --pid-file /var/tmp/distccd.pid - eend $? "Failed to Start distccd" -} - -stop() { - ebegin "Stopping distccd" - start-stop-daemon --stop --quiet --pidfile /var/tmp/distccd.pid - rm -rf /var/tmp/distccd.pid - eend $? "Failed to Stop distccd" -} - -restart() { - ebegin "Restarting distccd" - svc_stop - svc_start - eend $? "Failed to Restart distccd" -} diff --git a/sys-devel/distcc/files/distccd.1 b/sys-devel/distcc/files/distccd.1 deleted file mode 100644 index cc132d7ae9b5..000000000000 --- a/sys-devel/distcc/files/distccd.1 +++ /dev/null @@ -1,28 +0,0 @@ -#!/sbin/runscript - -depend() { - need net -} - -start() { - rm -rf /var/tmp/distccd.pid - ebegin "Starting distccd" - PATH=`gcc-config --get-bin-path` /sbin/start-stop-daemon --start --quiet --startas /usr/bin/distccd \ - -c nobody --pidfile /var/tmp/distccd.pid \ - -- --pid-file /var/tmp/distccd.pid - eend $? "Failed to Start distccd" -} - -stop() { - ebegin "Stopping distccd" - start-stop-daemon --stop --quiet --pidfile /var/tmp/distccd.pid - rm -rf /var/tmp/distccd.pid - eend $? "Failed to Stop distccd" -} - -restart() { - ebegin "Restarting distccd" - svc_stop - svc_start - eend $? "Failed to Restart distccd" -} diff --git a/sys-devel/distcc/files/distccd.2 b/sys-devel/distcc/files/distccd.2 deleted file mode 100644 index e1ac5ec2b760..000000000000 --- a/sys-devel/distcc/files/distccd.2 +++ /dev/null @@ -1,30 +0,0 @@ -#!/sbin/runscript - -depend() { - need net -} - -start() { - rm -rf /var/tmp/distccd.pid - ebegin "Starting distccd" - PATH="$(gcc-config --get-bin-path):${PATH}" \ - /sbin/start-stop-daemon --start --quiet \ - --startas /usr/bin/distccd \ - -c nobody --pidfile /var/tmp/distccd.pid \ - -- --pid-file /var/tmp/distccd.pid - eend $? "Failed to Start distccd" -} - -stop() { - ebegin "Stopping distccd" - start-stop-daemon --stop --quiet --pidfile /var/tmp/distccd.pid - rm -rf /var/tmp/distccd.pid - eend $? "Failed to Stop distccd" -} - -restart() { - ebegin "Restarting distccd" - svc_stop - svc_start - eend $? "Failed to Restart distccd" -} diff --git a/sys-devel/distcc/files/distccd.4 b/sys-devel/distcc/files/distccd.4 deleted file mode 100644 index f51528f2e8fc..000000000000 --- a/sys-devel/distcc/files/distccd.4 +++ /dev/null @@ -1,33 +0,0 @@ -#!/sbin/runscript - -DISTCCD_EXEC=/usr/bin/distccd -DISTCCD_PIDFILE=/var/run/distccd/distccd.pid - -depend() { - need net -} - -start() { - rm -f ${DISTCCD_PIDFILE} - ebegin "Starting distccd" - PATH="$(gcc-config --get-bin-path):${PATH}" \ - /sbin/start-stop-daemon --start --quiet \ - --startas ${DISTCCD_EXEC} \ - -c distcc --pidfile ${DISTCCD_PIDFILE} \ - -- --pid-file ${DISTCCD_PIDFILE} - eend $? "Failed to Start distccd" -} - -stop() { - ebegin "Stopping distccd" - start-stop-daemon --stop --quiet --pidfile "${DISTCCD_PIDFILE}" - rm -f "${DISTCCD_PIDFILE}" - eend $? "Failed to Stop distccd" -} - -restart() { - ebegin "Restarting distccd" - svc_stop - svc_start - eend $? "Failed to Restart distccd" -} diff --git a/sys-devel/distcc/files/wrapper-1.1.patch b/sys-devel/distcc/files/wrapper-1.1.patch deleted file mode 100644 index d3e7e79d07d7..000000000000 --- a/sys-devel/distcc/files/wrapper-1.1.patch +++ /dev/null @@ -1,201 +0,0 @@ -diff -auNr distcc-1.1.orig/src/distcc.c distcc-1.1/src/distcc.c ---- distcc-1.1.orig/src/distcc.c 2003-01-27 04:13:06.000000000 -0800 -+++ distcc-1.1/src/distcc.c 2003-02-06 15:59:45.000000000 -0800 -@@ -477,6 +477,154 @@ - } - } - -+static char *dcc_safe_getcwd() -+{ -+ char *cwdstr; -+ size_t len = 200; -+ -+ do { -+ cwdstr = malloc(len); -+ if (NULL == cwdstr) break; -+ -+ if (NULL == getcwd(cwdstr, len)) { -+ free(cwdstr); -+ cwdstr = NULL; -+ if (ERANGE == errno) { -+ len += 200; -+ continue; -+ } -+ } -+ } while(0); -+ -+ if (NULL == cwdstr) { -+ rs_log_error("can't get working directory"); -+ exit(1); -+ } -+ -+ return cwdstr; -+} -+ -+/** -+ * Filter PATH past point that wrapper was called -+ */ -+static void dcc_wrapper_trunc_path(char *progname, char *path, char *argv[]) -+{ -+ static const char *envpath = "PATH="; -+ char *p, *n, *str; -+ char *ppath = NULL; -+ int len, maxlen, plen; -+ -+ maxlen = strlen(path) + strlen(envpath) + 1; -+ str = malloc(maxlen); -+ if (NULL == str) exit(1); -+ -+ /* if we were called explicitly, find the (partial) path */ -+ if (progname != argv[0]) { -+ /* eliminate this explicit path from PATH */ -+ char *cwdstr = NULL; -+ size_t cwdlen = 0; -+ -+ if ('/' != argv[0][0]) { -+ cwdstr = dcc_safe_getcwd(); -+ cwdlen = strlen(cwdstr); -+ /* or we could just error out and exit??? */ -+ } -+ -+ plen = progname - argv[0] - 1; -+ len = cwdlen + plen; -+ ppath = malloc(len); -+ if (NULL == ppath) exit(1); -+ -+ ppath[0] = 0; -+ if (NULL != cwdstr) { -+ strncpy(ppath, cwdstr, len); -+ ppath[cwdlen++] = '/'; -+ ppath[cwdlen] = 0; -+ free(cwdstr); -+ } -+ strncat(ppath, argv[0], cwdlen + plen); -+ rs_trace("looking for explicit path: %s\n", ppath); -+ } -+ else -+ ppath = NULL; -+ -+ for (n = p = path; NULL != n; p = n ? n + 1 : NULL) { -+ n = strchr(p, ':'); -+ if (NULL != n) -+ len = n - p; -+ else -+ len = strlen(p); -+ -+ if (NULL != ppath) { -+ /* check for partial path name match, -+ pmatch is last portion of path */ -+ rs_trace("checking for ppath in %s\n", p); -+ if (len != plen || 0 != strncmp(p, ppath, len)) -+ continue; -+ } -+ else { -+ strncpy(str, p, len); -+ snprintf(str + len, maxlen - len, "/%s", progname); -+ rs_trace("checking %s\n", str); -+ if (0 != access(str, X_OK)) -+ continue; -+ rs_trace("found %s\n", str); -+ } -+ /* getting here means either we found the path we ran in, or -+ we found the target program we're trying to run; -+ so PATH now starts at next entry */ -+ if (NULL != n) -+ p = n + 1; -+ else -+ p = ""; -+ break; -+ } -+ -+ /* if temp path, p, still contains something, reset PATH; -+ p will be NULL if relative or non-PATH invocation, so -+ the current path is probably free from recursion */ -+ if (NULL != p) { -+ strncpy(str, envpath, maxlen); -+ strncat(str, p, maxlen); -+ rs_trace("wrapper is setting %s\n", str); -+ n = strdup(str); -+ if ((NULL == n) || (-1 == putenv(n))) { -+ rs_log_error("putenv PATH failed"); -+ exit(1); -+ } -+ } -+ else -+ rs_trace("wrapper not modifying PATH"); -+ -+ free(str); -+ free(ppath); -+} -+ -+static char *dcc_support_wrapper(char *argv[]) -+{ -+ char *progname, *envstr; -+ -+ /* see if program was called with a full or partial path */ -+ if ((progname = strrchr(argv[0], '/')) != NULL) -+ progname++; -+ else -+ progname = argv[0]; -+ -+ if (NULL == (envstr = getenv("DISTCC_HOSTS"))) { -+ if (-1 == putenv("DISTCC_HOSTS=localhost")) { -+ rs_log_error("unable to set default DISTCC_HOSTS"); -+ exit(1); -+ } -+ } -+ -+ /* right now, we're only playing with path... but -+ wouldn't it be interesting to look at CHOST, too? */ -+ if (NULL != (envstr = getenv("PATH"))) -+ dcc_wrapper_trunc_path(progname, envstr, argv); -+ -+ return progname; -+} -+ - - /** - * distcc client entry point. -@@ -486,6 +634,7 @@ - * Performs basic setup and checks for distcc arguments, and then kicks of - * dcc_build_somewhere(). - **/ -+#include <libgen.h> - int main(int argc, char **argv) - { - int status; -@@ -495,17 +644,25 @@ - - dcc_set_trace_from_env(); - -- if (argc <= 1 || !strcmp(argv[1], "--help")) { -- dcc_show_usage(); -- exit(0); -- } else if (!strcmp(argv[1], "--version")) { -- dcc_show_version("distcc"); -- exit(0); -- } -- - dcc_recursion_safeguard(); - -- dcc_find_compiler(argv, &compiler_args); -+ if (NULL != strstr(basename(argv[0]), "distcc")) { -+ -+ if (argc <= 1 || !strcmp(argv[1], "--help")) { -+ dcc_show_usage(); -+ exit(0); -+ } else if (!strcmp(argv[1], "--version")) { -+ dcc_show_version("distcc"); -+ exit(0); -+ } -+ -+ dcc_find_compiler(argv, &compiler_args); -+ } -+ else { -+ char *progname = dcc_support_wrapper(argv); -+ dcc_shallowcopy_argv(argv, &compiler_args, 0); -+ compiler_args[0] = progname; -+ } - - dcc_exit(dcc_build_somewhere(compiler_args, &status)); - } |