Compare commits

...

60 Commits

Author SHA1 Message Date
391709ce4d formal release 1.11.2.3. 2017-04-19 17:00:51 -07:00
78af48d106 build-win32.sh: added comments for dep download links. 2017-04-08 19:20:30 -07:00
34c5e749b7 upgraded lua-redis-parser to 0.13. 2017-04-08 17:55:43 -07:00
5deaa06788 dist-check: removed the -l option for standard Lua 5.1 intepreter. 2017-04-08 17:33:54 -07:00
1fbcf153e3 change: we no longer bundle the standard Lua 5.1 interpreter. 2017-04-08 17:33:18 -07:00
da979a620a updated tests to reflect recent changes. 2017-04-08 17:25:27 -07:00
e75b5c926b upgraded ngx_redis2 to 0.14. 2017-04-08 16:02:38 -07:00
0a35dfc126 upgraded ngx_memc to 0.18. 2017-04-08 15:58:38 -07:00
88b4cf1abf upgraded resty-cli to 0.17. 2017-04-08 15:53:28 -07:00
51d68caaed upgraded lua-resty-lock to 0.06. 2017-04-08 15:43:30 -07:00
2a1b28da1c upgraded lua-resty-core to 0.1.11. 2017-04-08 15:40:49 -07:00
ba4d3dd99f upgraded lua-resty-lrucache to 0.06. 2017-04-08 15:36:35 -07:00
ec3186ccc9 upgraded lua-resty-mysql to 0.19. 2017-04-08 15:28:32 -07:00
e1cfbe09ab upgraded lua-resty-limit-traffic to 0.03. 2017-04-08 15:25:01 -07:00
8caa177718 upgraded opm to 0.0.3. 2017-04-08 15:19:07 -07:00
d00f1e1ef0 upgraded lua-resty-limit-traffic to 0.02. 2017-04-08 15:07:00 -07:00
ba6621b12b doc: updated LuaJIT's docs to the latest version for the restydoc indexes. 2017-04-08 15:04:55 -07:00
df41967474 bumped version to 1.11.2.3rc0. 2017-04-08 15:02:41 -07:00
2fd117c427 upgraded lua-resty-mysql to 0.18. 2017-04-08 15:01:34 -07:00
cfc14f5d26 upgraded lua-cjson to 2.1.0.5. 2017-04-08 14:28:11 -07:00
1197fe2bd1 upgraded lua-resty-core to 0.1.10.
upgraded lua-resty-lock to 0.05.

upgraded ngx_lua to 0.10.8.

upgraded ngx_drizzle to 0.1.10.
2017-04-08 14:25:57 -07:00
b0654629a9 upgraded lua-resty-lrucache to 0.05. 2017-04-08 13:46:50 -07:00
4fb4791107 upgraded LuaJIT to 2.1-20170405. 2017-04-08 12:04:51 -07:00
6b82ea1099 feature: now we automatically add the -msse4.2 compilation option for building the bundled LuaJIT when it is available. 2017-03-19 22:21:11 -07:00
b59ef879a5 win32: upgraded PCRE, zlib, and OpenSSL to their latest releases. 2017-03-19 21:15:52 -07:00
2044681992 dist-check: made the output a bit nicer. 2017-03-19 21:15:31 -07:00
ee90152ae3 bugfix: we did not use PATH in ./configure --sbin-path=PATH when creating symlinks.
this fixes #196.

Signed-off-by: Yichun Zhang (agentzh) <agentzh@gmail.com>
2017-02-13 15:09:10 -08:00
7a5c96d72f bugfix: default index.html: missing </p>.
Signed-off-by: Yichun Zhang (agentzh) <agentzh@gmail.com>
2016-12-28 17:13:31 -08:00
b490cfeea4 feature: applied the safe_resolver_ipv6_option patch to the nginx core to avoid the 'ipv6=off' option to be parsed by nginx when it is not built with IPv6 support.
Signed-off-by: Yichun Zhang (agentzh) <agentzh@gmail.com>
2016-12-26 22:14:59 -08:00
b1c4280777 README-win32: updated to reflect recent changes in OpenSSL versions. 2016-12-19 11:24:37 -08:00
710d9e323d updated the copyright notice. 2016-12-19 11:21:52 -08:00
1ad7b03044 win32-README: updated the link to openresty.org. 2016-12-19 11:19:43 -08:00
b6c362bbf6 doc: updated copyright notice. 2016-12-18 14:45:13 -08:00
b03099b386 bumped version to 1.11.2.2. 2016-11-17 14:26:08 -08:00
cbfbd19460 updated tests to reflect recent changes. 2016-11-13 10:16:57 -08:00
e921c6e9b1 added more tests to dist-check. 2016-11-13 10:15:47 -08:00
365c7d9d9e upgraded resty-cli to 0.16. 2016-11-13 10:11:26 -08:00
5d01a5e0b4 upgraded opm to 0.0.2. 2016-11-13 09:59:50 -08:00
e478681308 upgraded resty-cli to 0.15. 2016-11-13 09:59:03 -08:00
e254c3d0c1 change: now we enable -DLUAJIT_ENABLE_LUA52COMPAT in our bundled LuaJIT build by default, which can be disabled by ./configure --without-luajit-lua52. 2016-11-13 08:18:06 -08:00
dbccee1418 updated tests to reflect recent changes. 2016-11-04 15:32:50 -07:00
efe10e532c added new command-line utility, opm, for managing community contributed OpenResty packages. 2016-11-04 15:12:14 -07:00
6343d26c17 upgraded resty-cli to 0.14. 2016-11-04 15:05:49 -07:00
8ffd932b20 added lua-resty-limit-traffic. 2016-11-04 15:00:22 -07:00
6cb4ae0de3 upgraded lua-resty-mysql to 0.17. 2016-11-04 14:49:09 -07:00
6c8f4f87ba upgraded lua-resty-upload to 0.10. 2016-11-04 14:09:52 -07:00
d7f84c9079 upgraded lua-resty-websocket to 0.06. 2016-11-04 14:06:31 -07:00
4f2bf44aba upgraded lua-resty-dns to 0.18. 2016-11-04 14:02:29 -07:00
a4640d68f1 upgraded lua-resty-redis to 0.26. 2016-11-04 13:58:42 -07:00
69803153aa upgraded ngx_headers_more to 0.32. 2016-11-04 13:55:31 -07:00
b488540a2f upgraded lua-resty-core to 0.1.9. 2016-11-04 13:47:11 -07:00
b37d406423 win32: upgraded OpenSSL to 1.0.2j. 2016-11-04 12:28:36 -07:00
dc03e7641b upgraded ngx_lua to 0.10.7. 2016-11-04 12:10:00 -07:00
2900286149 upgraded LuaJIT to 2.1-20161104. 2016-11-04 12:08:16 -07:00
b1c3587c50 updated tests to reflect recent changes. 2016-11-02 15:19:24 -07:00
5163293260 make install: now we also create directories <prefix>/site/pod/ and <prefix>/site/manifest/. 2016-11-02 15:19:06 -07:00
1815637613 doc: updated README-win32.md to reflect recent changes. 2016-08-26 14:35:19 -07:00
fd667d6369 updated the help text of ./configure --help to sync with the new nginx 1.11.2 core. 2016-08-26 13:35:04 -07:00
ae8e36ae77 fixed test suite to reflect recent changes. 2016-08-26 13:34:20 -07:00
e2a735c481 win32: enabled http v2, addition, gzip static, sub, and several more standard nginx modules. 2016-08-26 13:16:54 -07:00
25 changed files with 2498 additions and 2108 deletions

View File

@ -1,4 +1,4 @@
Copyright (C) 2009-2015, by Yichun "agentzh" Zhang, CloudFlare Inc. Copyright (C) 2009-2015, by Yichun "agentzh" Zhang, OpenResty Inc.
Copyright (C) 2009-2014, by Xiaozhe Wang (chaoslawful) <chaoslawful@gmail.com>. Copyright (C) 2009-2014, by Xiaozhe Wang (chaoslawful) <chaoslawful@gmail.com>.

View File

@ -88,7 +88,7 @@ Copyright & License
The bundle itself is licensed under the 2-clause BSD license. The bundle itself is licensed under the 2-clause BSD license.
Copyright (c) 2011-2016, Yichun "agentzh" Zhang () <agentzh@gmail.com>, CloudFlare Inc. Copyright (c) 2011-2017, Yichun "agentzh" Zhang () <agentzh@gmail.com>, OpenResty Inc.
This module is licensed under the terms of the BSD license. This module is licensed under the terms of the BSD license.

View File

