From da11207dea35a30a082d3da0dc3e51148f64be74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?agentzh=20=28=E7=AB=A0=E4=BA=A6=E6=98=A5=29?= Date: Thu, 4 Aug 2011 20:34:15 +0800 Subject: [PATCH] added the --with-libpq=DIR option to the ./configure script. also released ngx_openresty 1.0.4.2rc4. --- t/sanity.t | 191 +++++++++++++++++++++++++++++++++++++++---------- util/configure | 19 ++++- util/fix-tests | 7 ++ util/ver | 2 +- 4 files changed, 177 insertions(+), 42 deletions(-) diff --git a/t/sanity.t b/t/sanity.t index 379ed17..aba1753 100644 --- a/t/sanity.t +++ b/t/sanity.t @@ -2,7 +2,7 @@ use t::Config; -plan tests => 4 * blocks() - 4; +plan tests => 83; #no_diff(); @@ -44,7 +44,8 @@ __DATA__ --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 + --with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix + --with-libpq=DIR specify the libpq (or postgresql) installation prefix Options directly inherited from nginx @@ -187,10 +188,10 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -236,10 +237,10 @@ cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-debug \ --with-cc-opt='-O0' \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -293,10 +294,10 @@ export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/i cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -342,10 +343,10 @@ cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-cc-opt='-O3' \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -390,10 +391,10 @@ export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/i cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -438,10 +439,10 @@ export LUAJIT_INC='$OPENRESTY_BUILD_DIR/luajit-root/usr/local/openresty/luajit/i cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../headers-more-nginx-module-0.15 \ @@ -479,10 +480,10 @@ cp -rp bundle/ build/ cd build cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../headers-more-nginx-module-0.15 \ @@ -523,10 +524,10 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/opt/blah/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/opt/blah/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -590,7 +591,8 @@ 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 + --with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix + --with-libpq=DIR specify the libpq (or postgresql) installation prefix Options directly inherited from nginx @@ -733,10 +735,10 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -780,13 +782,13 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.1.1rc2 \ + --add-module=../drizzle-nginx-module-0.1.1rc3 \ --add-module=../ngx_lua-0.2.1rc2 \ --add-module=../headers-more-nginx-module-0.15 \ --add-module=../srcache-nginx-module-0.12 \ @@ -828,13 +830,13 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.1.1rc2 \ + --add-module=../drizzle-nginx-module-0.1.1rc3 \ --add-module=../ngx_lua-0.2.1rc2 \ --add-module=../headers-more-nginx-module-0.15 \ --add-module=../srcache-nginx-module-0.12 \ @@ -882,19 +884,19 @@ 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.1/build/lua-root/usr/local/openresty/lua -export LUA_LIB='/home/agentz/git/ngx_openresty/ngx_openresty-1.0.4.1/build/lua-root/usr/local/openresty/lua/lib' -export LUA_INC='/home/agentz/git/ngx_openresty/ngx_openresty-1.0.4.1/build/lua-root/usr/local/openresty/lua/include' +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-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ - --add-module=../drizzle-nginx-module-0.1.1rc2 \ + --add-module=../drizzle-nginx-module-0.1.1rc3 \ --add-module=../ngx_lua-0.2.1rc2 \ --add-module=../headers-more-nginx-module-0.15 \ --add-module=../srcache-nginx-module-0.12 \ @@ -938,10 +940,10 @@ export LUA_INC='$OPENRESTY_BUILD_DIR/lua-root/usr/local/openresty/lua/include' cd .. cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -987,10 +989,10 @@ cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-debug \ --with-cc-opt='-O0' \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -1037,10 +1039,10 @@ cd nginx-1.0.4 ./configure --prefix=/usr/local/openresty/nginx \ --with-debug \ --with-cc-opt='-O0' \ + --add-module=../ngx_devel_kit-0.2.17 \ --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.22rc1 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ --add-module=../form-input-nginx-module-0.07rc5 \ --add-module=../encrypted-session-nginx-module-0.01 \ --add-module=../ngx_lua-0.2.1rc2 \ @@ -1069,3 +1071,114 @@ install: clean: rm -rf build + + +=== TEST 20: ngx_postgres not enabled but specify --with-libpq +--- cmd: ./configure --with-libpq=/opt/postgres --dry-run +--- out +platform: linux (linux) +--- err +The http_postgres_module is not enabled while --with-libpq is specified. +--- exit: 255 + + + +=== TEST 21: ngx_postgres enabled and --with-libpq is specified +--- cmd: ./configure --with-libpq=/opt/postgres --with-http_postgres_module --dry-run +--- out +platform: linux (linux) +cp -rp bundle/ build/ +cd build +export LIBPQ_LIB='/opt/postgres/lib' +export LIBPQ_INC='/opt/postgres/include' +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-1.0.4 +./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ + --add-module=../form-input-nginx-module-0.07rc5 \ + --add-module=../encrypted-session-nginx-module-0.01 \ + --add-module=../ngx_postgres-0.9rc1 \ + --add-module=../ngx_lua-0.2.1rc2 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ + --add-module=../array-var-nginx-module-0.03rc1 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07 \ + --add-module=../upstream-keepalive-nginx-module-0.3 \ + --add-module=../auth-request-nginx-module-0.2 \ + --add-module=../rds-json-nginx-module-0.12rc1 \ + --with-ld-opt='-Wl,-rpath,/opt/postgres/lib' \ + --with-http_ssl_module +cd ../.. +--- err +--- makefile +.PHONY: all install clean + +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 + + + +=== TEST 22: with iconv +--- cmd: ./configure --with-http_iconv_module --dry-run +--- out +platform: linux (linux) +cp -rp bundle/ build/ +cd build +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-1.0.4 +./configure --prefix=/usr/local/openresty/nginx \ + --add-module=../ngx_devel_kit-0.2.17 \ + --add-module=../iconv-nginx-module-0.10rc4 \ + --add-module=../echo-nginx-module-0.37rc1 \ + --add-module=../xss-nginx-module-0.03rc3 \ + --add-module=../set-misc-nginx-module-0.22rc2 \ + --add-module=../form-input-nginx-module-0.07rc5 \ + --add-module=../encrypted-session-nginx-module-0.01 \ + --add-module=../ngx_lua-0.2.1rc2 \ + --add-module=../headers-more-nginx-module-0.15 \ + --add-module=../srcache-nginx-module-0.12 \ + --add-module=../array-var-nginx-module-0.03rc1 \ + --add-module=../memc-nginx-module-0.12 \ + --add-module=../redis2-nginx-module-0.07 \ + --add-module=../upstream-keepalive-nginx-module-0.3 \ + --add-module=../auth-request-nginx-module-0.2 \ + --add-module=../rds-json-nginx-module-0.12rc1 \ + --with-http_ssl_module +cd ../.. +--- makefile +.PHONY: all install clean + +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 70188b8..bc1a2c6 100755 --- a/util/configure +++ b/util/configure @@ -157,6 +157,9 @@ for my $opt (@ARGV) { } elsif ($opt =~ /^--with-libdrizzle=(.*)/) { $resty_opts{libdrizzle} = $1; + } elsif ($opt =~ /^--with-libpq=(.*)/) { + $resty_opts{libpq} = $1; + } elsif ($opt eq '--with-http_ssl_module') { $resty_opts{http_ssl} = 1; push @ngx_opts, $opt; @@ -271,6 +274,10 @@ sub build_resty_opts { die "The http_drizzle_module is not enabled while --with-libdrizzle is specified.\n"; } + if (! $opts->{http_postgres} && $opts->{libpq}) { + die "The http_postgres_module is not enabled while --with-libpq 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"; } @@ -305,11 +312,18 @@ sub build_resty_opts { if (my $drizzle_prefix = $opts->{libdrizzle}) { my $drizzle_lib = "$drizzle_prefix/lib"; - env LIBDRIZZLE_LIB => "$drizzle_prefix/lib"; + env LIBDRIZZLE_LIB => $drizzle_lib; env LIBDRIZZLE_INC => "$drizzle_prefix/include/libdrizzle-1.0"; push @ngx_rpaths, $drizzle_lib; } + if (my $pg_prefix = $opts->{libpq}) { + my $pg_lib = "$pg_prefix/lib"; + env LIBPQ_LIB => $pg_lib; + env LIBPQ_INC => "$pg_prefix/include"; + push @ngx_rpaths, $pg_lib; + } + if ($opts->{luajit}) { my $luajit_src = auto_complete 'LuaJIT'; my $luajit_prefix = "$prefix/luajit"; @@ -480,7 +494,8 @@ _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 + --with-libdrizzle=DIR specify the libdrizzle 1.0 (or drizzle) installation prefix + --with-libpq=DIR specify the libpq (or postgresql) installation prefix Options directly inherited from nginx diff --git a/util/fix-tests b/util/fix-tests index b808e55..9b2de69 100755 --- a/util/fix-tests +++ b/util/fix-tests @@ -44,6 +44,13 @@ for my $t_file (@t_files) { warn "\n- $orig"; warn "+ $_"; + + } elsif (s{ngx_openresty-\d+\.\d+\.\d+\.\d+(?:rc\d+)?}{ngx_openresty-$ver} && $orig ne $_) { + $changed++; + + warn "\n- $orig"; + warn "+ $_"; + } elsif (s{\bbuild/$pat[^/ \t\n]*\d[^/ \t\n]*}{build/$dir}g && $orig ne $_) { $changed++; diff --git a/util/ver b/util/ver index b3872db..f688e75 100755 --- a/util/ver +++ b/util/ver @@ -1,7 +1,7 @@ #!/bin/bash main_ver=1.0.4 -minor_ver=2rc3 +minor_ver=2rc4 version=$main_ver.$minor_ver echo $version