439 lines
16 KiB
Bash
Executable File
439 lines
16 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#root=$(readlink -f -- "$(dirname -- "$0")/..")
|
|
root=`perl -MCwd -e'print Cwd::abs_path(shift)' $(dirname -- "$0")/..`
|
|
|
|
info_txt=`perl -e 'print "\033[33m[INFO]\033[0m"'`
|
|
|
|
echo -n "ngx_openresty "
|
|
. ./util/ver
|
|
echo
|
|
|
|
name=ngx_openresty-$version
|
|
work=$root/work
|
|
|
|
if [ -z $debug ]; then
|
|
rm -rf $name || exit 1
|
|
mkdir -p $name/bundle || exit 1
|
|
fi
|
|
|
|
cd $name/bundle || exit 1
|
|
|
|
if [ ! -d $work ]; then
|
|
mkdir $work || exit 1
|
|
fi
|
|
|
|
#################################
|
|
|
|
ver="$main_ver"
|
|
$root/util/get-tarball "http://nginx.org/download/nginx-$ver.tar.gz" -O nginx-$ver.tar.gz || exit 1
|
|
tar -xzf nginx-$ver.tar.gz || exit 1
|
|
cd nginx-$ver || exit 1
|
|
|
|
# patch the patch
|
|
|
|
echo "$info_txt applying the upstream-pipelining patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-upstream_pipelining.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the server_header patch for nginx"
|
|
cp $root/patches/nginx-$main_ver-server_header.patch server_header.patch || exit 1
|
|
sed $"s/NGINX_VERSION \".unknown\"/NGINX_VERSION \".$minor_ver\"/" server_header.patch \
|
|
> server_header.patch.tmp && mv -f server_header.patch.tmp server_header.patch || exit 1
|
|
patch -p2 < server_header.patch || exit 1
|
|
echo
|
|
|
|
#patch -p1 < $root/patches/nginx-$main_ver-redirect_memcpy_overlap.patch || exit 1
|
|
|
|
echo "$info_txt applying the no_error_pages patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-no_error_pages.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the no_Werror patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-no_Werror.patch || exit 1
|
|
echo
|
|
|
|
#patch -p1 < $root/patches/nginx-$main_ver-epoll_check_stale_wev.patch || exit 1
|
|
|
|
#patch -p1 < $root/patches/nginx-$main_ver-request_body_in_single_buf.patch || exit 1
|
|
|
|
#echo "INFO: applying the max_subrequests patch...";
|
|
#patch -p1 < $root/patches/nginx-$main_ver-max_subrequests.patch || exit 1
|
|
|
|
#echo "INFO: applying the subrequst_loop patch...";
|
|
#patch -p1 -l < $root/patches/nginx-$main_ver-subrequest_loop.patch || exit 1
|
|
|
|
#echo "INFO: applying the gzip_empty_flush_buf patch...";
|
|
#patch -p1 -l < $root/patches/nginx-$main_ver-gzip_empty_flush_buf.patch || exit 1
|
|
|
|
#patch -p1 < $root/patches/nginx-$main_ver-variable_header_ignore_no_hash.patch || exit 1
|
|
|
|
#echo "applying the named_location_clear_mods_ctx patch"
|
|
#patch -p1 < $root/patches/nginx-$main_ver-named_location_clear_mods_ctx.patch || exit 1
|
|
|
|
#echo "$info_txt applying the allow_request_body_updating patch for nginx"
|
|
#patch -p1 < $root/patches/nginx-$main_ver-allow_request_body_updating.patch || exit 1
|
|
#echo
|
|
|
|
echo "$info_txt applying the log_escape_non_ascii patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-log_escape_non_ascii.patch || exit 1
|
|
echo
|
|
|
|
#echo applying reset_wev_handler_in_named_locations.patch ...
|
|
#patch -p1 < $root/patches/nginx-$main_ver-reset_wev_handler_in_named_locations.patch || exit 1
|
|
|
|
#echo applying filter_finalize_hang.patch ...
|
|
#patch -p1 < $root/patches/nginx-$main_ver-filter_finalize_hang.patch || exit 1
|
|
|
|
answer=`$root/util/ver-ge "$main_ver" 1.2.3`
|
|
if [ "$answer" = "N" ]; then
|
|
echo "$info_txt applying the add_core_vars_polluting_globals patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-add_core_vars_polluting_globals.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the resolver_debug_log_overflow patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-resolver_debug_log_overflow.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the poll_del_event_at_exit patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-poll_del_event_at_exit.patch || exit 1
|
|
echo
|
|
fi
|
|
|
|
#echo "INFO: applying null-character-fixes patch"
|
|
#patch -p0 < $root/patches/nginx-$main_ver-null_character_fixes.patch || exit 1
|
|
|
|
#patch -p1 < $root/patches/nginx-$main_ver-gzip_ok_invalid_read_fix.patch || exit 1
|
|
|
|
echo "$info_txt applying the location_if_inherits_proxy patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-location_if_inherits_proxy.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the upstream_truncation patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-upstream_truncation.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the channel-uninit-params patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-channel-uninit-params.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the dtrace patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-dtrace.patch || exit 1
|
|
echo
|
|
|
|
answer=`$root/util/ver-ge "$main_ver" 1.2.6`
|
|
if [ "$answer" = "N" ]; then
|
|
echo "$info_txt applying the upstream_test_connect_kqueue patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-upstream_test_connect_kqueue.patch || exit 1
|
|
echo
|
|
fi
|
|
|
|
echo "$info_txt applying the slab_alloc_no_memory_as_info patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-slab_alloc_no_memory_as_info.patch || exit 1
|
|
echo
|
|
|
|
answer=`$root/util/ver-ge "$main_ver" 1.2.7`
|
|
if [ "$answer" = "N" ]; then
|
|
echo "$info_txt applying the resolver_wev_handler_segfault_with_poll patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-resolver_wev_handler_segfault_with_poll.patch || exit 1
|
|
echo
|
|
fi
|
|
|
|
answer=`$root/util/ver-ge "$main_ver" 1.2.8`
|
|
if [ "$answer" = "N" ]; then
|
|
echo "$info_txt applying the run_posted_requests_in_resolver patch for nginx"
|
|
patch -p1 < $root/patches/nginx-$main_ver-run_posted_requests_in_resolver.patch || exit 1
|
|
echo
|
|
fi
|
|
|
|
rm -f *.patch || exit 1
|
|
|
|
cd .. || exit 1
|
|
|
|
cp $root/patches/nginx-$main_ver-no_pool.patch ./nginx-no_pool.patch || exit 1
|
|
sed $"s/NGINX_VERSION \".unknown/NGINX_VERSION \".$minor_ver/" \
|
|
./nginx-no_pool.patch > ./nginx-no_pool.patch.tmp && \
|
|
mv ./nginx-no_pool.patch.tmp ./nginx-no_pool.patch \
|
|
|| exit 1
|
|
rm -rf no-pool-nginx-$ver
|
|
|
|
#################################
|
|
|
|
ver=0.45
|
|
$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 || exit 1
|
|
mv agentzh-echo-nginx-module-* echo-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.03rc9
|
|
$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
|
|
|
|
#################################
|
|
|
|
ver=0.2.18
|
|
$root/util/get-tarball "http://github.com/simpl/ngx_devel_kit/tarball/v$ver" -O ngx_devel_kit-$ver.tar.gz
|
|
tar -xzf ngx_devel_kit-$ver.tar.gz || exit 1
|
|
mv simpl-ngx_devel_kit-* ngx_devel_kit-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.22rc8
|
|
$root/util/get-tarball "http://github.com/agentzh/set-misc-nginx-module/tarball/v$ver" -O set-misc-nginx-module-$ver.tar.gz || exit 1
|
|
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.12rc10
|
|
$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.05rc2
|
|
$root/util/get-tarball "http://github.com/agentzh/rds-csv-nginx-module/tarball/v$ver" -O rds-csv-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf rds-csv-nginx-module-$ver.tar.gz || exit 1
|
|
mv agentzh-rds-csv-nginx-module-* rds-csv-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.20
|
|
$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.1.5
|
|
$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.8.1
|
|
$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
|
|
|
|
#################################
|
|
|
|
ver=0.03rc1
|
|
$root/util/get-tarball "http://github.com/agentzh/array-var-nginx-module/tarball/v$ver" -O array-var-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf array-var-nginx-module-$ver.tar.gz || exit 1
|
|
mv agentzh-array-var-nginx-module-* array-var-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.13rc3
|
|
$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.19
|
|
$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
|
|
|
|
#################################
|
|
|
|
ver=0.07
|
|
$root/util/get-tarball "http://github.com/calio/form-input-nginx-module/tarball/v$ver" -O form-input-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf form-input-nginx-module-$ver.tar.gz || exit 1
|
|
mv calio-form-input-nginx-module-* form-input-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.10
|
|
$root/util/get-tarball "http://github.com/calio/iconv-nginx-module/tarball/v$ver" -O iconv-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf iconv-nginx-module-$ver.tar.gz || exit 1
|
|
mv calio-iconv-nginx-module-* iconv-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.03
|
|
$root/util/get-tarball "http://github.com/agentzh/encrypted-session-nginx-module/tarball/v$ver" -O encrypted-session-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf encrypted-session-nginx-module-$ver.tar.gz || exit 1
|
|
mv agentzh-encrypted-session-nginx-module-* encrypted-session-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
|
|
#ver=0.7
|
|
#$root/util/get-tarball "http://mdounin.ru/files/ngx_http_upstream_keepalive-$ver.tar.gz" -O upstream_keepalive-$ver.tar.gz || exit 1
|
|
#tar -xzf upstream_keepalive-$ver.tar.gz || exit 1
|
|
#mv ngx_http_upstream_keepalive-* upstream-keepalive-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.2
|
|
$root/util/get-tarball "http://mdounin.ru/files/ngx_http_auth_request_module-$ver.tar.gz" -O auth_request-$ver.tar.gz || exit 1
|
|
tar -xzf auth_request-$ver.tar.gz || exit 1
|
|
mv ngx_http_auth_request_module-* auth-request-nginx-module-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.3.6
|
|
$root/util/get-tarball "http://people.freebsd.org/~osa/ngx_http_redis-$ver.tar.gz" -O redis-nginx-module-$ver.tar.gz || exit 1
|
|
tar -xzf redis-nginx-module-$ver.tar.gz || exit 1
|
|
mv ngx_http_redis-* redis-nginx-module-$ver || exit 1
|
|
|
|
cd redis-nginx-module-$ver
|
|
echo "applying ngx_http_redis-$ver-variables_in_redis_pass.patch"
|
|
patch -p1 < $root/patches/ngx_http_redis-$ver-variables_in_redis_pass.patch || exit 1
|
|
cd ..
|
|
|
|
#################################
|
|
|
|
ver=1.0rc2
|
|
$root/util/get-tarball "https://github.com/FRiCKLE/ngx_postgres/tarball/$ver" -O ngx_postgres-$ver.tar.gz || exit 1
|
|
tar -xzf ngx_postgres-$ver.tar.gz || exit 1
|
|
mv FRiCKLE-ngx_postgres-* ngx_postgres-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.2rc1
|
|
$root/util/get-tarball "https://github.com/FRiCKLE/ngx_coolkit/tarball/$ver" -O ngx_coolkit-$ver.tar.gz || exit 1
|
|
tar -xzf ngx_coolkit-$ver.tar.gz || exit 1
|
|
mv FRiCKLE-ngx_coolkit-* ngx_coolkit-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.10
|
|
$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
|
|
|
|
#################################
|
|
|
|
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
|
|
|
|
#cd lua-$ver/src || exit 1
|
|
#patch -p0 < ../../patch-lua-$ver-4 || exit 1
|
|
#cd ../.. || exit 1
|
|
|
|
#rm "patch-lua-$ver-4" || exit 1
|
|
|
|
echo "$info_txt applying the makefile_install_fix patch for lua $ver"
|
|
patch -p0 < $root/patches/lua-$ver-makefile_install_fix.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the disable_lua50_compat patch for lua $ver"
|
|
patch -p0 < $root/patches/lua-$ver-disable_lua50_compat.patch || exit 1
|
|
echo
|
|
|
|
echo "$info_txt applying the enable_debug_info patch for lua $ver"
|
|
patch -p0 < $root/patches/lua-$ver-enable_debug_info.patch || exit 1
|
|
echo
|
|
|
|
#################################
|
|
|
|
ver=2.0.1
|
|
$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
|
|
|
|
echo "$info_txt applying luajit-$ver hotfix #1 patch for luajit $ver"
|
|
$root/util/get-tarball http://luajit.org/download/v2.0.1_hotfix1.patch -O hotfix.patch
|
|
cd LuaJIT-$ver || exit 1;
|
|
patch -p1 < ../hotfix.patch || exit 1
|
|
rm ../hotfix.patch
|
|
cd .. || exit 1
|
|
|
|
#$root/util/get-tarball http://luajit.org/download/beta11_hotfix1.patch -O beta11_hotfix1.patch
|
|
#patch -p1 < beta11_hotfix1.patch || exit 1
|
|
#rm beta11_hotfix1.patch || exit 1
|
|
|
|
#cp $root/misc/unwind-generic.h ./unwind.h || exit 1
|
|
#cd ..
|
|
|
|
#################################
|
|
|
|
ver=1.0.3
|
|
$root/util/get-tarball "http://www.kyne.com.au/~mark/software/old/lua-cjson-$ver.tar.gz" -O "lua-cjson-$ver.tar.gz" || exit 1
|
|
tar -xzf lua-cjson-$ver.tar.gz || exit 1
|
|
cd lua-cjson-$ver || exit 1
|
|
#patch -p1 < $root/patches/lua_cjson-$ver-array_detection_fix.patch || exit 1
|
|
cd ..
|
|
|
|
#################################
|
|
|
|
ver=0.10
|
|
$root/util/get-tarball "http://github.com/agentzh/lua-redis-parser/tarball/v$ver" -O "lua-redis-parser-$ver.tar.gz" || exit 1
|
|
tar -xzf lua-redis-parser-$ver.tar.gz || exit 1
|
|
mv agentzh-lua-redis-parser-* lua-redis-parser-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.05
|
|
$root/util/get-tarball "http://github.com/agentzh/lua-rds-parser/tarball/v$ver" -O "lua-rds-parser-$ver.tar.gz" || exit 1
|
|
tar -xzf lua-rds-parser-$ver.tar.gz || exit 1
|
|
mv agentzh-lua-rds-parser-* lua-rds-parser-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.09
|
|
$root/util/get-tarball "http://github.com/agentzh/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
|
|
mv agentzh-lua-resty-dns-* lua-resty-dns-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.11
|
|
$root/util/get-tarball "http://github.com/agentzh/lua-resty-memcached/tarball/v$ver" -O "lua-resty-memcached-$ver.tar.gz" || exit 1
|
|
tar -xzf lua-resty-memcached-$ver.tar.gz || exit 1
|
|
mv agentzh-lua-resty-memcached-* lua-resty-memcached-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.15
|
|
$root/util/get-tarball "http://github.com/agentzh/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
|
|
mv agentzh-lua-resty-redis-* lua-resty-redis-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.13
|
|
$root/util/get-tarball "http://github.com/agentzh/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
|
|
mv agentzh-lua-resty-mysql-* lua-resty-mysql-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.08
|
|
$root/util/get-tarball "http://github.com/agentzh/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
|
|
mv agentzh-lua-resty-upload-* lua-resty-upload-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
ver=0.08
|
|
$root/util/get-tarball "http://github.com/agentzh/lua-resty-string/tarball/v$ver" -O "lua-resty-string-$ver.tar.gz" || exit 1
|
|
tar -xzf lua-resty-string-$ver.tar.gz || exit 1
|
|
mv agentzh-lua-resty-string-* lua-resty-string-$ver || exit 1
|
|
|
|
#################################
|
|
|
|
rm *.tar.gz
|
|
|
|
cd ..
|
|
cp $root/util/configure ./
|
|
cp $root/README ./
|
|
cp $root/util/install bundle/
|
|
find bundle -name '*~' -delete
|
|
|
|
cd $root
|
|
|
|
tar cf $name.tar $name
|
|
gzip -f --best $name.tar
|
|
|