From 81f55ab9043cfa26851a9dbeb356e5dc7f791a45 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 25 Feb 2015 10:06:40 +0100 Subject: [PATCH] build-sys: add --disable-colors-default The current util-linux is to have enabled colorized outputs by default, this default behavior is possible to change by new configure option --disable-colors-default. Signed-off-by: Karel Zak --- configure.ac | 10 ++++++++++ lib/colors.c | 13 +++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 4ae450663c..122b5d532c 100644 --- a/configure.ac +++ b/configure.ac @@ -1849,6 +1849,7 @@ AC_ARG_ENABLE([makeinstall-chown], ) AM_CONDITIONAL([MAKEINSTALL_DO_CHOWN], [test "x$enable_makeinstall_chown" = xyes]) + AC_ARG_ENABLE([makeinstall-setuid], AS_HELP_STRING([--disable-makeinstall-setuid], [do not do setuid chmod operations during "make install"]), [], [enable_makeinstall_setuid=yes] @@ -1856,6 +1857,15 @@ AC_ARG_ENABLE([makeinstall-setuid], AM_CONDITIONAL([MAKEINSTALL_DO_SETUID], [test "x$enable_makeinstall_setuid" = xyes]) +AC_ARG_ENABLE([colors-default], + AS_HELP_STRING([--disable-colors-default], [do not colorize output from utils by default]), + [], [enable_colors_default=yes] +) +AS_IF([test "x$enable_colors_default" = xyes], [ + AC_DEFINE([USE_COLORS_BY_DEFAULT], [1], [Enables colorized output from utils by default]) +]) + + AC_ARG_VAR([SUID_CFLAGS], [CFLAGS used for binaries which are usually with the suid bit]) AC_ARG_VAR([SUID_LDFLAGS], diff --git a/lib/colors.c b/lib/colors.c index 6f79ac4a8a..2e5af48d9b 100644 --- a/lib/colors.c +++ b/lib/colors.c @@ -18,6 +18,15 @@ #include "debug.h" +/* + * Default behavior, maybe be override by terminal-colors.d/{enable,disable}. + */ +#ifdef USE_COLORS_BY_DEFAULT +# define UL_COLORMODE_DEFAULT UL_COLORMODE_AUTO /* check isatty() */ +#else +# define UL_COLORMODE_DEFAULT UL_COLORMODE_NEVER /* no colors by default */ +#endif + /* * terminal-colors.d debug stuff */ @@ -678,7 +687,7 @@ int colors_init(int mode, const char *name) if (mode == UL_COLORMODE_UNDEF && (atty = isatty(STDOUT_FILENO))) { int rc = colors_read_configuration(cc); if (rc) - cc->mode = UL_COLORMODE_AUTO; + cc->mode = UL_COLORMODE_DEFAULT; else { /* evaluate scores */ @@ -686,7 +695,7 @@ int colors_init(int mode, const char *name) cc->scores[UL_COLORFILE_ENABLE]) cc->mode = UL_COLORMODE_NEVER; else - cc->mode = UL_COLORMODE_AUTO; + cc->mode = UL_COLORMODE_DEFAULT; atexit(colors_deinit); } -- 2.47.2