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