Andrea Claudi
2023-Sep-13 17:58 UTC
[Bridge] [PATCH iproute2-next 0/2] configure: add support for color
This series add support for the color parameter in iproute2 configure script. The idea is to make it possible for iproute2 users and packagers to set a default value for the color option different from the current one, COLOR_OPT_NEVER, while maintaining the current default behaviour. Patch 1 add the color option to the configure script. Users can set three different values, never, auto and always, with the same meanings they have for the -c / -color ip option. Default value is 'never', which results in ip, tc and bridge to maintain their current output behaviour (i.e. colorless output). Patch 2 makes it possible for ip, tc and bridge to use the configured value for color as their default color output. Andrea Claudi (2): configure: add the --color option treewide: use configured value as the default color output Makefile | 3 ++- bridge/bridge.c | 3 ++- configure | 37 +++++++++++++++++++++++++++++++++++++ ip/ip.c | 2 +- tc/tc.c | 2 +- 5 files changed, 43 insertions(+), 4 deletions(-) -- 2.41.0
Andrea Claudi
2023-Sep-13 17:58 UTC
[Bridge] [PATCH iproute2-next 1/2] configure: add the --color option
This commit allows users/packagers to choose a default for the color output feature provided by some iproute2 tools. The configure script option is documented in the script itself and it is pretty much self-explanatory. The default value is set to "never" to avoid changes to the current ip, tc, and bridge behaviour. Signed-off-by: Andrea Claudi <aclaudi at redhat.com> --- Makefile | 3 ++- configure | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7d1819ce..a24844cf 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,8 @@ endif DEFINES+=-DCONF_USR_DIR=\"$(CONF_USR_DIR)\" \ -DCONF_ETC_DIR=\"$(CONF_ETC_DIR)\" \ -DNETNS_RUN_DIR=\"$(NETNS_RUN_DIR)\" \ - -DNETNS_ETC_DIR=\"$(NETNS_ETC_DIR)\" + -DNETNS_ETC_DIR=\"$(NETNS_ETC_DIR)\" \ + -DCONF_COLOR=$(CONF_COLOR) #options for AX.25 ADDLIB+=ax25_ntop.o diff --git a/configure b/configure index 18be5a03..eb689341 100755 --- a/configure +++ b/configure @@ -5,6 +5,7 @@ INCLUDE="$PWD/include" PREFIX="/usr" LIBDIR="\${prefix}/lib" +COLOR="never" # Output file which is input to Makefile CONFIG=config.mk @@ -479,6 +480,24 @@ check_cap() fi } +check_color() +{ + case "$COLOR" in + never) + echo 'CONF_COLOR:=COLOR_OPT_NEVER' >> $CONFIG + echo 'never' + ;; + auto) + echo 'CONF_COLOR:=COLOR_OPT_AUTO' >> $CONFIG + echo 'auto' + ;; + always) + echo 'CONF_COLOR:=COLOR_OPT_ALWAYS' >> $CONFIG + echo 'always' + ;; + esac +} + quiet_config() { cat <<EOF @@ -509,6 +528,10 @@ usage() { cat <<EOF Usage: $0 [OPTIONS] + --color <never|auto|always> Default color output configuration. Available options: + never: color output is disabled (default) + auto: color output is enabled if stdout is a terminal + always: color output is enabled regardless of stdout state --include_dir <dir> Path to iproute2 include dir --libdir <dir> Path to iproute2 lib dir --libbpf_dir <dir> Path to libbpf DESTDIR @@ -527,6 +550,11 @@ if [ $# -eq 1 ] && [ "$(echo $1 | cut -c 1)" != '-' ]; then else while [ "$#" -gt 0 ]; do case "$1" in + --color) + shift + COLOR="$1" ;; + --color=*) + COLOR="${1#*=}" ;; --include_dir) shift INCLUDE="$1" ;; @@ -563,6 +591,12 @@ else done fi +case "$COLOR" in + never) ;; + auto) ;; + always) ;; + *) usage 1 ;; +esac [ -d "$INCLUDE" ] || usage 1 if [ "${LIBBPF_DIR-unused}" != "unused" ]; then [ -d "$LIBBPF_DIR" ] || usage 1 @@ -634,6 +668,9 @@ check_strlcpy echo -n "libcap support: " check_cap +echo -n "color output: " +check_color + echo >> $CONFIG echo "%.o: %.c" >> $CONFIG echo ' $(QUIET_CC)$(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CPPFLAGS) -c -o $@ $<' >> $CONFIG -- 2.41.0
Andrea Claudi
2023-Sep-13 17:58 UTC
[Bridge] [PATCH iproute2-next 2/2] treewide: use configured value as the default color output
With Makefile providing -DCONF_COLOR, we can use its value as the default color output. This effectively allow users and packagers to define a default for the color output feature without using shell aliases, and with minimum code impact. Signed-off-by: Andrea Claudi <aclaudi at redhat.com> --- bridge/bridge.c | 3 ++- ip/ip.c | 2 +- tc/tc.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bridge/bridge.c b/bridge/bridge.c index 704be50c..339101a8 100644 --- a/bridge/bridge.c +++ b/bridge/bridge.c @@ -23,7 +23,6 @@ int preferred_family = AF_UNSPEC; int oneline; int show_stats; int show_details; -static int color; int compress_vlans; int json; int timestamp; @@ -103,6 +102,8 @@ static int batch(const char *name) int main(int argc, char **argv) { + int color = CONF_COLOR; + while (argc > 1) { const char *opt = argv[1]; diff --git a/ip/ip.c b/ip/ip.c index 8c046ef1..860ff957 100644 --- a/ip/ip.c +++ b/ip/ip.c @@ -168,7 +168,7 @@ int main(int argc, char **argv) const char *libbpf_version; char *batch_file = NULL; char *basename; - int color = 0; + int color = CONF_COLOR; /* to run vrf exec without root, capabilities might be set, drop them * if not needed as the first thing. diff --git a/tc/tc.c b/tc/tc.c index 25820500..082c6677 100644 --- a/tc/tc.c +++ b/tc/tc.c @@ -35,7 +35,6 @@ int use_iec; int force; bool use_names; int json; -int color; int oneline; int brief; @@ -254,6 +253,7 @@ int main(int argc, char **argv) { const char *libbpf_version; char *batch_file = NULL; + int color = CONF_COLOR; int ret; while (argc > 1) { -- 2.41.0
patchwork-bot+netdevbpf at kernel.org
2023-Sep-14 15:30 UTC
[Bridge] [PATCH iproute2-next 0/2] configure: add support for color
Hello: This series was applied to iproute2/iproute2-next.git (main) by David Ahern <dsahern at kernel.org>: On Wed, 13 Sep 2023 19:58:24 +0200 you wrote:> This series add support for the color parameter in iproute2 configure > script. The idea is to make it possible for iproute2 users and packagers > to set a default value for the color option different from the current > one, COLOR_OPT_NEVER, while maintaining the current default behaviour. > > Patch 1 add the color option to the configure script. Users can set > three different values, never, auto and always, with the same meanings > they have for the -c / -color ip option. Default value is 'never', which > results in ip, tc and bridge to maintain their current output behaviour > (i.e. colorless output). > > [...]Here is the summary with links: - [iproute2-next,1/2] configure: add the --color option https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=5e704f4b5ba2 - [iproute2-next,2/2] treewide: use configured value as the default color output https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=b5d0273fdbab You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html