@ -65,7 +65,7 @@ programming language. Lua is a powerful, dynamic and light-weight
programming language. It may be embedded or used as a general-purpose, programming language. It may be embedded or used as a general-purpose,
stand-alone language. stand-alone language.
LuaJIT is Copyright E<copy> 2005-2016 Mike Pall, released under the LuaJIT is Copyright E<copy> 2005-2017 Mike Pall, released under the
E<rchevron> MIT open source license. E<rchevron> MIT open source license.
=head2 Compatibility =head2 Compatibility
@ -189,13 +189,13 @@ LuaJIT.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file luajit.html #From file luajit.html
# 8082 bytes of input # 8082 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -60,24 +60,28 @@ LuaJIT
=back =back
If you want to report bugs, propose fixes or suggest enhancements,
please use the GitHub issue tracker.
Please send general questions to the E<rchevron> LuaJIT mailing list. Please send general questions to the E<rchevron> LuaJIT mailing list.
You can also send any questions you have directly to me: You can also send any questions you have directly to me:
Contact info in image Contact info in image
=head2 Copyright =head2 Copyright
All documentation is Copyright E<copy> 2005-2016 Mike Pall. All documentation is Copyright E<copy> 2005-2017 Mike Pall.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file contact.html #From file contact.html
# 2813 bytes of input # 2989 bytes of input
#Wed Jun 29 13:18:14 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -163,14 +163,14 @@ note that this mechanism is not without overhead.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_c_api.html #From file ext_c_api.html
# 6042 bytes of input # 6042 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>
# Deleting phrasal "code" element (`tt_18) because it has super-phrasal elements (`br_3) as children. # Deleting phrasal "code" element (`tt_18) because it has super-phrasal elements (`br_3) as children.

View File

@ -273,13 +273,13 @@ undue conversion penalties.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_ffi.html #From file ext_ffi.html
# 10336 bytes of input # 10336 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -488,14 +488,14 @@ itself still refers to a variable named C<i>.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_ffi_api.html #From file ext_ffi_api.html
# 21471 bytes of input # 21471 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>
# Deleting phrasal "code" element (`tt_157) because it has super-phrasal elements (`br_3, `br_4) as children. # Deleting phrasal "code" element (`tt_157) because it has super-phrasal elements (`br_3, `br_4) as children.

View File

@ -1375,13 +1375,13 @@ called via the FFI, if the call is compiled.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_ffi_semantics.html #From file ext_ffi_semantics.html
# 53847 bytes of input # 53847 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -609,14 +609,14 @@ function scope is unnecessary.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_ffi_tutorial.html #From file ext_ffi_tutorial.html
# 22557 bytes of input # 22557 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>
# Deleting phrasal "code" element (`tt_100) because it has super-phrasal elements (`br_33, `br_34) as children. # Deleting phrasal "code" element (`tt_100) because it has super-phrasal elements (`br_33, `br_34) as children.

View File

@ -168,14 +168,14 @@ know more.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_jit.html #From file ext_jit.html
# 5903 bytes of input # 5903 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>
# Deleting phrasal "code" element (`tt_6) because it has super-phrasal elements (`br_2, `br_3) as children. # Deleting phrasal "code" element (`tt_6) because it has super-phrasal elements (`br_2, `br_3) as children.

View File

@ -346,13 +346,13 @@ content immediately or copy it for later use.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file ext_profiler.html #From file ext_profiler.html
# 13135 bytes of input # 13135 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -166,7 +166,8 @@ and cannot be loaded.
Note: C<LJ_GC64> mode requires a different frame layout, which implies Note: C<LJ_GC64> mode requires a different frame layout, which implies
a different, incompatible bytecode format for ports that use this mode a different, incompatible bytecode format for ports that use this mode
(e.g. ARM64). This may be rectified in the future. (e.g. ARM64 or MIPS64) or when explicitly enabled for x64. This may be
rectified in the future.
=head2 C<table.new(narray, nhash)> allocates a pre-sized table =head2 C<table.new(narray, nhash)> allocates a pre-sized table
@ -275,6 +276,12 @@ functions.
=item * C<debug.upvalueid()> and C<debug.upvaluejoin()>. =item * C<debug.upvalueid()> and C<debug.upvaluejoin()>.
=item * Lua/C API extensions: C<lua_upvalueid()> C<lua_upvaluejoin()>
C<lua_loadx()> C<luaL_fileresult()> C<luaL_execresult()>
C<luaL_loadfilex()> C<luaL_loadbufferx()> C<luaL_traceback()>
C<luaL_setfuncs()> C<luaL_pushmodule()> C<luaL_newlibtable()>
C<luaL_newlib()>
=item * Command line option C<-E>. =item * Command line option C<-E>.
=item * Command line checks C<__tostring> for errors. =item * Command line checks C<__tostring> for errors.
@ -314,6 +321,10 @@ status.
=item * Remove C<math.mod()>, C<string.gfind()>. =item * Remove C<math.mod()>, C<string.gfind()>.
=item * C<package.searchers>.
=item * C<module()> returns the module table.
=back =back
Note: this provides only partial compatibility with Lua 5.2 at the Note: this provides only partial compatibility with Lua 5.2 at the
@ -330,6 +341,16 @@ LuaJIT supports some extensions from Lua 5.3:
=item * Unicode escape C<'\u{XX...}'> embeds the UTF-8 encoding in =item * Unicode escape C<'\u{XX...}'> embeds the UTF-8 encoding in
string literals. string literals.
=item * The argument table C<arg> can be read (and modified) by
C<LUA_INIT> and C<-e> chunks.
=item * C<io.read()> and C<file:read()> accept formats with or without
a leading C<*>.
=item * C<table.move(a1, f, e, t [,a2])>.
=item * C<coroutine.isyieldable()>.
=back =back
=head2 C++ Exception Interoperability =head2 C++ Exception Interoperability
@ -441,13 +462,13 @@ destructors.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file extensions.html #From file extensions.html
# 16722 bytes of input # 17525 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -212,13 +212,13 @@ development of certain features, if they are important to you.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file faq.html #From file faq.html
# 7685 bytes of input # 7685 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -185,6 +185,11 @@ MSVC or WinSDK.
Please read the instructions given in these files, before changing any Please read the instructions given in these files, before changing any
settings. settings.
LuaJIT on x64 currently uses 32 bit GC objects by default. C<LJ_GC64>
mode may be explicitly enabled: add C<XCFLAGS=-DLUAJIT_ENABLE_GC64> to
the make command or run C<msvcbuild gc64> for MSVC/WinSDK. Please check
the note about the bytecode format differences, too.
=head2 POSIX Systems (Linux, OSX, *BSD etc.) =head2 POSIX Systems (Linux, OSX, *BSD etc.)
=head2 Prerequisites =head2 Prerequisites
@ -491,14 +496,15 @@ Apple, not me. Or use Android. :-p
ISDKP=$(xcrun --sdk iphoneos --show-sdk-path) ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
ICC=$(xcrun --sdk iphoneos --find clang) ICC=$(xcrun --sdk iphoneos --find clang)
ISDKF="-arch armv7 -isysroot $ISDKP" ISDKF="-arch armv7 -isysroot $ISDKP"
make HOST_CC="clang -m32 -arch i386" CROSS="$(dirname $ICC)/" \ make DEFAULT_CC=clang HOST_CC="clang -m32 -arch i386" \
TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
# iOS/ARM64 # iOS/ARM64
ISDKP=$(xcrun --sdk iphoneos --show-sdk-path) ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
ICC=$(xcrun --sdk iphoneos --find clang) ICC=$(xcrun --sdk iphoneos --find clang)
ISDKF="-arch arm64 -isysroot $ISDKP" ISDKF="-arch arm64 -isysroot $ISDKP"
make CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS make DEFAULT_CC=clang CROSS="$(dirname $ICC)/" \
TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
=head2 Cross-compiling for consoles =head2 Cross-compiling for consoles
@ -586,15 +592,11 @@ don't intend to load Lua/C modules at runtime.
=back =back
=item * If you're building a 64 bit application on OSX which links =item * If you're building a 64 bit application on OSX which links
directly or indirectly against LuaJIT, you need to link your main directly or indirectly against LuaJIT which is not built for C<LJ_GC64>
executable with these flags: mode, you need to link your main executable with these flags:
-pagezero_size 10000 -image_base 100000000 -pagezero_size 10000 -image_base 100000000
Also, it's recommended to C<rebase> all (self-compiled) shared
libraries which are loaded at runtime on OSX/x64 (e.g. C extension
modules for Lua). See: C<man rebase>
=back =back
Additional hints for initializing LuaJIT using the C API functions: Additional hints for initializing LuaJIT using the C API functions:
@ -683,14 +685,14 @@ package maintainer), anyway.
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file install.html #From file install.html
# 25008 bytes of input # 25250 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>
# Deleting phrasal "a" element (`a_34) because it has super-phrasal elements (`br_16) as children. # Deleting phrasal "a" element (`a_34) because it has super-phrasal elements (`br_16) as children.

View File

