You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2022/01/14 06:10:19 UTC

[GitHub] [apisix] leslie-tsang opened a new issue #6104: request help: add mawk for Makefile

leslie-tsang opened a new issue #6104:
URL: https://github.com/apache/apisix/issues/6104


   ### Issue description
   
   The [Makefile](https://github.com/apache/apisix/blob/master/Makefile) for the current master branch does not support mawk yet, ref to [Makefile tips](https://github.com/apache/apisix/blob/master/Makefile#L133-L137)
   
   ## Solution 
   Add a patch for Makefile
   
   ```diff
   diff --git a/Makefile b/Makefile
   index 2b25defc..50ce54bd 100644
   --- a/Makefile
   +++ b/Makefile
   @@ -46,6 +46,7 @@ ENV_INST_PREFIX        ?= /usr
    ENV_INST_LUADIR        ?= $(ENV_INST_PREFIX)/share/lua/5.1
    ENV_INST_BINDIR        ?= $(ENV_INST_PREFIX)/bin
    ENV_HOMEBREW_PREFIX    ?= /usr/local
   +ENV_HELP_PREFIX_SIZE   ?= 15
    
    ifneq ($(shell whoami), root)
    	ENV_LUAROCKS_FLAG_LOCAL := --local
   @@ -64,6 +65,13 @@ ifneq ($(ENV_NGINX_EXEC), )
    	endif
    endif
    
   +# AWK patch for mawk
   +ifneq ($(shell command -v gawk),)
   +	ENV_HELP_AWK_RULE ?= '{ if(match($$0, /^\s*\#{3}\s*([^:]+)\s*:\s*(.*)$$/, res)){ printf("    make %-$(ENV_HELP_PREFIX_SIZE)s : %-10s\n", res[1], res[2]) } }'
   +else
   +	ENV_HELP_AWK_RULE := '{ if(match($$0, /^\#\#\#([^:]+):(.*)$$/)){ split($$0, res, ":"); gsub(/^\#\#\#[ ]*/, "", res[1]); _desc=$$0; gsub(/^\#\#\#([^:]+):[ \t]*/, "", _desc); printf("    make %-$(ENV_HELP_PREFIX_SIZE)s : %-10s\n", res[1], _desc) } }'
   +endif
   +
    # ENV patch for darwin
    ifeq ($(ENV_OS_NAME), darwin)
    	ifeq ($(ENV_OS_ARCH), arm64)
   @@ -73,6 +81,7 @@ ifeq ($(ENV_OS_NAME), darwin)
    	# OSX archive `._` cache file
    	ENV_TAR      := COPYFILE_DISABLE=1 $(ENV_TAR)
    	ENV_LUAROCKS := $(ENV_LUAROCKS) --lua-dir=$(ENV_HOMEBREW_PREFIX)/opt/lua@5.1
   +	ENV_HELP_AWK_RULE := '{ if(match($$0, /^\#{3}([^:]+):(.*)$$/)){ split($$0, res, ":"); gsub(/^\#{3}[ ]*/, "", res[1]); _desc=$$0; gsub(/^\#{3}([^:]+):[ \t]*/, "", _desc); printf("    make %-$(ENV_HELP_PREFIX_SIZE)s : %-10s\n", res[1], _desc) } }'
    
    	ifeq ($(shell test -d $(ENV_HOMEBREW_PREFIX)/opt/openresty-openssl && echo -n yes), yes)
    		ENV_OPENSSL_PREFIX := $(ENV_HOMEBREW_PREFIX)/opt/openresty-openssl
   @@ -131,17 +140,11 @@ endif
    
    
    ### help : Show Makefile rules
   -### 	If there're awk failures, please make sure
   -### 	you are using awk or gawk
    .PHONY: help
    help:
    	@$(call func_echo_success_status, "Makefile rules:")
    	@echo
   -	@if [ '$(ENV_OS_NAME)' = 'darwin' ]; then \
   -		awk '{ if(match($$0, /^#{3}([^:]+):(.*)$$/)){ split($$0, res, ":"); gsub(/^#{3}[ ]*/, "", res[1]); _desc=$$0; gsub(/^#{3}([^:]+):[ \t]*/, "", _desc); printf("    make %-15s : %-10s\n", res[1], _desc) } }' Makefile; \
   -	else \
   -		awk '{ if(match($$0, /^\s*#{3}\s*([^:]+)\s*:\s*(.*)$$/, res)){ printf("    make %-15s : %-10s\n", res[1], res[2]) } }' Makefile; \
   -	fi
   +	@awk $(ENV_HELP_AWK_RULE) Makefile
    	@echo
   
   ```
   
   ### Environment
   
   - apisix version (cmd: `apisix version`):
   - OS (cmd: `uname -a`):
   - OpenResty / Nginx version (cmd: `nginx -V` or `openresty -V`):
   - etcd version, if have (cmd: run `curl http://127.0.0.1:9090/v1/server_info` to get the info from server-info API):
   - apisix-dashboard version, if have:
   - the plugin runner version, if the issue is about a plugin runner (cmd: depended on the kind of runner):
   - luarocks version, if the issue is about installation (cmd: `luarocks --version`):
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] spacewander commented on issue #6104: request help: add mawk support for Makefile

Posted by GitBox <gi...@apache.org>.
spacewander commented on issue #6104:
URL: https://github.com/apache/apisix/issues/6104#issuecomment-1012813667


   mawk doesn't have good UTF8 support and has a slightly different syntax.
   
   I don't want to maintain such a burden and will vote -1 for supporting it.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] spacewander commented on issue #6104: request help: add mawk support for Makefile

Posted by GitBox <gi...@apache.org>.
spacewander commented on issue #6104:
URL: https://github.com/apache/apisix/issues/6104#issuecomment-1012812715


   It is possible to support mawk. But is it valuable to maintain mawk support?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] leslie-tsang commented on issue #6104: request help: add mawk support for Makefile

Posted by GitBox <gi...@apache.org>.
leslie-tsang commented on issue #6104:
URL: https://github.com/apache/apisix/issues/6104#issuecomment-1012941940


   > mawk doesn't have good UTF8 support and has a slightly different syntax.
   > 
   > I don't want to maintain such a burden and will vote -1 for supporting it.
   
   
   Make sense, thanks for suggestion.
   
   I add it for run test in container, I had change my mind. no necessary to increase maintenance costs


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [apisix] leslie-tsang closed issue #6104: request help: add mawk support for Makefile

Posted by GitBox <gi...@apache.org>.
leslie-tsang closed issue #6104:
URL: https://github.com/apache/apisix/issues/6104


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@apisix.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org