blob: f08d29f00132bc6e018e172c732624bcbb0ab269 [file] [log] [blame]
Warn users whenever `python2` is invoked.
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -237,6 +237,20 @@ static int RunMainFromImporter(char *filename)
return -1;
}
+void deprecate_warn(FILE *fp)
+{
+ int tty = isatty(2);
+ if (tty)
+ fprintf(fp, "\e[5;1;31m");
+ fprintf(fp, "%s: warning: Python 2.7 is deprecated and will be removed from CrOS by end of 2021. All users must migrate ASAP.\n",
+ orig_argv[0]);
+ fprintf(fp, "%s: commandline:", orig_argv[0]);
+ for (int i = 1; i < orig_argc; ++i)
+ fprintf(fp, " %s", orig_argv[i]);
+ if (tty)
+ fprintf(fp, "\e[m");
+ fprintf(fp, "\n");
+}
/* Main program */
@@ -372,6 +372,7 @@ Py_Main(int argc, char **argv)
_Py_QnewFlag = 1;
break;
}
+ deprecate_warn(stderr);
fprintf(stderr,
"-Q option should be `-Qold', "
"`-Qwarn', `-Qwarnall', or `-Qnew' only\n");
@@ -458,14 +459,19 @@ Py_Main(int argc, char **argv)
}
}
- if (help)
+ if (help) {
+ deprecate_warn(stderr);
return usage(0, argv[0]);
+ }
if (version) {
+ deprecate_warn(stdout);
fprintf(stderr, "Python %s\n", PY_VERSION);
return 0;
}
+ deprecate_warn(stderr);
+
if (Py_Py3kWarningFlag && !Py_TabcheckFlag)
/* -3 implies -t (but not -tt) */
Py_TabcheckFlag = 1;