@ -409,13 +409,13 @@ Max. total size of all machine code areas in KBytes
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file running.html #From file running.html
# 13720 bytes of input # 13720 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -87,17 +87,27 @@ are not handled correctly. The error may fall through an on-trace
C<pcall> or it may be passed on to the function set with C<lua_atpanic> C<pcall> or it may be passed on to the function set with C<lua_atpanic>
on x64. This issue will be fixed with the new garbage collector. on x64. This issue will be fixed with the new garbage collector.
=item * LuaJIT on 64 bit systems provides a B<limited range> of 47 bits
for the B<legacy C<lightuserdata>> data type. This is only relevant on
x64 systems which use the negative part of the virtual address space in
user mode, e.g. Solaris/x64, and on ARM64 systems configured with a 48
bit or 52 bit VA. Avoid using C<lightuserdata> to hold pointers that
may point outside of that range, e.g. variables on the stack. In
general, avoid this data type for new code and replace it with (much
more performant) FFI bindings. FFI cdata pointers can address the full
64 bit range.
=back =back
---- ----
Copyright E<copy> 2005-2016 Mike Pall E<middot> Contact Copyright E<copy> 2005-2017 Mike Pall E<middot> Contact
=cut =cut
#Pod::HTML2Pod conversion notes: #Pod::HTML2Pod conversion notes:
#From file status.html #From file status.html
# 3334 bytes of input # 3931 bytes of input
#Wed Jun 29 13:18:15 2016 agentzh #Sat Apr 8 14:31:44 2017 agentzh
# No a_name switch not specified, so will not try to render <a name='...'> # No a_name switch not specified, so will not try to render <a name='...'>
# No a_href switch not specified, so will not try to render <a href='...'> # No a_href switch not specified, so will not try to render <a href='...'>

View File

@ -6,9 +6,9 @@ README-win32 - README for the Windows 32-bit build of OpenResty
Description Description
=========== ===========
The binary distributions of OpenResty can be downloaded from the following web page: The official binary Win32 distribution of OpenResty can be downloaded from the following web page:
https://openresty.org/#Download https://openresty.org/en/download.html
To start the NGINX server of the nginx server of the Win32 binary distribution of OpenResty: To start the NGINX server of the nginx server of the Win32 binary distribution of OpenResty:
@ -124,25 +124,58 @@ MinGW gcc 4.8.1, MSYS perl, MSYS bash, MSYS make, and etc. Basically, it is curr
the following cmmands: the following cmmands:
```bash ```bash
PCRE=pcre-8.39
ZLIB=zlib-1.2.8
OPENSSL=openssl-1.0.2j
mkdir -p objs/lib || exit 1 mkdir -p objs/lib || exit 1
cd objs/lib || exit 1 cd objs/lib || exit 1
ls ../../.. ls ../../..
tar -xf ../../../openssl-1.0.2d.tar.gz tar -xf ../../../$OPENSSL.tar.gz || exit 1
tar -xf ../../../zlib-1.2.8.tar.gz tar -xf ../../../$ZLIB.tar.gz || exit 1
tar -xf ../../../pcre-8.37.tar.gz tar -xf ../../../$PCRE.tar.gz || exit 1
cd ../.. cd ../..
./configure --with-cc=gcc \
cd objs/lib/$OPENSSL || exit 1
patch -p1 < ../../../patches/openssl-1.0.2h-sess_set_get_cb_yield.patch || exit 1
cd ../../..
./configure \
--with-cc=gcc \
--with-ipv6 \
--prefix= \ --prefix= \
--with-cc-opt='-DFD_SETSIZE=1024' \ --with-cc-opt='-DFD_SETSIZE=1024' \
--with-select_module \
--with-ipv6 \
--sbin-path=nginx.exe \ --sbin-path=nginx.exe \
--with-pcre-jit \ --with-pcre-jit \
--without-http_rds_json_module \
--without-http_rds_csv_module \
--without-lua_rds_parser \
--with-ipv6 \
--with-stream \
--with-stream_ssl_module \
--with-http_v2_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_secure_link_module \
--with-http_random_index_module \
--with-http_gzip_static_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-select_module \
--with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \ --with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \
--with-pcre=objs/lib/pcre-8.37 \ --with-pcre=objs/lib/$PCRE \
--with-zlib=objs/lib/zlib-1.2.8 \ --with-zlib=objs/lib/$ZLIB \
--with-openssl=objs/lib/openssl-1.0.2d \ --with-openssl=objs/lib/$OPENSSL \
-j5 -j5 || exit 1
make make
make install make install
``` ```
@ -162,14 +195,14 @@ installing the build toolchain.
Author Author
====== ======
Yichun "agentzh" Zhang <agentzh@gmail.com>, CloudFlare Inc. Yichun "agentzh" Zhang <agentzh@gmail.com>, OpenResty Inc.
Copyright & License Copyright & License
=================== ===================
This module is licensed under the BSD license. This module is licensed under the BSD license.
Copyright (C) 2015-2016, by Yichun "agentzh" Zhang () <agentzh@gmail.com>, CloudFlare Inc. Copyright (C) 2015-2016, by Yichun "agentzh" Zhang () <agentzh@gmail.com>, OpenResty Inc.
All rights reserved. All rights reserved.

View File

@ -16,7 +16,7 @@
working. Further configuration is required.</p> working. Further configuration is required.</p>
<p>For online documentation and support please refer to <p>For online documentation and support please refer to
<a href="https://openresty.org/">openresty.org</a>.<br/> <a href="https://openresty.org/">openresty.org</a>.<br/></p>
<p><em>Thank you for flying OpenResty.</em></p> <p><em>Thank you for flying OpenResty.</em></p>
</body> </body>

View File

@ -0,0 +1,55 @@
# HG changeset patch
# User Thibault Charbonnier <thibaultcha@fastmail.com>
# Date 1481847421 28800
# Thu Dec 15 16:17:01 2016 -0800
# Node ID 8bf038fe006fd8ae253d6b41fc6cf109a8912d3e
# Parent a3dc657f4e9530623683e6b85bd7492662e4dc47
Resolver: ignore ipv6=off resolver option when no ipv6 support
Makes the resolver directive more robust: we only error out when ipv6
resolution is desired but not supported (ipv6=on).
use case 1: some configurations are sometimes re-used between builds with and
without ipv6 support. This patch avoids the need to remove the "ipv6=off" flag.
use case 2: currently, some tools rely on the --with-ipv6 configure option from
"nginx -V" to determine if ipv6 resolution should be disabled in some cases.
With this option disappearing in Nginx 1.11.5, this patch would allow such tools
to assume "ipv6=off" to be safe regardless of ipv6 support in the current
build.
diff -r a3dc657f4e95 -r 8bf038fe006f src/core/ngx_resolver.c
--- a/src/core/ngx_resolver.c Thu Dec 15 21:44:34 2016 +0300
+++ b/src/core/ngx_resolver.c Thu Dec 15 16:17:01 2016 -0800
@@ -224,14 +224,22 @@
continue;
}
-#if (NGX_HAVE_INET6)
if (ngx_strncmp(names[i].data, "ipv6=", 5) == 0) {
if (ngx_strcmp(&names[i].data[5], "on") == 0) {
+#if (NGX_HAVE_INET6)
r->ipv6 = 1;
+#else
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "no ipv6 support but \"%V\" in resolver",
+ &names[i]);
+ return NULL;
+#endif
} else if (ngx_strcmp(&names[i].data[5], "off") == 0) {
+#if (NGX_HAVE_INET6)
r->ipv6 = 0;
+#endif
} else {
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
@@ -241,7 +249,6 @@
continue;
}
-#endif
ngx_memzero(&u, sizeof(ngx_url_t));

4014
t/sanity.t

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,12 @@
#!/bin/bash #!/bin/bash
PCRE=pcre-8.39 PCRE=pcre-8.40
ZLIB=zlib-1.2.8 ZLIB=zlib-1.2.11
OPENSSL=openssl-1.0.2h OPENSSL=openssl-1.0.2k
# wget https://www.openssl.org/source/openssl-1.0.2k.tar.gz
# wget http://zlib.net/zlib-1.2.11.tar.gz
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
rm -rf objs || exit 1 rm -rf objs || exit 1
mkdir -p objs/lib || exit 1 mkdir -p objs/lib || exit 1
@ -14,27 +18,46 @@ tar -xf ../../../$PCRE.tar.gz || exit 1
cd ../.. cd ../..
cd objs/lib/$OPENSSL || exit 1 cd objs/lib/$OPENSSL || exit 1
patch -p1 < ../../../patches/$OPENSSL-sess_set_get_cb_yield.patch || exit 1 patch -p1 < ../../../patches/openssl-1.0.2h-sess_set_get_cb_yield.patch || exit 1
cd ../../.. cd ../../..
#--with-openssl-opt="no-asm" \ #--with-openssl-opt="no-asm" \
./configure --with-cc=gcc --with-ipv6 --prefix= \ ./configure \
--with-cc=gcc \
--with-ipv6 \
--prefix= \
--with-cc-opt='-DFD_SETSIZE=1024' \ --with-cc-opt='-DFD_SETSIZE=1024' \
--sbin-path=nginx.exe \ --sbin-path=nginx.exe \
--with-ipv6 \
--with-pcre-jit \ --with-pcre-jit \
--with-http_stub_status_module \ --without-http_rds_json_module \
--with-http_realip_module \ --without-http_rds_csv_module \
--without-lua_rds_parser \
--with-ipv6 \
--with-stream \ --with-stream \
--with-stream_ssl_module \ --with-stream_ssl_module \
--with-http_v2_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-http_addition_module \ --with-http_addition_module \
--with-http_auth_request_module \
--with-http_secure_link_module \
--with-http_random_index_module \
--with-http_gzip_static_module \
--with-http_sub_module \ --with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-select_module \
--with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \ --with-luajit-xcflags="-DLUAJIT_NUMMODE=2 -DLUAJIT_ENABLE_LUA52COMPAT" \
--with-pcre=objs/lib/$PCRE \ --with-pcre=objs/lib/$PCRE \
--with-zlib=objs/lib/$ZLIB \ --with-zlib=objs/lib/$ZLIB \
--with-openssl=objs/lib/$OPENSSL \ --with-openssl=objs/lib/$OPENSSL \
--with-select_module -j5 || exit 1 -j5 || exit 1
#gmake -j5 #gmake -j5
make || exit 1 make || exit 1
make install make install

