]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1] cmd/dist, sudo.bash: don't mention sudo.bash if cov or prof...
authorShenghou Ma <minux.ma@gmail.com>
Mon, 2 Apr 2012 14:33:38 +0000 (22:33 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Mon, 2 Apr 2012 14:33:38 +0000 (22:33 +0800)
««« backport e757e2af45ec
cmd/dist, sudo.bash: don't mention sudo.bash if cov or prof is not present
        Fixes #3422.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5967057
»»»

src/cmd/dist/build.c
src/sudo.bash

index 567c9f33663a550e67dfac54faeee7b82808c72e..3ef65f85d54cf74b24c02c1ae3d78de127ae7ce0 100644 (file)
@@ -19,7 +19,7 @@ char *goos;
 char *goroot = GOROOT_FINAL;
 char *goroot_final = GOROOT_FINAL;
 char *workdir;
-char   *tooldir;
+char *tooldir;
 char *gochar;
 char *goversion;
 char *slash;   // / for unix, \ for windows
@@ -1462,7 +1462,7 @@ void
 cmdbanner(int argc, char **argv)
 {
        char *pathsep;
-       Buf b, b1, search;
+       Buf b, b1, search, path;
 
        ARGBEGIN{
        case 'v':
@@ -1478,6 +1478,7 @@ cmdbanner(int argc, char **argv)
        binit(&b);
        binit(&b1);
        binit(&search);
+       binit(&path);
 
        xprintf("\n");
        xprintf("---\n");
@@ -1495,9 +1496,10 @@ cmdbanner(int argc, char **argv)
                xprintf("*** You need to add %s to your PATH.\n", gobin);
 
        if(streq(gohostos, "darwin")) {
-               xprintf("\n"
-                       "On OS X the debuggers must be installed setgid procmod.\n"
-                       "Read and run ./sudo.bash to install the debuggers.\n");
+               if(isfile(bpathf(&path, "%s/cov", tooldir)))
+                       xprintf("\n"
+                               "On OS X the debuggers must be installed setgid procmod.\n"
+                               "Read and run ./sudo.bash to install the debuggers.\n");
        }
 
        if(!streq(goroot_final, goroot)) {
@@ -1509,6 +1511,7 @@ cmdbanner(int argc, char **argv)
        bfree(&b);
        bfree(&b1);
        bfree(&search);
+       bfree(&path);
 }
 
 // Version prints the Go version.
index cccebd34277354a43629d6359106263742f83c99..40f8d1aa19248104ebc16ef0b8c9002789bbaa0b 100755 (executable)
@@ -12,12 +12,17 @@ Darwin)
        exit 0
 esac
 
+eval $(go env)
+if ! [ -x $GOTOOLDIR/cov -a -x $GOTOOLDIR/prof ]; then
+       echo "You don't need to run sudo.bash." >&2
+       exit 2
+fi
+
 if [[ ! -d /usr/local/bin ]]; then
        echo 1>&2 'sudo.bash: problem with /usr/local/bin; cannot install tools.'
        exit 2
 fi
 
-eval $(go env)
 cd $(dirname $0)
 for i in prof cov
 do