diff --git a/README b/README index 8743488..af5bef2 100644 --- a/README +++ b/README @@ -9,90 +9,11 @@ that all these modules are played well together. The bundled software components are copyrighted by the respective copyright holders. -A quick note to Debian and Ubuntu users: - You're recommended to install the following packages using apt-get before - installing this bundle: +The homepage for this project is http://openresty.org. - apt-get install libreadline-dev libpcre3-dev libssl-dev perl - - If you want to enable LuaJIT, ensure that your system's "ldconfig" - utility is in your PATH environment. You can check out - the path of your "ldconfig" by using the "whereis" command: - - whereis ldconfig - - On Debian systems, it's usually /sbin, and you just need to add - it to your PATH this way: - - PATH=/sbin:$PATH - export PATH - -A quick note to Fedora/RedHat users: - You're recommended to install the following packages using yum before - installing this bundle: - - yum install readline-devel pcre-devel openssl-devel - -A quick note to Mac OS X (Darwin) users: - You're recommended to install prerequisites PCRE using some package - management tool, like Homebrew: - - brew install pcre - - Alternatively you can install PCRE from source all by yourself :) - -To build ngx_openresty, you need a working perl (perl 5.6.0 or better) -in your PATH environment, and then follow the following steps: - -1. download the latest ngx_openresty tarball can be downloaded from - - http://agentzh.org/misc/nginx/ngx_openresty-0.8.54.6.tar.gz - - we will eventually migrate to the openresty.org domain. - -2. and then enter the ngx_openresty-0.8.54.6/ directory, - and type the following command to configure: - - ./configure - - by default, --prefix=/usr/local/openresty is assumed. You can - specify various options, as in - - ./configure --prefix=/opt/openresty \ - --with-luajit \ - --without-http_drizzle_module \ - --with-http_iconv_module \ - --with-http_postgres_module - - try ./configure --help to see more options. - - For Solaris, it's common to install libraries like OpenSSL to /lib, - so when it complaints about OpenSSL and you have indeed - already installed it, specify the --with-ld-opt='-L/lib' option. - - Errors in running the ./configure script can be found in this file: - - build/nginx-0.8.54/objs/autoconf.err - -3. build everything locally - - make - - Note that, "make -jN" may not work at least for FreeBSD's "bsdmake"; use - gmake (i.e., GNU make) instead or avoid using the jobserver feature with - your make. - -4. install ngx_openresty into the target directory that you specified by - the --prefix option in Step 2. - - make install - -Then you can start your server this way: - - /usr/local/openresty/nginx/sbin/nginx -p /path/to/your/server/root \ - -c /path/to/your/nginx.conf - -assuming you're using the default "prefix", i.e., /usr/local/openresty, in Step 2. +For the users: + Visit http://openresty.org/#Download to download the latest bundle tarball, and + follow the installation instructions in the page http://openresty.org/#Installation. For bundle maintainers: @@ -106,31 +27,6 @@ For bundle maintainers: at the top of the bundle source tree. -The following packages are bundled in the 0.8.54.6 release: - - LuaJIT-2.0.0-beta7 - array-var-nginx-module-0.02 - auth-request-nginx-module-0.2 - drizzle-nginx-module-0.0.15rc10 - echo-nginx-module-0.36rc3 - encrypted-session-nginx-module-0.01 - form-input-nginx-module-0.07rc4 - headers-more-nginx-module-0.15rc1 - iconv-nginx-module-0.10rc3 - libdrizzle-0.8 - lua-5.1.4 - memc-nginx-module-0.12rc1 - nginx-0.8.54 - ngx_devel_kit-0.2.17 - ngx_lua-0.1.6rc12 - ngx_postgres-0.8 - rds-json-nginx-module-0.11rc2 - redis2-nginx-module-0.07rc2 - set-misc-nginx-module-0.21 - srcache-nginx-module-0.12rc4 - upstream-keepalive-nginx-module-0.3 - xss-nginx-module-0.03rc2 - REPORT BUGS You're very welcome to report issues on GitHub: diff --git a/patches/LuaJIT-2.0.0-beta7-symlink_lib.patch b/patches/LuaJIT-2.0.0-beta7-symlink_lib.patch deleted file mode 100644 index 59701f2..0000000 --- a/patches/LuaJIT-2.0.0-beta7-symlink_lib.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- LuaJIT-2.0.0-beta7/Makefile 2011-05-05 22:30:00.000000000 +0800 -+++ LuaJIT-2.0.0-beta7-patched/Makefile 2011-05-26 15:32:02.888893148 +0800 -@@ -113,13 +113,8 @@ - $(RM) $(FILE_PC).tmp - cd src && $(INSTALL_F) $(FILES_INC) $(INSTALL_INC) - cd lib && $(INSTALL_F) $(FILES_JITLIB) $(INSTALL_JITLIB) -+ $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM) - @echo "==== Successfully installed LuaJIT $(VERSION) to $(PREFIX) ====" -- @echo "" -- @echo "Note: the beta releases deliberately do NOT install a symlink for luajit" -- @echo "You can do this now by running this command (with sudo):" -- @echo "" -- @echo " $(SYMLINK) $(INSTALL_TNAME) $(INSTALL_TSYM)" -- @echo "" - - ############################################################################## - diff --git a/patches/nginx-0.8.54-no_Werror.patch b/patches/nginx-0.8.54-no_Werror.patch new file mode 100644 index 0000000..977024c --- /dev/null +++ b/patches/nginx-0.8.54-no_Werror.patch @@ -0,0 +1,24 @@ +diff -ur nginx-0.8.54/auto/cc/gcc nginx-0.8.54-patched/auto/cc/gcc +--- nginx-0.8.54/auto/cc/gcc 2011-06-27 19:53:00.205737804 +0800 ++++ nginx-0.8.54-patched/auto/cc/gcc 2011-06-27 19:53:13.837741087 +0800 +@@ -169,7 +169,7 @@ + + + # stop on warning +-CFLAGS="$CFLAGS -Werror" ++#CFLAGS="$CFLAGS -Werror" + + # debug + CFLAGS="$CFLAGS -g" +diff -ur nginx-0.8.54/auto/cc/icc nginx-0.8.54-patched/auto/cc/icc +--- nginx-0.8.54/auto/cc/icc 2011-06-27 19:52:56.370157068 +0800 ++++ nginx-0.8.54-patched/auto/cc/icc 2011-06-27 19:53:19.508916811 +0800 +@@ -139,7 +139,7 @@ + esac + + # stop on warning +-CFLAGS="$CFLAGS -Werror" ++#CFLAGS="$CFLAGS -Werror" + + # debug + CFLAGS="$CFLAGS -g" diff --git a/patches/nginx-0.8.54-request_body_in_single_buf.patch b/patches/nginx-0.8.54-request_body_in_single_buf.patch new file mode 100644 index 0000000..7d50d73 --- /dev/null +++ b/patches/nginx-0.8.54-request_body_in_single_buf.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309799136 -14400 +# Node ID 99e276bba8596bc4df9e638482ee413f4c6bf700 +# Parent e7b2f945d55ae44a2295facf9e3336dc4633e5b5 +Core: fix body with request_body_in_single_buf. + +If there were preread data and request body was big enough first part +of request body was duplicated. + +See report here: +http://nginx.org/pipermail/nginx/2011-July/027756.html + +diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c +--- a/src/http/ngx_http_request_body.c ++++ b/src/http/ngx_http_request_body.c +@@ -372,7 +372,9 @@ ngx_http_do_read_client_request_body(ngx + } + } + +- if (r->request_body_in_file_only && rb->bufs->next) { ++ if (rb->bufs->next ++ && (r->request_body_in_file_only || r->request_body_in_single_buf)) ++ { + rb->bufs = rb->bufs->next; + } + diff --git a/patches/nginx-0.8.54-request_body_preread_fix.patch b/patches/nginx-0.8.54-request_body_preread_fix.patch new file mode 100644 index 0000000..f98b323 --- /dev/null +++ b/patches/nginx-0.8.54-request_body_preread_fix.patch @@ -0,0 +1,17 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309776931 -14400 +# Node ID e7b2f945d55ae44a2295facf9e3336dc4633e5b5 +# Parent 610e909bb9e29766188aa86fae3abe0bd3432940 +Core: fix body if it's preread and there are extra data. + +--- nginx-0.8.54/src/http/ngx_http_request_body.c 2011-07-05 12:11:21.619264633 +0800 ++++ nginx-0.8.54-patched/src/http/ngx_http_request_body.c 2011-07-05 12:14:30.694321554 +0800 +@@ -141,6 +141,7 @@ + + /* the whole request body was pre-read */ + ++ b->last = b->pos + r->headers_in.content_length_n; + r->header_in->pos += (size_t) r->headers_in.content_length_n; + r->request_length += r->headers_in.content_length_n; + diff --git a/patches/nginx-0.8.54-subrequest_loop.patch b/patches/nginx-0.8.54-subrequest_loop.patch new file mode 100644 index 0000000..0b9ca69 --- /dev/null +++ b/patches/nginx-0.8.54-subrequest_loop.patch @@ -0,0 +1,40 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309187571 -14400 +# Node ID 283a416b2235d5383c12a975edc8866f007fb628 +# Parent f5fc40783ddcbf4db33859ee2a9bce54cf32c350 +Core: protect from subrequest loops. + +Without protection subrequest loop results in r->count overflow and +SIGSEGV. Protection was broken in 0.7.25. + +Note that this also limits number of parallel subrequests. This +wasn't exactly the case before 0.7.25 as local subrequests were +completed directly. + +See here for details: + +http://nginx.org/pipermail/nginx-ru/2010-February/032184.html + +diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c +--- a/src/http/ngx_http_core_module.c ++++ b/src/http/ngx_http_core_module.c +@@ -2287,7 +2287,6 @@ ngx_http_subrequest(ngx_http_request_t * + sr->start_sec = tp->sec; + sr->start_msec = tp->msec; + +- r->main->subrequests++; + r->main->count++; + + *psr = sr; +diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c +--- a/src/http/ngx_http_request.c ++++ b/src/http/ngx_http_request.c +@@ -1981,6 +1981,7 @@ ngx_http_finalize_request(ngx_http_reque + if (r == c->data) { + + r->main->count--; ++ r->main->subrequests++; + + if (!r->logged) { + diff --git a/patches/nginx-1.0.4-gcc46_fixes.patch b/patches/nginx-1.0.4-gcc46_fixes.patch new file mode 100644 index 0000000..2c88f2b --- /dev/null +++ b/patches/nginx-1.0.4-gcc46_fixes.patch @@ -0,0 +1,37 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309424678 -14400 +# Node ID 60a67d95638f9187418a3a26c1fcb9f06be7a4fc +# Parent 1c167244d2fdb064c159012c50a7ae3fd1ed254a +Fix another gcc46 unused-but-set warning. + +diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c +--- a/src/event/ngx_event_openssl.c ++++ b/src/event/ngx_event_openssl.c +@@ -1687,20 +1687,24 @@ ngx_ssl_get_cached_session(ngx_ssl_conn_ + ngx_int_t rc; + ngx_shm_zone_t *shm_zone; + ngx_slab_pool_t *shpool; ++#if (NGX_DEBUG) + ngx_connection_t *c; ++#endif + ngx_rbtree_node_t *node, *sentinel; + ngx_ssl_session_t *sess; + ngx_ssl_sess_id_t *sess_id; + ngx_ssl_session_cache_t *cache; + u_char buf[NGX_SSL_MAX_SESSION_SIZE]; + +- c = ngx_ssl_get_connection(ssl_conn); +- + hash = ngx_crc32_short(id, (size_t) len); + *copy = 0; + ++#if (NGX_DEBUG) ++ c = ngx_ssl_get_connection(ssl_conn); ++ + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, + "ssl get session: %08XD:%d", hash, len); ++#endif + + shm_zone = SSL_CTX_get_ex_data(SSL_get_SSL_CTX(ssl_conn), + ngx_ssl_session_cache_index); diff --git a/patches/nginx-1.0.4-no_Werror.patch b/patches/nginx-1.0.4-no_Werror.patch new file mode 100644 index 0000000..977024c --- /dev/null +++ b/patches/nginx-1.0.4-no_Werror.patch @@ -0,0 +1,24 @@ +diff -ur nginx-0.8.54/auto/cc/gcc nginx-0.8.54-patched/auto/cc/gcc +--- nginx-0.8.54/auto/cc/gcc 2011-06-27 19:53:00.205737804 +0800 ++++ nginx-0.8.54-patched/auto/cc/gcc 2011-06-27 19:53:13.837741087 +0800 +@@ -169,7 +169,7 @@ + + + # stop on warning +-CFLAGS="$CFLAGS -Werror" ++#CFLAGS="$CFLAGS -Werror" + + # debug + CFLAGS="$CFLAGS -g" +diff -ur nginx-0.8.54/auto/cc/icc nginx-0.8.54-patched/auto/cc/icc +--- nginx-0.8.54/auto/cc/icc 2011-06-27 19:52:56.370157068 +0800 ++++ nginx-0.8.54-patched/auto/cc/icc 2011-06-27 19:53:19.508916811 +0800 +@@ -139,7 +139,7 @@ + esac + + # stop on warning +-CFLAGS="$CFLAGS -Werror" ++#CFLAGS="$CFLAGS -Werror" + + # debug + CFLAGS="$CFLAGS -g" diff --git a/patches/nginx-1.0.4-no_error_pages.patch b/patches/nginx-1.0.4-no_error_pages.patch new file mode 100644 index 0000000..1963249 --- /dev/null +++ b/patches/nginx-1.0.4-no_error_pages.patch @@ -0,0 +1,90 @@ +--- nginx-0.8.54/src/http/ngx_http_core_module.c 2010-12-14 18:38:42.000000000 +0800 ++++ nginx-0.8.54-patched/src/http/ngx_http_core_module.c 2011-01-30 19:24:34.956354518 +0800 +@@ -57,6 +57,8 @@ + void *conf); + static char *ngx_http_core_error_page(ngx_conf_t *cf, ngx_command_t *cmd, + void *conf); ++static char *ngx_http_core_no_error_pages(ngx_conf_t *cf, ngx_command_t *cmd, ++ void *conf); + static char *ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, + void *conf); + static char *ngx_http_core_open_file_cache(ngx_conf_t *cf, ngx_command_t *cmd, +@@ -614,6 +616,14 @@ + 0, + NULL }, + ++ { ngx_string("no_error_pages"), ++ NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF ++ |NGX_CONF_NOARGS, ++ ngx_http_core_no_error_pages, ++ NGX_HTTP_LOC_CONF_OFFSET, ++ 0, ++ NULL }, ++ + { ngx_string("try_files"), + NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_2MORE, + ngx_http_core_try_files, +@@ -3052,7 +3062,6 @@ + * clcf->types = NULL; + * clcf->default_type = { 0, NULL }; + * clcf->error_log = NULL; +- * clcf->error_pages = NULL; + * clcf->try_files = NULL; + * clcf->client_body_path = NULL; + * clcf->regex = NULL; +@@ -3062,6 +3071,7 @@ + * clcf->gzip_proxied = 0; + */ + ++ clcf->error_pages = NGX_CONF_UNSET_PTR; + clcf->client_max_body_size = NGX_CONF_UNSET; + clcf->client_body_buffer_size = NGX_CONF_UNSET_SIZE; + clcf->client_body_timeout = NGX_CONF_UNSET_MSEC; +@@ -3250,9 +3260,7 @@ + } + } + +- if (conf->error_pages == NULL && prev->error_pages) { +- conf->error_pages = prev->error_pages; +- } ++ ngx_conf_merge_ptr_value(conf->error_pages, prev->error_pages, NULL); + + ngx_conf_merge_str_value(conf->default_type, + prev->default_type, "text/plain"); +@@ -3988,6 +3996,10 @@ + ngx_http_compile_complex_value_t ccv; + + if (clcf->error_pages == NULL) { ++ return "conflicts with \"no_error_pages\""; ++ } ++ ++ if (clcf->error_pages == NGX_CONF_UNSET_PTR) { + clcf->error_pages = ngx_array_create(cf->pool, 4, + sizeof(ngx_http_err_page_t)); + if (clcf->error_pages == NULL) { +@@ -4095,6 +4107,25 @@ + + + static char * ++ngx_http_core_no_error_pages(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ++{ ++ ngx_http_core_loc_conf_t *clcf = conf; ++ ++ if (clcf->error_pages == NULL) { ++ return "is duplicate"; ++ } ++ ++ if (clcf->error_pages != NGX_CONF_UNSET_PTR) { ++ return "conflicts with \"error_page\""; ++ } ++ ++ clcf->error_pages = NULL; ++ ++ return NGX_CONF_OK; ++} ++ ++ ++static char * + ngx_http_core_try_files(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) + { + ngx_http_core_loc_conf_t *clcf = conf; diff --git a/patches/nginx-1.0.4-request_body_in_single_buf.patch b/patches/nginx-1.0.4-request_body_in_single_buf.patch new file mode 100644 index 0000000..7d50d73 --- /dev/null +++ b/patches/nginx-1.0.4-request_body_in_single_buf.patch @@ -0,0 +1,27 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309799136 -14400 +# Node ID 99e276bba8596bc4df9e638482ee413f4c6bf700 +# Parent e7b2f945d55ae44a2295facf9e3336dc4633e5b5 +Core: fix body with request_body_in_single_buf. + +If there were preread data and request body was big enough first part +of request body was duplicated. + +See report here: +http://nginx.org/pipermail/nginx/2011-July/027756.html + +diff --git a/src/http/ngx_http_request_body.c b/src/http/ngx_http_request_body.c +--- a/src/http/ngx_http_request_body.c ++++ b/src/http/ngx_http_request_body.c +@@ -372,7 +372,9 @@ ngx_http_do_read_client_request_body(ngx + } + } + +- if (r->request_body_in_file_only && rb->bufs->next) { ++ if (rb->bufs->next ++ && (r->request_body_in_file_only || r->request_body_in_single_buf)) ++ { + rb->bufs = rb->bufs->next; + } + diff --git a/patches/nginx-1.0.4-request_body_preread_fix.patch b/patches/nginx-1.0.4-request_body_preread_fix.patch new file mode 100644 index 0000000..f98b323 --- /dev/null +++ b/patches/nginx-1.0.4-request_body_preread_fix.patch @@ -0,0 +1,17 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309776931 -14400 +# Node ID e7b2f945d55ae44a2295facf9e3336dc4633e5b5 +# Parent 610e909bb9e29766188aa86fae3abe0bd3432940 +Core: fix body if it's preread and there are extra data. + +--- nginx-0.8.54/src/http/ngx_http_request_body.c 2011-07-05 12:11:21.619264633 +0800 ++++ nginx-0.8.54-patched/src/http/ngx_http_request_body.c 2011-07-05 12:14:30.694321554 +0800 +@@ -141,6 +141,7 @@ + + /* the whole request body was pre-read */ + ++ b->last = b->pos + r->headers_in.content_length_n; + r->header_in->pos += (size_t) r->headers_in.content_length_n; + r->request_length += r->headers_in.content_length_n; + diff --git a/patches/nginx-1.0.4-server_header.patch b/patches/nginx-1.0.4-server_header.patch new file mode 100644 index 0000000..c331a4e --- /dev/null +++ b/patches/nginx-1.0.4-server_header.patch @@ -0,0 +1,26 @@ +diff -ur lz-nginx-1.0.4/nginx-1.0.4/src/core/nginx.h lz-nginx-1.0.4-patched/nginx-1.0.4/src/core/nginx.h +--- lz-nginx-1.0.4/nginx-1.0.4/src/core/nginx.h 2010-02-12 17:31:01.000000000 +0800 ++++ lz-nginx-1.0.4-patched/nginx-1.0.4/src/core/nginx.h 2010-03-30 10:52:13.240702627 +0800 +@@ -10,7 +10,7 @@ + + #define nginx_version 1000004 + #define NGINX_VERSION "1.0.4" +-#define NGINX_VER "nginx/" NGINX_VERSION ++#define NGINX_VER "ngx_openresty/" NGINX_VERSION ".unknown" + + #define NGINX_VAR "NGINX" + #define NGX_OLDPID_EXT ".oldbin" +Only in lz-nginx-1.0.4-patched/nginx-1.0.4/src/core: nginx.h.orig +Only in lz-nginx-1.0.4-patched/nginx-1.0.4/src/core: nginx.h.rej +diff -ur lz-nginx-1.0.4/nginx-1.0.4/src/http/ngx_http_header_filter_module.c lz-nginx-1.0.4-patched/nginx-1.0.4/src/http/ngx_http_header_filter_module.c +--- lz-nginx-1.0.4/nginx-1.0.4/src/http/ngx_http_header_filter_module.c 2010-03-03 23:14:04.000000000 +0800 ++++ lz-nginx-1.0.4-patched/nginx-1.0.4/src/http/ngx_http_header_filter_module.c 2010-03-30 10:52:53.670909405 +0800 +@@ -45,7 +45,7 @@ + }; + + +-static char ngx_http_server_string[] = "Server: nginx" CRLF; ++static char ngx_http_server_string[] = "Server: ngx_openresty" CRLF; + static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF; + + diff --git a/patches/nginx-1.0.4-subrequest_loop.patch b/patches/nginx-1.0.4-subrequest_loop.patch new file mode 100644 index 0000000..0b9ca69 --- /dev/null +++ b/patches/nginx-1.0.4-subrequest_loop.patch @@ -0,0 +1,40 @@ +# HG changeset patch +# User Maxim Dounin +# Date 1309187571 -14400 +# Node ID 283a416b2235d5383c12a975edc8866f007fb628 +# Parent f5fc40783ddcbf4db33859ee2a9bce54cf32c350 +Core: protect from subrequest loops. + +Without protection subrequest loop results in r->count overflow and +SIGSEGV. Protection was broken in 0.7.25. + +Note that this also limits number of parallel subrequests. This +wasn't exactly the case before 0.7.25 as local subrequests were +completed directly. + +See here for details: + +http://nginx.org/pipermail/nginx-ru/2010-February/032184.html + +diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c +--- a/src/http/ngx_http_core_module.c ++++ b/src/http/ngx_http_core_module.c +@@ -2287,7 +2287,6 @@ ngx_http_subrequest(ngx_http_request_t * + sr->start_sec = tp->sec; + sr->start_msec = tp->msec; + +- r->main->subrequests++; + r->main->count++; + + *psr = sr; +diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c +--- a/src/http/ngx_http_request.c ++++ b/src/http/ngx_http_request.c +@@ -1981,6 +1981,7 @@ ngx_http_finalize_request(ngx_http_reque + if (r == c->data) { + + r->main->count--; ++ r->main->subrequests++; + + if (!r->logged) { + diff --git a/t/sanity.t b/t/sanity.t index b9b1b6b..0f02875 100644 --- a/t/sanity.t +++ b/t/sanity.t @@ -2,7 +2,7 @@ use t::Config; -plan tests => 4 * blocks() - 3; +plan tests => 4 * blocks() - 4; #no_diff(); @@ -25,7 +25,6 @@ __DATA__ --without-http_form_input_module disable ngx_http_form_input_module --without-http_encrypted_session_module disable ngx_http_encrypted_session_module - --without-http_drizzle_module disable ngx_http_drizzle_module --without-http_lua_module disable ngx_http_lua_module --without-http_headers_more_module disable ngx_http_headers_more_module --without-http_srcache_module disable ngx_http_srcache_module @@ -40,10 +39,12 @@ __DATA__ --without-http_ssl_module disable ngx_http_ssl_module --with-http_iconv_module enable ngx_http_iconv_module + --with-http_drizzle_module enable ngx_http_drizzle_module --with-http_postgres_module enable ngx_http_postgres_module --without-lua51 disable the bundled Lua 5.1 interpreter --with-luajit enable LuaJIT 2.0 + --with-libdrizzle=DIR specify the libdrizzle 1.0 installation prefix Options directly inherited from nginx @@ -176,55 +177,44 @@ Options directly inherited from nginx --- cmd: ./configure --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. cd lua-5.1.4 make linux make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) cd build/lua-5.1.4 && $(MAKE) linux - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build @@ -235,56 +225,45 @@ clean: --- cmd: ./configure --with-debug --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. cd lua-5.1.4 make linux make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-debug \ --with-cc-opt='-O0' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) cd build/lua-5.1.4 && $(MAKE) linux - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build @@ -305,55 +284,45 @@ platform: linux (linux) --- cmd: ./configure --with-luajit --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. -cd LuaJIT-2.0.0-beta7 +cd LuaJIT-2.0.0-beta8 make PREFIX=/usr/local/openresty/luajit make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib:/usr/local/openresty/luajit/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ + --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) PREFIX=/usr/local/openresty/luajit + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build @@ -364,55 +333,45 @@ clean: --- cmd: ./configure --with-luajit --with-cc-opt="-O3" --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. -cd LuaJIT-2.0.0-beta7 +cd LuaJIT-2.0.0-beta8 make PREFIX=/usr/local/openresty/luajit make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2 -O3' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib:/usr/local/openresty/luajit/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ + --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) PREFIX=/usr/local/openresty/luajit + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build @@ -423,378 +382,187 @@ clean: --- cmd: ./configure --with-luajit --with-ld-opt="-llua" --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. -cd LuaJIT-2.0.0-beta7 +cd LuaJIT-2.0.0-beta8 make PREFIX=/usr/local/openresty/luajit make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib:/usr/local/openresty/luajit/lib -llua' \ + --add-module=../rds-json-nginx-module-0.11 \ + --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib -llua' \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) PREFIX=/usr/local/openresty/luajit + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 8: --without-http_drizzle_module ---- cmd: ./configure --with-luajit --without-http_drizzle_module --dry-run ---- out -platform: linux (linux) -cp -r bundle/ build/ -cd build -cd LuaJIT-2.0.0-beta7 -make PREFIX=/usr/local/openresty/luajit -make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root -export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' -export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' -cd .. -cd nginx-0.8.54 -./configure --prefix=/usr/local/openresty/nginx \ - --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ - --add-module=../ngx_devel_kit-0.2.17 \ - --add-module=../set-misc-nginx-module-0.21 \ - --add-module=../form-input-nginx-module-0.07rc4 \ - --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ - --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ - --add-module=../upstream-keepalive-nginx-module-0.3 \ - --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ - --with-http_ssl_module -cd ../.. ---- makefile -.PHONY: all install - -all: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) - -install: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) - -clean: - rm -rf build - - - -=== TEST 9: --with-luajit & --without-http_lua_module +=== TEST 8: --with-luajit & --without-http_lua_module --- cmd: ./configure --with-luajit --without-http_lua_module --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. -cd LuaJIT-2.0.0-beta7 +cd LuaJIT-2.0.0-beta8 make PREFIX=/usr/local/openresty/luajit make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib:/usr/local/openresty/luajit/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ + --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) PREFIX=/usr/local/openresty/luajit + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/LuaJIT-2.0.0-beta8 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 10: --without-http_lua_module +=== TEST 9: --without-http_lua_module --- cmd: ./configure --without-http_lua_module --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 11: --without-http_drizzle_module & --with-http_postgres_module ---- cmd: ./configure --with-luajit --without-http_drizzle_module --with-http_postgres_module --dry-run ---- out -platform: linux (linux) -cp -r bundle/ build/ -cd build -cd LuaJIT-2.0.0-beta7 -make PREFIX=/usr/local/openresty/luajit -make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root -export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' -export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' -cd .. -cd nginx-0.8.54 -./configure --prefix=/usr/local/openresty/nginx \ - --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ - --add-module=../ngx_devel_kit-0.2.17 \ - --add-module=../set-misc-nginx-module-0.21 \ - --add-module=../form-input-nginx-module-0.07rc4 \ - --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../ngx_postgres-0.8 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ - --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ - --add-module=../upstream-keepalive-nginx-module-0.3 \ - --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ - --with-http_ssl_module -cd ../.. ---- makefile -.PHONY: all install - -all: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) - -install: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) - -clean: - rm -rf build - - - -=== TEST 12: --without-http_drizzle_module & --with-http_iconv_module ---- cmd: ./configure --with-luajit --without-http_drizzle_module --with-http_iconv_module --dry-run ---- out -platform: linux (linux) -cp -r bundle/ build/ -cd build -cd LuaJIT-2.0.0-beta7 -make PREFIX=/usr/local/openresty/luajit -make install PREFIX=/usr/local/openresty/luajit DESTDIR=$OPENRESTY_BUILD_DIR/luajit-root -export LUAJIT_LIB='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/lib' -export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/include/luajit-2.0' -cd .. -cd nginx-0.8.54 -./configure --prefix=/usr/local/openresty/nginx \ - --with-cc-opt='-O2' \ - --add-module=../iconv-nginx-module-0.10rc3 \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ - --add-module=../ngx_devel_kit-0.2.17 \ - --add-module=../set-misc-nginx-module-0.21 \ - --add-module=../form-input-nginx-module-0.07rc4 \ - --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ - --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ - --add-module=../upstream-keepalive-nginx-module-0.3 \ - --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib' \ - --with-http_ssl_module -cd ../.. ---- makefile -.PHONY: all install - -all: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) PREFIX=/usr/local/openresty/luajit - cd build/nginx-0.8.54 && $(MAKE) - -install: - cd build/LuaJIT-2.0.0-beta7 && $(MAKE) install PREFIX=/usr/local/openresty/luajit DESTDIR=$(DESTDIR) - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) - -clean: - rm -rf build - - - -=== TEST 13: --prefix +=== TEST 10: --prefix --- cmd: ./configure --prefix=/opt/blah --dry-run --- out platform: linux (linux) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/opt/blah/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/opt/blah/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/opt/blah/libdrizzle/include' -cd .. cd lua-5.1.4 make linux make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/opt/blah/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/opt/blah/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/opt/blah/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/opt/blah/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/opt/blah/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) cd build/lua-5.1.4 && $(MAKE) linux - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/opt/blah/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 14: --help on solaris +=== TEST 11: --help on solaris --- cmd: ./configure --help --platform=solaris --- out --help this message @@ -828,6 +596,7 @@ clean: --without-lua51 disable the bundled Lua 5.1 interpreter --with-luajit enable LuaJIT 2.0 + --with-libdrizzle=DIR specify the libdrizzle 1.0 installation prefix Options directly inherited from nginx @@ -956,11 +725,11 @@ Options directly inherited from nginx -=== TEST 15: default on solaris +=== TEST 12: default on solaris --- cmd: ./configure --dry-run --platform=solaris --- out platform: solaris (solaris) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build cd lua-5.1.4 make solaris @@ -968,24 +737,24 @@ make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile @@ -993,129 +762,171 @@ cd ../.. all: cd build/lua-5.1.4 && $(MAKE) solaris - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 16: --with-http_drizzle_module on solaris +=== TEST 13: --with-http_drizzle_module on solaris --- cmd: ./configure --with-http_drizzle_module --dry-run --platform=solaris --- out platform: solaris (solaris) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. cd lua-5.1.4 make solaris make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../drizzle-nginx-module-0.1.1rc1 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) cd build/lua-5.1.4 && $(MAKE) solaris - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build -=== TEST 17: --with-http_drizzle_module on Solaris +=== TEST 14: --with-http_drizzle_module on Solaris --- cmd: ./configure --with-http_drizzle_module --dry-run --platform=solaris --- out platform: solaris (solaris) -cp -r bundle/ build/ +cp -rp bundle/ build/ cd build -cd libdrizzle-0.8 -./configure --prefix=/usr/local/openresty/libdrizzle -make -make install DESTDIR=$OPENRESTY_BUILD_DIR/libdrizzle-root -export LIBDRIZZLE_LIB='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/lib' -export LIBDRIZZLE_INC='$OPENRESTY_BUILD_DIR/libdrizzle-root/usr/local/openresty/libdrizzle/include' -cd .. cd lua-5.1.4 make solaris make install INSTALL_TOP=$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua export LUA_LIB='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/lib' export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. -cd nginx-0.8.54 +cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O2' \ - --add-module=../echo-nginx-module-0.36rc3 \ - --add-module=../xss-nginx-module-0.03rc2 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ --add-module=../ngx_devel_kit-0.2.17 \ --add-module=../set-misc-nginx-module-0.21 \ --add-module=../form-input-nginx-module-0.07rc4 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.0.15rc10 \ - --add-module=../ngx_lua-0.1.6rc14 \ - --add-module=../headers-more-nginx-module-0.15rc3 \ - --add-module=../srcache-nginx-module-0.12rc4 \ + --add-module=../drizzle-nginx-module-0.1.1rc1 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ --add-module=../array-var-nginx-module-0.02 \ - --add-module=../memc-nginx-module-0.12rc1 \ - --add-module=../redis2-nginx-module-0.07rc2 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ --add-module=../upstream-keepalive-nginx-module-0.3 \ --add-module=../auth-request-nginx-module-0.2 \ - --add-module=../rds-json-nginx-module-0.11rc2 \ - --with-ld-opt='-Wl,-rpath,/usr/local/openresty/libdrizzle/lib' \ + --add-module=../rds-json-nginx-module-0.11 \ --with-http_ssl_module cd ../.. --- makefile .PHONY: all install all: - cd build/libdrizzle-0.8 && $(MAKE) cd build/lua-5.1.4 && $(MAKE) solaris - cd build/nginx-0.8.54 && $(MAKE) + cd build/nginx-1.0.4 && $(MAKE) install: - cd build/libdrizzle-0.8 && $(MAKE) install DESTDIR=$(DESTDIR) cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua - cd build/nginx-0.8.54 && $(MAKE) install DESTDIR=$(DESTDIR) + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) + +clean: + rm -rf build + + + +=== TEST 15: ngx_drizzle not enabled but specify --with-libdrizzle +--- cmd: ./configure --with-libdrizzle=/opt/drizzle --dry-run +--- out +platform: linux (linux) +--- err +The http_drizzle_module is not enabled while --with-libdrizzle is specified. +--- exit: 255 + + +=== TEST 16: ngx_drizzle enabled and --with-libdrizzle is specified +--- cmd: ./configure --with-libdrizzle=/opt/drizzle --with-http_drizzle_module --dry-run +--- out +platform: linux (linux) +cp -rp bundle/ build/ +cd build +export LIBDRIZZLE_LIB='/opt/drizzle/lib' +export LIBDRIZZLE_INC='/opt/drizzle/include/libdrizzle-1.0' +cd lua-5.1.4 +make linux +make install INSTALL_TOP=/home/agentz/git/ngx_openresty/ngx_openresty-1.0.4.0/build/lua-root/usr/local/openresty/lua +export LUA_LIB='/home/agentz/git/ngx_openresty/ngx_openresty-1.0.4.0/build/lua-root/usr/local/openresty/lua/lib' +export LUA_INC='/home/agentz/git/ngx_openresty/ngx_openresty-1.0.4.0/build/lua-root/usr/local/openresty/lua/include' +cd .. +cd nginx-1.0.4 +./configure --prefix=/usr/local/openresty/nginx \ + --with-cc-opt='-O2' \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ + --add-module=../ngx_devel_kit-0.2.17 \ + --add-module=../set-misc-nginx-module-0.21 \ + --add-module=../form-input-nginx-module-0.07rc4 \ + --add-module=../encrypted-session-nginx-module-0.01 \ + --add-module=../drizzle-nginx-module-0.1.1rc1 \ + --add-module=../ngx_lua-0.2.0 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ + --add-module=../array-var-nginx-module-0.02 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07rc5 \ + --add-module=../upstream-keepalive-nginx-module-0.3 \ + --add-module=../auth-request-nginx-module-0.2 \ + --add-module=../rds-json-nginx-module-0.11 \ + --with-ld-opt='-Wl,-rpath,/opt/drizzle/lib' \ + --with-http_ssl_module +cd ../.. +--- err +--- makefile +.PHONY: all install + +all: + cd build/lua-5.1.4 && $(MAKE) linux + cd build/nginx-1.0.4 && $(MAKE) + +install: + cd build/lua-5.1.4 && $(MAKE) install INSTALL_TOP=$(DESTDIR)/usr/local/openresty/lua + cd build/nginx-1.0.4 && $(MAKE) install DESTDIR=$(DESTDIR) clean: rm -rf build diff --git a/util/configure b/util/configure index c4f2ec6..8c6c68c 100755 --- a/util/configure +++ b/util/configure @@ -5,7 +5,6 @@ use strict; use warnings; use File::Spec; -use ExtUtils::MakeMaker (); sub shell ($@); sub env ($$); @@ -59,7 +58,7 @@ my @modules = ( [http_set_misc => 'set-misc-nginx-module'], [http_form_input => 'form-input-nginx-module'], [http_encrypted_session => 'encrypted-session-nginx-module'], - [http_drizzle => 'drizzle-nginx-module', $on_solaris ? 'disabled' : () ], + [http_drizzle => 'drizzle-nginx-module', 'disabled'], [http_postgres => 'ngx_postgres', 'disabled'], [http_lua => 'ngx_lua'], [http_headers_more => 'headers-more-nginx-module'], @@ -148,6 +147,9 @@ for my $opt (@ARGV) { } elsif ($opt eq '--with-luajit') { $resty_opts{luajit} = 1; + } elsif ($opt =~ /^--with-libdrizzle=(.*)/) { + $resty_opts{libdrizzle} = $1; + } elsif ($opt eq '--with-http_ssl_module') { $resty_opts{http_ssl} = 1; push @ngx_opts, $opt; @@ -249,15 +251,6 @@ sub build_resty_opts { $opts->{lua} = 1; } - if ($on_solaris) { - if ($opts->{http_drizzle}) { - $opts->{libdrizzle} = 1; - } - - } elsif (! $opts->{no_http_drizzle}) { - $opts->{libdrizzle} = 1; - } - if ($opts->{no_http_ssl} && $opts->{http_ssl}) { die "--with-http_ssl_module conflicts with --without-http_ssl_module.\n"; } @@ -267,6 +260,10 @@ sub build_resty_opts { push @ngx_opts, '--with-http_ssl_module'; } + if (! $opts->{http_drizzle} && $opts->{libdrizzle}) { + die "The http_drizzle_module is not enabled while --with-libdrizzle is specified.\n"; + } + if ($platform eq 'linux' && $opts->{luajit} && ! can_run("ldconfig")) { die "you need to have ldconfig in your PATH env when enabling luajit.\n"; } @@ -291,41 +288,17 @@ sub build_resty_opts { die "build/ directory already exists\n"; } - shell "cp -r bundle/ build/"; + shell "cp -rp bundle/ build/"; cd 'build'; # build 3rd-party C libraries if required - if ($opts->{libdrizzle}) { - my $libdrizzle_src = auto_complete 'libdrizzle'; - my $libdrizzle_prefix = "$prefix/libdrizzle"; - my $libdrizzle_root = File::Spec->rel2abs("libdrizzle-root"); - - if (-d $libdrizzle_root) { - shell "rm -rf $libdrizzle_root"; - } - - mkdir $libdrizzle_root or - die "create create directory libdrizzle-root: $!\n"; - - cd $libdrizzle_src; - - shell "./configure --prefix=$libdrizzle_prefix", $dry_run; - shell "make", $dry_run; - shell "make install DESTDIR=$libdrizzle_root", $dry_run; - - push @make_cmds, "cd build/$libdrizzle_src && \$(MAKE)"; - - push @make_install_cmds, "cd build/$libdrizzle_src && " - . "\$(MAKE) install DESTDIR=\$(DESTDIR)"; - - env LIBDRIZZLE_LIB => "$libdrizzle_root$libdrizzle_prefix/lib"; - env LIBDRIZZLE_INC => "$libdrizzle_root$libdrizzle_prefix/include"; - - push @ngx_rpaths, "$libdrizzle_prefix/lib"; - - cd '..'; + if (my $drizzle_prefix = $opts->{libdrizzle}) { + my $drizzle_lib = "$drizzle_prefix/lib"; + env LIBDRIZZLE_LIB => "$drizzle_prefix/lib"; + env LIBDRIZZLE_INC => "$drizzle_prefix/include/libdrizzle-1.0"; + push @ngx_rpaths, $drizzle_lib; } if ($opts->{luajit}) { @@ -482,6 +455,7 @@ _EOC_ --without-lua51 disable the bundled Lua 5.1 interpreter --with-luajit enable LuaJIT 2.0 + --with-libdrizzle=DIR specify the libdrizzle 1.0 installation prefix Options directly inherited from nginx @@ -639,12 +613,15 @@ sub can_run { #warn "can run: @_\n"; my $_cmd = $cmd; - return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); + return $_cmd if -x $_cmd; - for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { + # FIXME: this is a hack; MSWin32 is not supported anyway + my $path_sep = ':'; + + for my $dir ((split /$path_sep/, $ENV{PATH}), '.') { next if $dir eq ''; my $abs = File::Spec->catfile($dir, $_[0]); - return $abs if (-x $abs or $abs = MM->maybe_command($abs)); + return $abs if -x $abs; } return; diff --git a/util/fix-tests b/util/fix-tests index 0b3a13b..70710ee 100755 --- a/util/fix-tests +++ b/util/fix-tests @@ -68,7 +68,7 @@ for my $t_file (@t_files) { close $in; } -print join("\n", map { " $_" } sort @dirs), "\n"; +print join("\n", map { /^LuaJIT/ ? "* ~$_" : "* $_" } sort @dirs), "\n"; sub cd ($) { my $dir = shift; diff --git a/util/mirror-tarballs b/util/mirror-tarballs index 45ab657..1f0c258 100755 --- a/util/mirror-tarballs +++ b/util/mirror-tarballs @@ -32,20 +32,28 @@ sed -i $"s/NGINX_VERSION \".unknown\"/NGINX_VERSION \".$minor_ver\"/" \ patch -p2 < server_header.patch || exit 1 -patch -p1 < $root/patches/nginx-$main_ver-redirect_memcpy_overlap.patch || exit 1 +#patch -p1 < $root/patches/nginx-$main_ver-redirect_memcpy_overlap.patch || exit 1 patch -p1 < $root/patches/nginx-$main_ver-no_error_pages.patch || exit 1 +patch -p1 < $root/patches/nginx-$main_ver-no_Werror.patch || exit 1 + +patch -p1 < $root/patches/nginx-$main_ver-request_body_preread_fix.patch || exit 1 + +patch -p1 < $root/patches/nginx-$main_ver-request_body_in_single_buf.patch || exit 1 + +patch -p1 -l < $root/patches/nginx-$main_ver-subrequest_loop.patch || exit 1 + rm -f *.patch || exit 1 cd .. || exit 1 -ver=0.36rc3 +ver=0.37rc1 $root/util/get-tarball "http://github.com/agentzh/echo-nginx-module/tarball/v$ver" -O echo-nginx-module-$ver.tar.gz || exit 1 tar -xzf echo-nginx-module-$ver.tar.gz mv agentzh-echo-nginx-module-* echo-nginx-module-$ver -ver=0.03rc2 +ver=0.03rc3 $root/util/get-tarball "http://github.com/agentzh/xss-nginx-module/tarball/v$ver" -O xss-nginx-module-$ver.tar.gz || exit 1 tar -xzf xss-nginx-module-$ver.tar.gz || exit 1 mv agentzh-xss-nginx-module-* xss-nginx-module-$ver || exit 1 @@ -60,26 +68,26 @@ $root/util/get-tarball "http://github.com/agentzh/set-misc-nginx-module/tarball/ tar -xzf set-misc-nginx-module-$ver.tar.gz || exit 1 mv agentzh-set-misc-nginx-module-* set-misc-nginx-module-$ver || exit 1 -ver=0.11rc2 +ver=0.11 $root/util/get-tarball "http://github.com/agentzh/rds-json-nginx-module/tarball/v$ver" -O rds-json-nginx-module-$ver.tar.gz || exit 1 tar -xzf rds-json-nginx-module-$ver.tar.gz || exit 1 mv agentzh-rds-json-nginx-module-* rds-json-nginx-module-$ver || exit 1 -ver=0.15rc3 +ver=0.15 $root/util/get-tarball "http://github.com/agentzh/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 mv agentzh-headers-more-nginx-module-* headers-more-nginx-module-$ver || exit 1 ################################# -ver=0.0.15rc10 +ver=0.1.1rc1 $root/util/get-tarball "http://github.com/chaoslawful/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 mv chaoslawful-drizzle-nginx-module-* drizzle-nginx-module-$ver || exit 1 ################################# -ver=0.1.6rc14 +ver=0.2.0 $root/util/get-tarball "http://github.com/chaoslawful/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 mv chaoslawful-lua-nginx-module-* ngx_lua-$ver || exit 1 @@ -93,14 +101,14 @@ mv agentzh-array-var-nginx-module-* array-var-nginx-module-$ver || exit 1 ################################# -ver=0.12rc1 +ver=0.12 $root/util/get-tarball "http://github.com/agentzh/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 mv agentzh-memc-nginx-module-* memc-nginx-module-$ver || exit 1 ################################# -ver=0.12rc4 +ver=0.12 $root/util/get-tarball "http://github.com/agentzh/srcache-nginx-module/tarball/v$ver" -O srcache-nginx-module-$ver.tar.gz || exit 1 tar -xzf srcache-nginx-module-$ver.tar.gz || exit 1 mv agentzh-srcache-nginx-module-* srcache-nginx-module-$ver || exit 1 @@ -150,7 +158,7 @@ mv FRiCKLE-ngx_postgres-* ngx_postgres-$ver || exit 1 ################################# -ver=0.07rc2 +ver=0.07rc5 $root/util/get-tarball "http://github.com/agentzh/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 mv agentzh-redis2-nginx-module-* redis2-nginx-module-$ver || exit 1 @@ -177,23 +185,11 @@ rm lua-makefile-fix.patch ################################# -ver=2.0.0-beta7 +ver=2.0.0-beta8 $root/util/get-tarball "http://luajit.org/download/LuaJIT-$ver.tar.gz" -O "LuaJIT-$ver.tar.gz" || exit 1 tar -xzf LuaJIT-$ver.tar.gz || exit 1 -patch -p0 < $root/patches/LuaJIT-$ver-symlink_lib.patch || exit 1 - -################################# - -ver=0.8 -$root/util/get-tarball "http://launchpad.net/libdrizzle/trunk/0.8/+download/libdrizzle-0.8.tar.gz" -O "libdrizzle-$ver.tar.gz" || exit 1 -tar -xzf libdrizzle-$ver.tar.gz || exit 1 - -$root/util/get-tarball "http://agentzh.org/misc/nginx/libdrizzle-0.8-parsebug_and_mac_fixes.patch" -O "parsebug_and_mac_fixes.patch" || exit 1 - -patch -p0 < parsebug_and_mac_fixes.patch - -rm parsebug_and_mac_fixes.patch || exit 1 +#patch -p0 < $root/patches/LuaJIT-$ver-symlink_lib.patch || exit 1 ################################# diff --git a/util/ver b/util/ver index 621a42f..d829c3d 100755 --- a/util/ver +++ b/util/ver @@ -1,7 +1,7 @@ #!/bin/bash -main_ver=0.8.54 -minor_ver=7rc2 +main_ver=1.0.4 +minor_ver=0 version=$main_ver.$minor_ver echo $version