165
util/configure vendored
View File

@ -5,6 +5,7 @@ use strict;
use warnings; use warnings;
use File::Spec; use File::Spec;
use File::Temp qw( tempfile tmpnam );
sub shell ($@); sub shell ($@);
sub env ($$); sub env ($$);
@ -121,12 +122,14 @@ my $with_resty_mods_regex;
} }
my $prefix = '/usr/local/openresty'; my $prefix = '/usr/local/openresty';
my $ngx_sbin;
my %resty_opts; my %resty_opts;
my $dry_run; my $dry_run;
my @ngx_rpaths; my @ngx_rpaths;
my $cc; my $cc;
my $cores; my $cores;
my $luajit_xcflags = ''; my $luajit_xcflags = '';
my $no_luajit_lua52;
my (@ngx_opts, @ngx_cc_opts, @ngx_ld_opts); my (@ngx_opts, @ngx_cc_opts, @ngx_ld_opts);
@ -165,13 +168,13 @@ for my $opt (@ARGV) {
} }
} elsif ($opt eq '--without-lua51') { } elsif ($opt eq '--without-lua51') {
undef $resty_opts{lua}; die "ERROR: --without-lua51 is no longer supported.\n";
} elsif ($opt eq '--with-lua51') { } elsif ($opt eq '--with-lua51') {
$resty_opts{lua} = 1; die "ERROR: --with-lua51 is no longer supported.\n";
} elsif ($opt =~ /^--with-lua51=(.*)/) { } elsif ($opt =~ /^--with-lua51=(.*)/) {
$resty_opts{lua_path} = $1; die "ERROR: --with-lua51=PATH is no longer supported.\n";
} elsif ($opt eq '--without-http_rewrite_module') { } elsif ($opt eq '--without-http_rewrite_module') {
warn "WARNING: ngx_devel_kit is automatically disabled ", warn "WARNING: ngx_devel_kit is automatically disabled ",
@ -203,6 +206,9 @@ for my $opt (@ARGV) {
} elsif ($opt eq '--without-lua_resty_string') { } elsif ($opt eq '--without-lua_resty_string') {
$resty_opts{no_lua_resty_string} = 1; $resty_opts{no_lua_resty_string} = 1;
} elsif ($opt eq '--without-lua_resty_limit_traffic') {
$resty_opts{no_lua_resty_limit_traffic} = 1;
} elsif ($opt eq '--without-lua_resty_websocket') { } elsif ($opt eq '--without-lua_resty_websocket') {
$resty_opts{no_lua_resty_websocket} = 1; $resty_opts{no_lua_resty_websocket} = 1;
@ -252,6 +258,9 @@ for my $opt (@ARGV) {
} elsif ($opt =~ /^--with-luajit-xcflags=(.*)/) { } elsif ($opt =~ /^--with-luajit-xcflags=(.*)/) {
$luajit_xcflags .= " $1"; $luajit_xcflags .= " $1";
} elsif ($opt =~ /^--without-luajit-lua52/) {
$no_luajit_lua52 = 1;
} elsif ($opt =~ /^--with-libdrizzle=(.*)/) { } elsif ($opt =~ /^--with-libdrizzle=(.*)/) {
$resty_opts{libdrizzle} = $1; $resty_opts{libdrizzle} = $1;
@ -297,6 +306,10 @@ for my $opt (@ARGV) {
$path = File::Spec->rel2abs($path); $path = File::Spec->rel2abs($path);
push @ngx_opts, "--with-$lib=$path"; push @ngx_opts, "--with-$lib=$path";
} elsif ($opt =~ /^--sbin-path=(.*)/) {
$ngx_sbin = $1;
push @ngx_opts, $opt;
} elsif ($opt =~ /^--\w.*/) { } elsif ($opt =~ /^--\w.*/) {
push @ngx_opts, $opt; push @ngx_opts, $opt;
@ -341,10 +354,16 @@ push @make_cmds, "cd $root_dir/build/$ngx_dir && "
push @make_install_cmds, "cd $root_dir/build/$ngx_dir && " push @make_install_cmds, "cd $root_dir/build/$ngx_dir && "
. "\$(MAKE) install DESTDIR=\$(DESTDIR)"; . "\$(MAKE) install DESTDIR=\$(DESTDIR)";
push @make_install_cmds, "mkdir -p \$(DESTDIR)$prefix/site/lualib"; push @make_install_cmds,
"mkdir -p \$(DESTDIR)$prefix/site/lualib"
. " \$(DESTDIR)$prefix/site/pod"
. " \$(DESTDIR)$prefix/site/manifest";
if ($platform ne 'msys') { if ($platform ne 'msys') {
push @make_install_cmds, "ln -sf $ngx_prefix/sbin/nginx \$(DESTDIR)$prefix/bin/openresty"; if (!$ngx_sbin) {
$ngx_sbin = "$ngx_prefix/sbin/nginx";
}
push @make_install_cmds, "ln -sf $ngx_sbin \$(DESTDIR)$prefix/bin/openresty";
} }
cd '../..'; # to the root cd '../..'; # to the root
@ -601,6 +620,34 @@ _END_
} }
} }
if (!$no_luajit_lua52
&& (!$luajit_xcflags || $luajit_xcflags !~ /-DLUAJIT_ENABLE_LUA52COMPAT\b/))
{
$luajit_xcflags .= " -DLUAJIT_ENABLE_LUA52COMPAT";
}
{
# check -msse4.2
my ($out, $cfile) = tempfile("resty-config-XXXXXX",
SUFFIX => '.c', TMPDIR => 1,
UNLINK => 1);
print $out "int main(void) { return 0; }";
close $out;
my $ofile = tmpnam();
my $comp = ($cc || 'cc');
if (system("$comp -o $ofile -msse4.2 -c $cfile") == 0 && -s $ofile) {
print "INFO: found -msse4.2 in $comp.\n";
$luajit_xcflags .= " -msse4.2";
unlink $ofile;
} else {
print "WARNING: -msse4.2 not supported in $comp.\n";
}
}
if ($opts->{debug}) { if ($opts->{debug}) {
$luajit_xcflags .= " -DLUA_USE_APICHECK -DLUA_USE_ASSERT"; $luajit_xcflags .= " -DLUA_USE_APICHECK -DLUA_USE_ASSERT";
$luajit_xcflags =~ s/^ +//; $luajit_xcflags =~ s/^ +//;
@ -933,7 +980,7 @@ _EOC_
} }
for my $key (qw(dns memcached redis mysql string upload websocket for my $key (qw(dns memcached redis mysql string upload websocket
lock lrucache core upstream_healthcheck)) lock lrucache core upstream_healthcheck limit_traffic))
{ {
unless ($opts->{"no_lua_resty_$key"}) { unless ($opts->{"no_lua_resty_$key"}) {
(my $key2 = $key) =~ s/_/-/g; (my $key2 = $key) =~ s/_/-/g;
@ -952,6 +999,19 @@ _EOC_
} }
} }
# configure opm:
{
my $opm_dir = auto_complete 'opm';
my $target_dir;
if ($platform eq 'msys') {
$target_dir = "\$(DESTDIR)$prefix/";
} else {
$target_dir = "\$(DESTDIR)$prefix/bin/";
}
push @make_install_cmds, "cd $root_dir/build/$opm_dir && "
. "$root_dir/build/install bin/* $target_dir";
}
# configure resty-cli: # configure resty-cli:
{ {
@ -1081,16 +1141,17 @@ _EOC_
disable the lua-resty-upstream-healthcheck library disable the lua-resty-upstream-healthcheck library
--without-lua_resty_string disable the lua-resty-string library --without-lua_resty_string disable the lua-resty-string library
--without-lua_resty_websocket disable the lua-resty-websocket library --without-lua_resty_websocket disable the lua-resty-websocket library
--without-lua_resty_limit_traffic disable the lua-resty-limit-traffic library
--without-lua_resty_lock disable the lua-resty-lock library --without-lua_resty_lock disable the lua-resty-lock library
--without-lua_resty_lrucache disable the lua-resty-lrucache library --without-lua_resty_lrucache disable the lua-resty-lrucache library
--without-lua_resty_core disable the lua-resty-core library --without-lua_resty_core disable the lua-resty-core library
--with-lua51 enable and build the bundled standard Lua 5.1 interpreter
--without-lua51 disable the bundled standard Lua 5.1 interpreter
--with-lua51=DIR specify the external installation of Lua 5.1 by DIR
--with-luajit enable and build the bundled LuaJIT 2.1 (the default) --with-luajit enable and build the bundled LuaJIT 2.1 (the default)
--with-luajit=DIR use the external LuaJIT 2.1 installation specified by DIR --with-luajit=DIR use the external LuaJIT 2.1 installation specified by DIR
--with-luajit-xcflags=FLAGS Specify extra C compiler flags for LuaJIT 2.1 --with-luajit-xcflags=FLAGS Specify extra C compiler flags for LuaJIT 2.1
--without-luajit-lua52 Turns off the LuaJIT extensions from Lua 5.2 that may break
backward compatibility.
--with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix --with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix
--with-libpq=DIR specify the libpq (or postgresql) installation prefix --with-libpq=DIR specify the libpq (or postgresql) installation prefix
--with-pg_config=PATH specify the path of the pg_config utility --with-pg_config=PATH specify the path of the pg_config utility
@ -1098,6 +1159,7 @@ _EOC_
Options directly inherited from nginx Options directly inherited from nginx
--sbin-path=PATH set nginx binary pathname --sbin-path=PATH set nginx binary pathname
--modules-path=PATH set modules path
--conf-path=PATH set nginx.conf pathname --conf-path=PATH set nginx.conf pathname
--error-log-path=PATH set error log pathname --error-log-path=PATH set error log pathname
--pid-path=PATH set nginx.pid pathname --pid-path=PATH set nginx.pid pathname
@ -1110,6 +1172,7 @@ Options directly inherited from nginx
--group=GROUP set non-privileged group for --group=GROUP set non-privileged group for
worker processes worker processes
--build=NAME set build name
--builddir=DIR set the build directory --builddir=DIR set the build directory
--with-select_module enable select module --with-select_module enable select module
@ -1119,22 +1182,30 @@ Options directly inherited from nginx
--with-threads enable thread pool support --with-threads enable thread pool support
--with-file-aio enable file aio support --with-file-aio enable file AIO support
--with-ipv6 enable ipv6 support --with-ipv6 enable IPv6 support
--with-http_v2_module enable ngx_http_v2_module
--with-http_realip_module enable ngx_http_realip_module --with-http_realip_module enable ngx_http_realip_module
--with-http_addition_module enable ngx_http_addition_module --with-http_addition_module enable ngx_http_addition_module
--with-http_xslt_module enable ngx_http_xslt_module --with-http_xslt_module enable ngx_http_xslt_module
--with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module
--with-http_image_filter_module enable ngx_http_image_filter_module --with-http_image_filter_module enable ngx_http_image_filter_module
--with-http_image_filter_module=dynamic
enable dynamic ngx_http_image_filter_module
--with-http_geoip_module enable ngx_http_geoip_module --with-http_geoip_module enable ngx_http_geoip_module
--with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module
--with-http_sub_module enable ngx_http_sub_module --with-http_sub_module enable ngx_http_sub_module
--with-http_dav_module enable ngx_http_dav_module --with-http_dav_module enable ngx_http_dav_module
--with-http_flv_module enable ngx_http_flv_module --with-http_flv_module enable ngx_http_flv_module
--with-http_mp4_module enable ngx_http_mp4_module
--with-http_gunzip_module enable ngx_http_gunzip_module
--with-http_gzip_static_module enable ngx_http_gzip_static_module --with-http_gzip_static_module enable ngx_http_gzip_static_module
--with-http_auth_request_module enable ngx_http_auth_request_module --with-http_auth_request_module enable ngx_http_auth_request_module
--with-http_random_index_module enable ngx_http_random_index_module --with-http_random_index_module enable ngx_http_random_index_module
--with-http_secure_link_module enable ngx_http_secure_link_module --with-http_secure_link_module enable ngx_http_secure_link_module
--with-http_degradation_module enable ngx_http_degradation_module --with-http_degradation_module enable ngx_http_degradation_module
--with-http_slice_module enable ngx_http_slice_module
--with-http_stub_status_module enable ngx_http_stub_status_module --with-http_stub_status_module enable ngx_http_stub_status_module
--without-http_charset_module disable ngx_http_charset_module --without-http_charset_module disable ngx_http_charset_module
@ -1158,6 +1229,8 @@ Options directly inherited from nginx
--without-http_limit_req_module disable ngx_http_limit_req_module --without-http_limit_req_module disable ngx_http_limit_req_module
--without-http_empty_gif_module disable ngx_http_empty_gif_module --without-http_empty_gif_module disable ngx_http_empty_gif_module
--without-http_browser_module disable ngx_http_browser_module --without-http_browser_module disable ngx_http_browser_module
--without-http_upstream_hash_module
disable ngx_http_upstream_hash_module
--without-http_upstream_ip_hash_module --without-http_upstream_ip_hash_module
disable ngx_http_upstream_ip_hash_module disable ngx_http_upstream_ip_hash_module
--without-http_upstream_least_conn_module --without-http_upstream_least_conn_module
@ -1165,43 +1238,63 @@ Options directly inherited from nginx
--without-http_upstream_keepalive_module --without-http_upstream_keepalive_module
disable ngx_http_upstream_keepalive_module disable ngx_http_upstream_keepalive_module
--without-http_upstream_zone_module
disable ngx_http_upstream_zone_module
--with-http_perl_module enable ngx_http_perl_module --with-http_perl_module enable ngx_http_perl_module
--with-perl_modules_path=PATH set path to the perl modules --with-http_perl_module=dynamic enable dynamic ngx_http_perl_module
--with-perl=PATH set path to the perl binary --with-perl_modules_path=PATH set Perl modules path
--with-perl=PATH set perl binary pathname
--http-log-path=PATH set path to the http access log --http-log-path=PATH set http access log pathname
--http-client-body-temp-path=PATH set path to the http client request body --http-client-body-temp-path=PATH set path to store
temporary files http client request body temporary files
--http-proxy-temp-path=PATH set path to the http proxy temporary files --http-proxy-temp-path=PATH set path to store
--http-fastcgi-temp-path=PATH set path to the http fastcgi temporary http proxy temporary files
files --http-fastcgi-temp-path=PATH set path to store
--http-uwsgi-temp-path=PATH set path to the http uwsgi temporary files http fastcgi temporary files
--http-scgi-temp-path=PATH set path to the http scgi temporary files --http-uwsgi-temp-path=PATH set path to store
http uwsgi temporary files
--http-scgi-temp-path=PATH set path to store
http scgi temporary files
--without-http disable HTTP server --without-http disable HTTP server
--without-http-cache disable HTTP cache --without-http-cache disable HTTP cache
--with-mail enable POP3/IMAP4/SMTP proxy module --with-mail enable POP3/IMAP4/SMTP proxy module
--with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module
--with-mail_ssl_module enable ngx_mail_ssl_module --with-mail_ssl_module enable ngx_mail_ssl_module
--without-mail_pop3_module disable ngx_mail_pop3_module --without-mail_pop3_module disable ngx_mail_pop3_module
--without-mail_imap_module disable ngx_mail_imap_module --without-mail_imap_module disable ngx_mail_imap_module
--without-mail_smtp_module disable ngx_mail_smtp_module --without-mail_smtp_module disable ngx_mail_smtp_module
--with-stream enable TCP/UDP proxy module
--with-stream=dynamic enable dynamic TCP/UDP proxy module
--with-stream_ssl_module enable ngx_stream_ssl_module
--without-stream_limit_conn_module disable ngx_stream_limit_conn_module
--without-stream_access_module disable ngx_stream_access_module
--without-stream_map_module disable ngx_stream_map_module
--without-stream_return_module disable ngx_stream_return_module
--without-stream_upstream_hash_module
disable ngx_stream_upstream_hash_module
--without-stream_upstream_least_conn_module
disable ngx_stream_upstream_least_conn_module
--without-stream_upstream_zone_module
disable ngx_stream_upstream_zone_module
--with-google_perftools_module enable ngx_google_perftools_module --with-google_perftools_module enable ngx_google_perftools_module
--with-cpp_test_module enable ngx_cpp_test_module --with-cpp_test_module enable ngx_cpp_test_module
--add-module=PATH enable an external module --add-module=PATH enable external module
--add-dynamic-module=PATH enable dynamic external module
--with-cc=PATH set path to C compiler --with-cc=PATH set C compiler pathname
--with-cpp=PATH set path to C preprocessor --with-cpp=PATH set C preprocessor pathname
--with-cc-opt=OPTIONS set additional options for C compiler --with-cc-opt=OPTIONS set additional C compiler options
--with-ld-opt=OPTIONS set additional options for linker --with-ld-opt=OPTIONS set additional linker options
--with-cpu-opt=CPU build for specified CPU, the valid values: --with-cpu-opt=CPU build for the specified CPU, valid values:
pentium, pentiumpro, pentium3, pentium4, pentium, pentiumpro, pentium3, pentium4,
athlon, opteron, sparc32, sparc64, ppc64 athlon, opteron, sparc32, sparc64, ppc64
--with-make=PATH specify the default make utility to be used
--without-pcre disable PCRE library usage --without-pcre disable PCRE library usage
--with-pcre force PCRE library usage --with-pcre force PCRE library usage
--with-pcre=DIR set path to PCRE library sources --with-pcre=DIR set path to PCRE library sources
@ -1209,25 +1302,17 @@ Options directly inherited from nginx
--with-pcre-conf-opt=OPTIONS set additional configure options for PCRE --with-pcre-conf-opt=OPTIONS set additional configure options for PCRE
--with-pcre-jit build PCRE with JIT compilation support --with-pcre-jit build PCRE with JIT compilation support
--with-md5=DIR set path to md5 library sources
--with-md5-opt=OPTIONS set additional options for md5 building
--with-md5-asm use md5 assembler sources
--with-sha1=DIR set path to sha1 library sources
--with-sha1-opt=OPTIONS set additional options for sha1 building
--with-sha1-asm use sha1 assembler sources
--with-zlib=DIR set path to zlib library sources --with-zlib=DIR set path to zlib library sources
--with-zlib-opt=OPTIONS set additional options for zlib building --with-zlib-opt=OPTIONS set additional build options for zlib
--with-zlib-asm=CPU use zlib assembler sources optimized --with-zlib-asm=CPU use zlib assembler sources optimized
for specified CPU, the valid values: for the specified CPU, valid values:
pentium, pentiumpro pentium, pentiumpro
--with-libatomic force libatomic_ops library usage --with-libatomic force libatomic_ops library usage
--with-libatomic=DIR set path to libatomic_ops library sources --with-libatomic=DIR set path to libatomic_ops library sources
--with-openssl=DIR set path to OpenSSL library sources --with-openssl=DIR set path to OpenSSL library sources
--with-openssl-opt=OPTIONS set additional options for OpenSSL building --with-openssl-opt=OPTIONS set additional build options for OpenSSL
--dry-run dry running the configure, for testing only --dry-run dry running the configure, for testing only
--platform=PLATFORM forcibly specify a platform name, for testing only --platform=PLATFORM forcibly specify a platform name, for testing only

View File

@ -7,6 +7,7 @@ use Getopt::Std qw(getopts);
use Cwd qw/cwd/; use Cwd qw/cwd/;
sub sh ($); sub sh ($);
sub cleanup ();
sub write_config_file ($); sub write_config_file ($);
my %opts; my %opts;
@ -32,14 +33,8 @@ if ($^O eq 'freebsd' || $^O eq 'solaris') {
my $cfg_opts = ""; my $cfg_opts = "";
if ($opts{l}) { $lua = 'LuaJIT';
$lua = 'Lua'; #$cfg_opts .= " --with-luajit";
$cfg_opts .= " --with-lua51";
} else {
$lua = 'LuaJIT';
#$cfg_opts .= " --with-luajit";
}
if ($^O eq 'solaris') { if ($^O eq 'solaris') {
$cfg_opts .= " --with-cc=gcc"; $cfg_opts .= " --with-cc=gcc";
@ -67,9 +62,9 @@ sub write_config_file ($) {
write_config_file "/tmp/nginx.conf"; write_config_file "/tmp/nginx.conf";
warn "=== Without FFI ===\n"; warn "\n=== Without FFI ===\n";
$prefix = "/usr/local/openresty-noffi"; $prefix = "/usr/local/openresty-noffi";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --with-cc-opt='-DNGX_LUA_NO_FFI_API' --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --with-cc-opt='-DNGX_LUA_NO_FFI_API' --prefix=$prefix -j$jobs > /dev/null";
} }
@ -85,9 +80,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'}; sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
sh "sudo $prefix/nginx/sbin/nginx -sstop"; sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "=== --with-stream ===\n"; warn "\n=== --with-stream ===\n";
$prefix = "/usr/local/openresty-stream"; $prefix = "/usr/local/openresty-stream";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --with-stream --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --with-stream --prefix=$prefix -j$jobs > /dev/null";
} }
@ -104,9 +99,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'}; sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
sh "sudo $prefix/nginx/sbin/nginx -sstop"; sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "=== --with-stream + dtrace static probes ===\n"; warn "\n=== --with-stream + dtrace static probes ===\n";
$prefix = "/usr/local/openresty-stream-usdt"; $prefix = "/usr/local/openresty-stream-usdt";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --with-dtrace-probes --with-stream --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --with-dtrace-probes --with-stream --prefix=$prefix -j$jobs > /dev/null";
} }
@ -124,9 +119,9 @@ sh "curl -si localhost/cjson|grep 'json.safe: '";
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'}; sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
sh "sudo $prefix/nginx/sbin/nginx -sstop"; sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "=== Without Gzip/SSL/PCRE ===\n"; warn "\n=== Without Gzip/SSL/PCRE ===\n";
$prefix = "/usr/local/openresty-nogzip"; $prefix = "/usr/local/openresty-nogzip";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --without-http_rewrite_module --without-http_ssl_module --without-pcre --without-http_gzip_module --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --without-http_rewrite_module --without-http_ssl_module --without-pcre --without-http_gzip_module --prefix=$prefix -j$jobs > /dev/null";
} }
@ -149,7 +144,7 @@ $cfg_opts .= " --with-http_iconv_module";
warn "\n=== --with-threads ===\n"; warn "\n=== --with-threads ===\n";
$prefix = "/usr/local/openresty-threads"; $prefix = "/usr/local/openresty-threads";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --with-threads --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --with-threads --prefix=$prefix -j$jobs > /dev/null";
} }
@ -168,7 +163,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "\n=== No Pool Build ===\n"; warn "\n=== No Pool Build ===\n";
$prefix = "/usr/local/openresty-nopool"; $prefix = "/usr/local/openresty-nopool";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure --with-no-pool-patch $cfg_opts --prefix=$prefix -j$jobs > /dev/null"; sh "./configure --with-no-pool-patch $cfg_opts --prefix=$prefix -j$jobs > /dev/null";
} }
@ -188,7 +183,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "\n=== Normal Build ===\n"; warn "\n=== Normal Build ===\n";
$prefix = "/usr/local/openresty"; $prefix = "/usr/local/openresty";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts -j$jobs > /dev/null"; sh "./configure $cfg_opts -j$jobs > /dev/null";
} }
@ -202,11 +197,13 @@ sh "curl -si localhost/lua|grep $lua";
sh "curl -si localhost/lua|grep $ver"; sh "curl -si localhost/lua|grep $ver";
sh "curl -si localhost/cjson|grep 'json.safe: '"; sh "curl -si localhost/cjson|grep 'json.safe: '";
sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'}; sh qq{$prefix/bin/resty -e 'ngx.say("Hello World!")'|grep 'Hello World'};
sh qq{$prefix/bin/restydoc -s listen | grep 'configures the port to accept HTTP/2'};
sh qq{$prefix/bin/restydoc opm | grep -E '^Status\$'};
sh "sudo $prefix/nginx/sbin/nginx -sstop"; sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "\n=== Debug Build ===\n"; warn "\n=== Debug Build ===\n";
$prefix = "/usr/local/openresty-debug"; $prefix = "/usr/local/openresty-debug";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
my $more_cfg_opts = ''; my $more_cfg_opts = '';
if ($lua eq 'LuaJIT') { if ($lua eq 'LuaJIT') {
@ -229,7 +226,7 @@ sh "sudo $prefix/nginx/sbin/nginx -sstop";
warn "\n=== DTrace Build ===\n"; warn "\n=== DTrace Build ===\n";
$prefix = "/usr/local/openresty-dtrace"; $prefix = "/usr/local/openresty-dtrace";
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"; cleanup();
unless ($opts{f}) { unless ($opts{f}) {
sh "./configure $cfg_opts --with-dtrace-probes --prefix=$prefix -j$jobs > /dev/null"; sh "./configure $cfg_opts --with-dtrace-probes --prefix=$prefix -j$jobs > /dev/null";
} }
@ -258,6 +255,11 @@ sub sh ($) {
system($cmd) == 0 or die "Command \"$cmd\" failed"; system($cmd) == 0 or die "Command \"$cmd\" failed";
} }
sub cleanup () {
sh "sudo rm -rf $prefix/lualib $prefix/luajit $prefix/bin $prefix/lua $prefix/nginx/sbin $prefix/nginx/html"
. " $prefix/site $prefix/pod $prefix/resty.index";
}
__DATA__ __DATA__
user nobody; user nobody;

View File

@ -333,6 +333,10 @@ echo "$info_txt applying the upstream_timeout_fields patch for nginx"
patch -p1 < $root/patches/nginx-$main_ver-upstream_timeout_fields.patch || exit 1 patch -p1 < $root/patches/nginx-$main_ver-upstream_timeout_fields.patch || exit 1
echo echo
echo "$info_txt applying the safe_resolver_ipv6_option patch for nginx"
patch -p1 < $root/patches/nginx-$main_ver-safe_resolver_ipv6_option.patch || exit 1
echo
cp $root/html/index.html docs/html/ || exit 1 cp $root/html/index.html docs/html/ || exit 1
cp $root/html/50x.html docs/html/ || exit 1 cp $root/html/50x.html docs/html/ || exit 1
@ -389,21 +393,21 @@ mv openresty-rds-csv-nginx-module-* rds-csv-nginx-module-$ver || exit 1
################################# #################################
ver=0.31 ver=0.32
$root/util/get-tarball "https://github.com/openresty/headers-more-nginx-module/tarball/v$ver" -O headers-more-nginx-module-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/headers-more-nginx-module/tarball/v$ver" -O headers-more-nginx-module-$ver.tar.gz || exit 1
tar -xzf headers-more-nginx-module-$ver.tar.gz || exit 1 tar -xzf headers-more-nginx-module-$ver.tar.gz || exit 1
mv openresty-headers-more-nginx-module-* headers-more-nginx-module-$ver || exit 1 mv openresty-headers-more-nginx-module-* headers-more-nginx-module-$ver || exit 1
################################# #################################
ver=0.1.9 ver=0.1.10
$root/util/get-tarball "https://github.com/openresty/drizzle-nginx-module/tarball/v$ver" -O drizzle-nginx-module-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/drizzle-nginx-module/tarball/v$ver" -O drizzle-nginx-module-$ver.tar.gz || exit 1
tar -xzf drizzle-nginx-module-$ver.tar.gz || exit 1 tar -xzf drizzle-nginx-module-$ver.tar.gz || exit 1
mv openresty-drizzle-nginx-module-* drizzle-nginx-module-$ver || exit 1 mv openresty-drizzle-nginx-module-* drizzle-nginx-module-$ver || exit 1
################################# #################################
ver=0.10.6 ver=0.10.8
$root/util/get-tarball "https://github.com/openresty/lua-nginx-module/tarball/v$ver" -O lua-nginx-module-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-nginx-module/tarball/v$ver" -O lua-nginx-module-$ver.tar.gz || exit 1
tar -xzf lua-nginx-module-$ver.tar.gz || exit 1 tar -xzf lua-nginx-module-$ver.tar.gz || exit 1
mv openresty-lua-nginx-module-* ngx_lua-$ver || exit 1 mv openresty-lua-nginx-module-* ngx_lua-$ver || exit 1
@ -424,7 +428,7 @@ mv openresty-array-var-nginx-module-* array-var-nginx-module-$ver || exit 1
################################# #################################
ver=0.17 ver=0.18
$root/util/get-tarball "https://github.com/openresty/memc-nginx-module/tarball/v$ver" -O memc-nginx-module-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/memc-nginx-module/tarball/v$ver" -O memc-nginx-module-$ver.tar.gz || exit 1
tar -xzf memc-nginx-module-$ver.tar.gz || exit 1 tar -xzf memc-nginx-module-$ver.tar.gz || exit 1
mv openresty-memc-nginx-module-* memc-nginx-module-$ver || exit 1 mv openresty-memc-nginx-module-* memc-nginx-module-$ver || exit 1
@ -498,14 +502,14 @@ mv FRiCKLE-ngx_coolkit-* ngx_coolkit-$ver || exit 1
################################# #################################
ver=0.13 ver=0.14
$root/util/get-tarball "https://github.com/openresty/redis2-nginx-module/tarball/v$ver" -O redis2-nginx-module-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/redis2-nginx-module/tarball/v$ver" -O redis2-nginx-module-$ver.tar.gz || exit 1
tar -xzf redis2-nginx-module-$ver.tar.gz || exit 1 tar -xzf redis2-nginx-module-$ver.tar.gz || exit 1
mv openresty-redis2-nginx-module-* redis2-nginx-module-$ver || exit 1 mv openresty-redis2-nginx-module-* redis2-nginx-module-$ver || exit 1
################################# #################################
ver=0.13 ver=0.17
$root/util/get-tarball "https://github.com/openresty/resty-cli/tarball/v$ver" -O resty-cli-$ver.tar.gz || exit 1 $root/util/get-tarball "https://github.com/openresty/resty-cli/tarball/v$ver" -O resty-cli-$ver.tar.gz || exit 1
tar -xzf resty-cli-$ver.tar.gz || exit 1 tar -xzf resty-cli-$ver.tar.gz || exit 1
mv openresty-resty-cli-* resty-cli-$ver || exit 1 mv openresty-resty-cli-* resty-cli-$ver || exit 1
@ -513,9 +517,16 @@ resty_cli=resty-cli-$ver
################################# #################################
ver=5.1.5 ver=0.0.3
$root/util/get-tarball "http://www.lua.org/ftp/lua-$ver.tar.gz" -O "lua-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/opm/tarball/v$ver" -O opm-$ver.tar.gz || exit 1
tar -xzf lua-$ver.tar.gz || exit 1 tar -xzf opm-$ver.tar.gz || exit 1
mv openresty-opm-* opm-$ver || exit 1
#################################
#ver=5.1.5
#$root/util/get-tarball "http://www.lua.org/ftp/lua-$ver.tar.gz" -O "lua-$ver.tar.gz" || exit 1
#tar -xzf lua-$ver.tar.gz || exit 1
#$root/util/get-tarball "http://agentzh.org/misc/nginx/patch-lua-$ver-4" -O "patch-lua-$ver-4" || exit 1 #$root/util/get-tarball "http://agentzh.org/misc/nginx/patch-lua-$ver-4" -O "patch-lua-$ver-4" || exit 1
@ -525,21 +536,21 @@ tar -xzf lua-$ver.tar.gz || exit 1
#rm "patch-lua-$ver-4" || exit 1 #rm "patch-lua-$ver-4" || exit 1
echo "$info_txt applying the makefile_install_fix patch for lua $ver" #echo "$info_txt applying the makefile_install_fix patch for lua $ver"
patch -p0 < $root/patches/lua-$ver-makefile_install_fix.patch || exit 1 #patch -p0 < $root/patches/lua-$ver-makefile_install_fix.patch || exit 1
echo #echo
echo "$info_txt applying the disable_lua50_compat patch for lua $ver" #echo "$info_txt applying the disable_lua50_compat patch for lua $ver"
patch -p0 < $root/patches/lua-$ver-disable_lua50_compat.patch || exit 1 #patch -p0 < $root/patches/lua-$ver-disable_lua50_compat.patch || exit 1
echo #echo
echo "$info_txt applying the enable_debug_info patch for lua $ver" #echo "$info_txt applying the enable_debug_info patch for lua $ver"
patch -p0 < $root/patches/lua-$ver-enable_debug_info.patch || exit 1 #patch -p0 < $root/patches/lua-$ver-enable_debug_info.patch || exit 1
echo #echo
################################# #################################
ver=2.1-20160517 ver=2.1-20170405
$root/util/get-tarball "https://github.com/openresty/luajit2/archive/v$ver.tar.gz" -O "LuaJIT-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/luajit2/archive/v$ver.tar.gz" -O "LuaJIT-$ver.tar.gz" || exit 1
tar -xzf LuaJIT-$ver.tar.gz || exit 1 tar -xzf LuaJIT-$ver.tar.gz || exit 1
mv luajit2-* LuaJIT-$ver || exit 1 mv luajit2-* LuaJIT-$ver || exit 1
@ -560,7 +571,7 @@ cd .. || exit 1
################################# #################################
ver=2.1.0.4 ver=2.1.0.5
$root/util/get-tarball "https://github.com/openresty/lua-cjson/archive/$ver.tar.gz" -O "lua-cjson-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-cjson/archive/$ver.tar.gz" -O "lua-cjson-$ver.tar.gz" || exit 1
tar -xzf lua-cjson-$ver.tar.gz || exit 1 tar -xzf lua-cjson-$ver.tar.gz || exit 1
#cd lua-cjson-$ver || exit 1 #cd lua-cjson-$ver || exit 1
@ -571,10 +582,10 @@ tar -xzf lua-cjson-$ver.tar.gz || exit 1
################################# #################################
ver=0.12 ver=0.13
$root/util/get-tarball "https://github.com/openresty/lua-redis-parser/tarball/v$ver" -O "lua-redis-parser-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-redis-parser/archive/v$ver.tar.gz" -O "lua-redis-parser-$ver.tar.gz" || exit 1
tar -xzf lua-redis-parser-$ver.tar.gz || exit 1 tar -xzf lua-redis-parser-$ver.tar.gz || exit 1
mv openresty-lua-redis-parser-* lua-redis-parser-$ver || exit 1 #mv lua-redis-parser-* lua-redis-parser-$ver || exit 1
#cd lua-redis-parser-$ver || exit 1 #cd lua-redis-parser-$ver || exit 1
#patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1 #patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1
#sed 's/\$(DESTDIR)\//$(DESTDIR)/g' Makefile > mk || exit 1 #sed 's/\$(DESTDIR)\//$(DESTDIR)/g' Makefile > mk || exit 1
@ -595,7 +606,7 @@ cd ..
################################# #################################
ver=0.17 ver=0.18
$root/util/get-tarball "https://github.com/openresty/lua-resty-dns/tarball/v$ver" -O "lua-resty-dns-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-dns/tarball/v$ver" -O "lua-resty-dns-$ver.tar.gz" || exit 1
tar -xzf lua-resty-dns-$ver.tar.gz || exit 1 tar -xzf lua-resty-dns-$ver.tar.gz || exit 1
mv openresty-lua-resty-dns-* lua-resty-dns-$ver || exit 1 mv openresty-lua-resty-dns-* lua-resty-dns-$ver || exit 1
@ -619,7 +630,7 @@ cd ..
################################# #################################
ver=0.25 ver=0.26
$root/util/get-tarball "https://github.com/openresty/lua-resty-redis/tarball/v$ver" -O "lua-resty-redis-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-redis/tarball/v$ver" -O "lua-resty-redis-$ver.tar.gz" || exit 1
tar -xzf lua-resty-redis-$ver.tar.gz || exit 1 tar -xzf lua-resty-redis-$ver.tar.gz || exit 1
mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1 mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1
@ -631,7 +642,7 @@ mv openresty-lua-resty-redis-* lua-resty-redis-$ver || exit 1
################################# #################################
ver=0.16 ver=0.19
$root/util/get-tarball "https://github.com/openresty/lua-resty-mysql/tarball/v$ver" -O "lua-resty-mysql-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-mysql/tarball/v$ver" -O "lua-resty-mysql-$ver.tar.gz" || exit 1
tar -xzf lua-resty-mysql-$ver.tar.gz || exit 1 tar -xzf lua-resty-mysql-$ver.tar.gz || exit 1
mv openresty-lua-resty-mysql-* lua-resty-mysql-$ver || exit 1 mv openresty-lua-resty-mysql-* lua-resty-mysql-$ver || exit 1
@ -643,7 +654,19 @@ cd ..
################################# #################################
ver=0.09 ver=0.03
$root/util/get-tarball "https://github.com/openresty/lua-resty-limit-traffic/tarball/v$ver" -O "lua-resty-limit-traffic-$ver.tar.gz" || exit 1
tar -xzf lua-resty-limit-traffic-$ver.tar.gz || exit 1
mv openresty-lua-resty-limit-traffic-* lua-resty-limit-traffic-$ver || exit 1
cd lua-resty-limit-traffic-$ver || exit 1
#patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1
sed 's/\$(DESTDIR)\//$(DESTDIR)/g' Makefile > mk || exit 1
mv mk Makefile || exit 1
cd ..
#################################
ver=0.10
$root/util/get-tarball "https://github.com/openresty/lua-resty-upload/tarball/v$ver" -O "lua-resty-upload-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-upload/tarball/v$ver" -O "lua-resty-upload-$ver.tar.gz" || exit 1
tar -xzf lua-resty-upload-$ver.tar.gz || exit 1 tar -xzf lua-resty-upload-$ver.tar.gz || exit 1
mv openresty-lua-resty-upload-* lua-resty-upload-$ver || exit 1 mv openresty-lua-resty-upload-* lua-resty-upload-$ver || exit 1
@ -667,7 +690,7 @@ cd ..
################################# #################################
ver=0.05 ver=0.06
$root/util/get-tarball "https://github.com/openresty/lua-resty-websocket/tarball/v$ver" -O "lua-resty-websocket-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-websocket/tarball/v$ver" -O "lua-resty-websocket-$ver.tar.gz" || exit 1
tar -xzf lua-resty-websocket-$ver.tar.gz || exit 1 tar -xzf lua-resty-websocket-$ver.tar.gz || exit 1
mv openresty-lua-resty-websocket-* lua-resty-websocket-$ver || exit 1 mv openresty-lua-resty-websocket-* lua-resty-websocket-$ver || exit 1
@ -679,7 +702,7 @@ cd ..
################################# #################################
ver=0.04 ver=0.06
$root/util/get-tarball "https://github.com/openresty/lua-resty-lock/tarball/v$ver" -O "lua-resty-lock-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-lock/tarball/v$ver" -O "lua-resty-lock-$ver.tar.gz" || exit 1
tar -xzf lua-resty-lock-$ver.tar.gz || exit 1 tar -xzf lua-resty-lock-$ver.tar.gz || exit 1
mv openresty-lua-resty-lock-* lua-resty-lock-$ver || exit 1 mv openresty-lua-resty-lock-* lua-resty-lock-$ver || exit 1
@ -691,7 +714,7 @@ cd ..
################################# #################################
ver=0.04 ver=0.06
$root/util/get-tarball "https://github.com/openresty/lua-resty-lrucache/tarball/v$ver" -O "lua-resty-lrucache-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-lrucache/tarball/v$ver" -O "lua-resty-lrucache-$ver.tar.gz" || exit 1
tar -xzf lua-resty-lrucache-$ver.tar.gz || exit 1 tar -xzf lua-resty-lrucache-$ver.tar.gz || exit 1
mv openresty-lua-resty-lrucache-* lua-resty-lrucache-$ver || exit 1 mv openresty-lua-resty-lrucache-* lua-resty-lrucache-$ver || exit 1
@ -703,7 +726,7 @@ cd ..
################################# #################################
ver=0.1.8 ver=0.1.11
$root/util/get-tarball "https://github.com/openresty/lua-resty-core/tarball/v$ver" -O "lua-resty-core-$ver.tar.gz" || exit 1 $root/util/get-tarball "https://github.com/openresty/lua-resty-core/tarball/v$ver" -O "lua-resty-core-$ver.tar.gz" || exit 1
tar -xzf lua-resty-core-$ver.tar.gz || exit 1 tar -xzf lua-resty-core-$ver.tar.gz || exit 1
mv openresty-lua-resty-core-* lua-resty-core-$ver || exit 1 mv openresty-lua-resty-core-* lua-resty-core-$ver || exit 1
@ -739,7 +762,6 @@ cp $root/util/build-win32.sh util/ || exit 1
cp $root/COPYRIGHT ./ || exit 1 cp $root/COPYRIGHT ./ || exit 1
perl bundle/$resty_cli/bin/md2pod.pl $root/doc/README-win32.md | pod2text > README-win32.txt || exit 1 perl bundle/$resty_cli/bin/md2pod.pl $root/doc/README-win32.md | pod2text > README-win32.txt || exit 1
unix2dos README-win32.txt || exit 1 unix2dos README-win32.txt || exit 1
find bundle -name '*~' -delete
mkdir patches/ || exit 1 mkdir patches/ || exit 1
cp $root/patches/openssl-1.0.2h-sess_set_get_cb_yield.patch patches/ || exit 1 cp $root/patches/openssl-1.0.2h-sess_set_get_cb_yield.patch patches/ || exit 1
@ -763,7 +785,7 @@ else
fi fi
cd nginx.org/ || exit 1 cd nginx.org/ || exit 1
$nginx_xml2pod xml/en/docs || exit 1 $nginx_xml2pod xml/en/docs || exit 1
cd $curdir cd $curdir || exit 1
echo "restydoc-index $root/work/nginx.org" echo "restydoc-index $root/work/nginx.org"
$restydoc_index --outdir bundle $root/work/nginx.org || exit 1 $restydoc_index --outdir bundle $root/work/nginx.org || exit 1
@ -783,14 +805,15 @@ for indir in bundle/*/; do
if [ "$indir" == "bundle/nginx-$main_ver/" ]; then if [ "$indir" == "bundle/nginx-$main_ver/" ]; then
continue continue
fi fi
echo "restydoc-index $indir" echo "restydoc-index --outdir bundle $indir"
$restydoc_index --outdir bundle $indir || exit 1 $restydoc_index --outdir $curdir/bundle $indir || exit 1
done done
cd $curdir || exit 1 cd $curdir || exit 1
find bundle -name '*.md' -delete find bundle -name '*.md' -delete
find bundle -name '*.markdown' -delete find bundle -name '*.markdown' -delete
find bundle -name '*.wiki' -delete find bundle -name '*.wiki' -delete
find bundle -name '*~' -delete
cd $root || exit 1 cd $root || exit 1

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
main_ver=1.11.2 main_ver=1.11.2
minor_ver=1 minor_ver=3
version=$main_ver.$minor_ver version=$main_ver.$minor_ver
echo $version echo $version