passenger 4.0.59 → 4.0.60
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/CHANGELOG +15 -0
- data/bin/passenger-install-apache2-module +2 -1
- data/bin/passenger-install-nginx-module +8 -2
- data/ext/apache2/Hooks.cpp +21 -2
- data/ext/apache2/MergeDirConfig.cpp +40 -40
- data/ext/common/ApplicationPool2/Group.h +14 -10
- data/ext/common/ApplicationPool2/Implementation.cpp +13 -7
- data/ext/common/ApplicationPool2/SmartSpawner.h +4 -1
- data/ext/common/Constants.h +1 -1
- data/ext/nginx/ContentHandler.c +17 -1
- data/lib/phusion_passenger.rb +4 -5
- data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +4 -3
- data/lib/phusion_passenger/platform_info/openssl.rb +61 -0
- data/lib/phusion_passenger/standalone/runtime_installer.rb +27 -22
- data/packaging/debian/LICENSE.md +19 -0
- data/packaging/debian/README.md +320 -0
- data/packaging/debian/Vagrantfile +25 -0
- data/packaging/debian/build +210 -0
- data/packaging/debian/debian_specs/nginx/changelog +1989 -0
- data/packaging/debian/debian_specs/nginx/compat.erb +5 -0
- data/packaging/debian/debian_specs/nginx/conf/fastcgi.conf +25 -0
- data/packaging/debian/debian_specs/nginx/conf/fastcgi_params +24 -0
- data/packaging/debian/debian_specs/nginx/conf/koi-utf +109 -0
- data/packaging/debian/debian_specs/nginx/conf/koi-win +103 -0
- data/packaging/debian/debian_specs/nginx/conf/mime.types +89 -0
- data/packaging/debian/debian_specs/nginx/conf/nginx.conf.erb +97 -0
- data/packaging/debian/debian_specs/nginx/conf/proxy_params +4 -0
- data/packaging/debian/debian_specs/nginx/conf/scgi_params +16 -0
- data/packaging/debian/debian_specs/nginx/conf/sites-available/default.erb +93 -0
- data/packaging/debian/debian_specs/nginx/conf/snippets/fastcgi-php.conf +13 -0
- data/packaging/debian/debian_specs/nginx/conf/snippets/snakeoil.conf +5 -0
- data/packaging/debian/debian_specs/nginx/conf/uwsgi_params +16 -0
- data/packaging/debian/debian_specs/nginx/conf/win-utf +125 -0
- data/packaging/debian/debian_specs/nginx/control.erb +226 -0
- data/packaging/debian/debian_specs/nginx/copyright +196 -0
- data/packaging/debian/debian_specs/nginx/debian-full.lintian-overrides +1 -0
- data/packaging/debian/debian_specs/nginx/gbp.conf +2 -0
- data/packaging/debian/debian_specs/nginx/help/docs/fcgiwrap +14 -0
- data/packaging/debian/debian_specs/nginx/help/docs/php +119 -0
- data/packaging/debian/debian_specs/nginx/help/docs/support-irc +28 -0
- data/packaging/debian/debian_specs/nginx/help/docs/upstream +51 -0
- data/packaging/debian/debian_specs/nginx/help/examples/drupal +114 -0
- data/packaging/debian/debian_specs/nginx/help/examples/http +59 -0
- data/packaging/debian/debian_specs/nginx/help/examples/mail +30 -0
- data/packaging/debian/debian_specs/nginx/help/examples/mailman +59 -0
- data/packaging/debian/debian_specs/nginx/help/examples/nginx.conf +34 -0
- data/packaging/debian/debian_specs/nginx/help/examples/nginx_modsite +162 -0
- data/packaging/debian/debian_specs/nginx/help/examples/virtual_hosts +155 -0
- data/packaging/debian/debian_specs/nginx/help/examples/wordpress +74 -0
- data/packaging/debian/debian_specs/nginx/helpers.rb +41 -0
- data/packaging/debian/debian_specs/nginx/index-debian.html.in +32 -0
- data/packaging/debian/debian_specs/nginx/index-ubuntu.html.in +32 -0
- data/packaging/debian/debian_specs/nginx/index.html.erb +10 -0
- data/packaging/debian/debian_specs/nginx/modules/README.Modules-versions +65 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/README.markdown +510 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/config +5 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/doc/HttpHeadersMoreModule.wiki +395 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ddebug.h +119 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.c +348 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_filter_module.h +80 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.c +826 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_in.h +26 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.c +716 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_headers_out.h +26 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.c +380 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/src/ngx_http_headers_more_util.h +52 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/util/build.sh +32 -0
- data/packaging/debian/debian_specs/nginx/modules/headers-more-nginx-module/valgrind.suppress +215 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ChangeLog +35 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/LICENSE +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/README.md +93 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/config +4 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-auth-pam/ngx_http_auth_pam_module.c +462 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/CHANGES +66 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/LICENSE +26 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/README.md +171 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/TODO.md +7 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/config +21 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-cache-purge/ngx_cache_purge_module.c +1803 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/README +29 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/config +9 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-dav-ext-module/ngx_http_dav_ext_module.c +824 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README +139 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/README_AUTO_LIB +395 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/TODO +1 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/array +10 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/actions/palloc +8 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/build +597 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_replacements +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/action_types +12 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_args +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_locs +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/conf_macros +35 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/contexts +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/header_files +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/headers +4 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/module_dependencies +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/modules_optional +15 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/data/prefixes +2 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/array.h +7 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_cmd_basic.h +43 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/conf_merge.h +78 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/src/palloc.h +6 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/auto/text/autogen +12 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/config +49 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/action_macros +63 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/core/conf_cmds +62 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/modules/set_var +124 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/patches/more_logging_info +48 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/docs/upstream/list +45 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/README +12 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/config +4 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/examples/http/set_var/ngx_http_set_var_examples_module.c +136 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/ngx_auto_lib_core +797 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/CHANGES +17 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/notes/LICENSE +24 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_array.h +113 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_basic.h +2203 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_cmd_extra.h +5423 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_conf_merge.h +227 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.c +72 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_config.h +98 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_includes.h +66 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/objs/ndk_palloc.h +112 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/auto_config +16 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/expose_rewrite_functions +291 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/patches/rewrite_phase_handler +19 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/md5.h +117 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/murmurhash2.c +77 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/hash/sha.h +200 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.c +155 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk.h +58 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.c +43 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_buf.h +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.c +129 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_path.h +30 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.c +192 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_complex_value.h +21 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.c +396 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_conf_file.h +44 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.c +72 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_debug.h +171 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.c +57 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_encoding.h +12 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.c +82 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_hash.h +45 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.c +138 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http.h +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_http_headers.h +35 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.c +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_log.h +165 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_parse.h +67 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.c +583 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_path.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.c +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_process.h +12 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.c +215 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_regex.h +7 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.c +103 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_rewrite.h +26 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.c +602 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_set_var.h +44 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.c +434 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string.h +37 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_string_util.h +14 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.c +205 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_upstream_list.h +27 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.c +45 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-development-kit/src/ndk_uri.h +6 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/LICENSE +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/README.markdown +1850 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/config +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/doc/HttpEchoModule.wiki +1558 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ddebug.h +109 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.c +344 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_echo.h +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.c +282 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_filter.h +15 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.c +183 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_foreach.h +16 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.c +429 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_handler.h +18 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.c +178 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_location.h +13 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.c +667 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_module.h +137 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.c +452 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_request_info.h +31 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.c +208 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_sleep.h +16 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.c +788 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_subrequest.h +19 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.c +96 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_timer.h +13 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.c +298 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_util.h +58 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.c +110 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/src/ngx_http_echo_var.h +9 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/build.sh +45 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/releng +8 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/util/wiki2pod.pl +131 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-echo/valgrind.suppress +38 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/LICENCE +24 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/README +206 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/changelog.txt +54 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/config +26 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/protocol.txt +191 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.c +59 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_defs.h +73 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.c +783 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module.h +31 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_module_setup.c +361 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/ngx_http_push_types.h +120 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.c +1180 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/memory/store.h +1 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.c +146 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_module_ipc.h +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_http_push_store.h +51 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.c +178 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/ngx_rwlock.h +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.c +246 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-http-push/src/store/rbtree_util.h +9 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/Changes +51 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/README.markdown +6954 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/config +363 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/doc/HttpLuaModule.wiki +5898 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/dtrace/ngx_lua_provider.d +61 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/Makefile +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/lib/RecvUntil.pm +138 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/misc/recv-until-pm/t/sanity.t +140 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/api/ngx_http_lua_api.h +52 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ddebug.h +82 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.c +377 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_accessby.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_api.c +77 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.c +537 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_args.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.c +632 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_bodyfilterby.h +31 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.c +296 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_cache.h +24 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.c +175 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_capturefilter.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.c +887 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_clfactory.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_common.h +478 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.c +67 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_config.h +19 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.c +148 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_consts.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.c +369 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_contentby.h +26 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.c +483 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_control.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.c +379 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_coroutine.h +23 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.c +216 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ctx.h +23 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.c +1081 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_directive.h +56 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.c +58 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_exception.h +33 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.c +302 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headerfilterby.h +29 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.c +1370 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.c +782 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_in.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.c +625 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_headers_out.h +23 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.c +42 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initby.h +23 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.c +320 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_initworkerby.h +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.c +300 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_log.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.c +227 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_logby.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.c +252 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_misc.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_module.c +924 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.c +184 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_ndk.h +21 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.c +794 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_output.h +28 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.c +106 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_pcrefix.h +23 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.c +94 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_phase.h +13 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_probe.h +85 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.c +2468 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_regex.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.c +1169 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_body.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.c +252 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_req_method.h +19 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.c +351 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_rewriteby.h +22 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.c +538 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_script.h +86 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.c +216 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_setby.h +15 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.c +1844 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_shdict.h +52 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.c +191 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_sleep.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.c +5314 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_tcp.h +156 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.c +1624 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_socket_udp.h +56 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.c +704 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_string.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.c +1741 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_subrequest.h +46 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.c +278 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_time.h +21 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.c +661 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_timer.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.c +110 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uri.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.c +283 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_uthread.h +36 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.c +3972 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_util.h +423 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.c +499 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_variable.h +20 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.c +64 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/src/ngx_http_lua_worker.h +17 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/tapset/ngx_lua.stp +5 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build.sh +39 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/build2.sh +55 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/fix-comments +27 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/gdbinit +415 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/ngx-links +62 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/reindex +64 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/releng +8 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/retab +8 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/revim +102 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/run_test.sh +10 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/util/update-readme.sh +4 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-lua/valgrind.suppress +144 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/CHANGES +107 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/LICENSE +25 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/Makefile +8 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/README +329 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/config +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upload-progress/ngx_http_uploadprogress_module.c +1774 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/README +53 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/config +3 -0
- data/packaging/debian/debian_specs/nginx/modules/nginx-upstream-fair/ngx_http_upstream_fair_module.c +1356 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/CHANGELOG.md +37 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/HACKING.md +24 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/LICENSE +20 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/README.rst +182 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/config +8 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/nginx-0.6-support.patch +23 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/ngx_http_fancyindex_module.c +1305 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.awk +52 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.h +103 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx-fancyindex/template.html +102 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/CHANGES +37 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/README +141 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/config +3 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.google_code_home_page.wiki +120 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.html +199 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/doc/README.wiki +123 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/ngx_http_subs_filter_module.c +1298 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/README +275 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/AutoInstall.pm +820 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install.pm +470 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/AutoInstall.pm +82 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Base.pm +83 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Can.pm +81 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Fetch.pm +93 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Include.pm +34 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Makefile.pm +415 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Metadata.pm +716 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/TestBase.pm +29 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/Win32.pm +64 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Module/Install/WriteAll.pm +63 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Spiffy.pm +539 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base.pm +682 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Base/Filter.pm +341 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder.pm +1413 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/Builder/Module.pm +81 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/inc/Test/More.pm +735 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx.pm +315 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/LWP.pm +524 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Socket.pm +1749 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/lib/Test/Nginx/Util.pm +874 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs.t +136 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_capture.t +32 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_fix_string.t +32 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_regex.t +108 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/t/subs_types.t +59 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/test/test.sh +5 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/update-readme.sh +7 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2google_code_homepage.pl +29 -0
- data/packaging/debian/debian_specs/nginx/modules/ngx_http_substitutions_filter_module/util/wiki2pod.pl +129 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.NEWS +135 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.README.Debian +45 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.dirs.erb +32 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.install +3 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.lintian-overrides +2 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.manpages +1 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.default +10 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.init.erb +214 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.logrotate +18 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.nginx.service.erb +37 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.postinst.erb +66 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.postrm.erb +46 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.preinst +47 -0
- data/packaging/debian/debian_specs/nginx/nginx-common.prerm.erb +28 -0
- data/packaging/debian/debian_specs/nginx/nginx-doc.docs +2 -0
- data/packaging/debian/debian_specs/nginx/nginx-doc.examples +1 -0
- data/packaging/debian/debian_specs/nginx/nginx-extras.install.erb +17 -0
- data/packaging/debian/debian_specs/nginx/nginx-extras.lintian-overrides +1 -0
- data/packaging/debian/debian_specs/nginx/nginx-extras.postinst.erb +44 -0
- data/packaging/debian/debian_specs/nginx/nginx-extras.prerm +22 -0
- data/packaging/debian/debian_specs/nginx/nginx.1 +47 -0
- data/packaging/debian/debian_specs/nginx/patches/perl-use-dpkg-buildflags.patch +23 -0
- data/packaging/debian/debian_specs/nginx/patches/series +1 -0
- data/packaging/debian/debian_specs/nginx/rules.erb +185 -0
- data/packaging/debian/debian_specs/nginx/source/format +1 -0
- data/packaging/debian/debian_specs/nginx/tests/control +4 -0
- data/packaging/debian/debian_specs/nginx/ufw/nginx +14 -0
- data/packaging/debian/debian_specs/nginx/upstream/signing-key.asc +34 -0
- data/packaging/debian/debian_specs/nginx/watch +3 -0
- data/packaging/debian/debian_specs/passenger/README.Debian +12 -0
- data/packaging/debian/debian_specs/passenger/changelog +316 -0
- data/packaging/debian/debian_specs/passenger/compat +1 -0
- data/packaging/debian/debian_specs/passenger/control.erb +123 -0
- data/packaging/debian/debian_specs/passenger/copyright +385 -0
- data/packaging/debian/debian_specs/passenger/helpers.rb +24 -0
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.install +3 -0
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.postinst +36 -0
- data/packaging/debian/debian_specs/passenger/libapache2-mod-passenger.prerm +15 -0
- data/packaging/debian/debian_specs/passenger/locations.ini.erb +14 -0
- data/packaging/debian/debian_specs/passenger/passenger-dev.install.erb +3 -0
- data/packaging/debian/debian_specs/passenger/passenger-doc.install.erb +2 -0
- data/packaging/debian/debian_specs/passenger/passenger.conf +6 -0
- data/packaging/debian/debian_specs/passenger/passenger.docs +4 -0
- data/packaging/debian/debian_specs/passenger/passenger.install.erb +16 -0
- data/packaging/debian/debian_specs/passenger/passenger.load +3 -0
- data/packaging/debian/debian_specs/passenger/passenger.manpages +3 -0
- data/packaging/debian/debian_specs/passenger/passenger_free_ruby.c +29 -0
- data/packaging/debian/debian_specs/passenger/passenger_ruby_utils.c +54 -0
- data/packaging/debian/debian_specs/passenger/passenger_system_ruby.c.erb +37 -0
- data/packaging/debian/debian_specs/passenger/patches/series +0 -0
- data/packaging/debian/debian_specs/passenger/rules.erb +84 -0
- data/packaging/debian/debian_specs/passenger/source/format +1 -0
- data/packaging/debian/debian_specs/passenger_enterprise/README.Debian +12 -0
- data/packaging/debian/debian_specs/passenger_enterprise/changelog +316 -0
- data/packaging/debian/debian_specs/passenger_enterprise/compat +1 -0
- data/packaging/debian/debian_specs/passenger_enterprise/control.erb +123 -0
- data/packaging/debian/debian_specs/passenger_enterprise/copyright +385 -0
- data/packaging/debian/debian_specs/passenger_enterprise/helpers.rb +2 -0
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.install +3 -0
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.postinst +36 -0
- data/packaging/debian/debian_specs/passenger_enterprise/libapache2-mod-passenger-enterprise.prerm +15 -0
- data/packaging/debian/debian_specs/passenger_enterprise/locations.ini.erb +14 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-dev.install.erb +3 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise-doc.install.erb +2 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.docs +4 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.install.erb +14 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger-enterprise.manpages +3 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.conf +6 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger.load +3 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_free_ruby.c.erb +1 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_ruby_utils.c.erb +1 -0
- data/packaging/debian/debian_specs/passenger_enterprise/passenger_system_ruby.c.erb +1 -0
- data/packaging/debian/debian_specs/passenger_enterprise/patches/series +0 -0
- data/packaging/debian/debian_specs/passenger_enterprise/rules.erb +84 -0
- data/packaging/debian/debian_specs/passenger_enterprise/source/format +1 -0
- data/packaging/debian/docker_images/Makefile +38 -0
- data/packaging/debian/docker_images/buildbox/CONTAINER_VERSION.txt +0 -0
- data/packaging/debian/docker_images/buildbox/Dockerfile +3 -0
- data/packaging/debian/docker_images/buildbox/Gemfile +9 -0
- data/packaging/debian/docker_images/buildbox/Gemfile.lock +42 -0
- data/packaging/debian/docker_images/buildbox/install.sh +85 -0
- data/packaging/debian/docker_images/buildbox/pbuilderrc +4 -0
- data/packaging/debian/docker_images/buildbox/sudoers.conf +6 -0
- data/packaging/debian/docker_images/setup-buildbox-docker-image +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-6 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-7 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-debian-8 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-12.04 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-14.04 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.04 +7 -0
- data/packaging/debian/docker_images/setup-testbox-docker-image-ubuntu-15.10 +7 -0
- data/packaging/debian/docker_images/testbox-debian-6/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-debian-6/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-debian-6/argparse.py +2374 -0
- data/packaging/debian/docker_images/testbox-debian-6/install.sh +78 -0
- data/packaging/debian/docker_images/testbox-debian-7/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-debian-7/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-debian-7/install.sh +71 -0
- data/packaging/debian/docker_images/testbox-debian-8/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-debian-8/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-debian-8/install.sh +70 -0
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-ubuntu-12.04/install.sh +69 -0
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-ubuntu-14.04/install.sh +69 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.04/install.sh +69 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Dockerfile +3 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile +2 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/Gemfile.lock +23 -0
- data/packaging/debian/docker_images/testbox-ubuntu-15.10/install.sh +69 -0
- data/packaging/debian/internal/build/Rakefile +235 -0
- data/packaging/debian/internal/build/build-passenger-orig-tarball.sh +76 -0
- data/packaging/debian/internal/build/build-source-package.rb +121 -0
- data/packaging/debian/internal/build/download-nginx-orig-tarball.sh +17 -0
- data/packaging/debian/internal/build/rakefile_support.rb +96 -0
- data/packaging/debian/internal/build/setup-environment-essentials.sh +15 -0
- data/packaging/debian/internal/build/setup-environment.sh +29 -0
- data/packaging/debian/internal/lib/distro_info.rb +82 -0
- data/packaging/debian/internal/lib/distro_info.sh +303 -0
- data/packaging/debian/internal/lib/distro_info.sh.erb +65 -0
- data/packaging/debian/internal/lib/library.sh +83 -0
- data/packaging/debian/internal/lib/preprocessor.rb +173 -0
- data/packaging/debian/internal/lib/tracking.rb +95 -0
- data/packaging/debian/internal/lib/tracking_category.rb +45 -0
- data/packaging/debian/internal/lib/tracking_database.rb +132 -0
- data/packaging/debian/internal/lib/tracking_task.rb +148 -0
- data/packaging/debian/internal/lib/utils.rb +78 -0
- data/packaging/debian/internal/publish/Rakefile +97 -0
- data/packaging/debian/internal/publish/oss-binaries.phusionpassenger.com-fingerprint.txt +1 -0
- data/packaging/debian/internal/publish/packagecloud_fingerprint.txt +1 -0
- data/packaging/debian/internal/publish/passenger_website_fingerprint.txt +1 -0
- data/packaging/debian/internal/publish/preinit.sh +7 -0
- data/packaging/debian/internal/publish/rakefile_support.rb +183 -0
- data/packaging/debian/internal/scripts/gpg_noninteractive/gpg +11 -0
- data/packaging/debian/internal/scripts/initccache.sh +35 -0
- data/packaging/debian/internal/scripts/inituidgid.sh +19 -0
- data/packaging/debian/internal/scripts/my_init +340 -0
- data/packaging/debian/internal/scripts/pin_certificates +34 -0
- data/packaging/debian/internal/scripts/regen_distro_info_script.sh +3 -0
- data/packaging/debian/internal/scripts/setup-vagrant.sh +12 -0
- data/packaging/debian/internal/scripts/setuser +31 -0
- data/packaging/debian/internal/shell/initpbuilder.sh +3 -0
- data/packaging/debian/internal/shell/preinit.sh +28 -0
- data/packaging/debian/internal/shell/sudoers.conf +1 -0
- data/packaging/debian/internal/test/apache/apache-24.conf +5 -0
- data/packaging/debian/internal/test/apache/apache-pre-24.conf +4 -0
- data/packaging/debian/internal/test/apache/vhost.conf +17 -0
- data/packaging/debian/internal/test/misc/config.json +15 -0
- data/packaging/debian/internal/test/misc/hosts.conf +4 -0
- data/packaging/debian/internal/test/misc/init.sh +25 -0
- data/packaging/debian/internal/test/misc/nodejs_test_app.js +6 -0
- data/packaging/debian/internal/test/misc/python_test_app.py +3 -0
- data/packaging/debian/internal/test/misc/ruby_test_app.rb +5 -0
- data/packaging/debian/internal/test/misc/test_support.rb +61 -0
- data/packaging/debian/internal/test/nginx/vhost.conf +23 -0
- data/packaging/debian/internal/test/system_web_server_test.rb +126 -0
- data/packaging/debian/internal/test/test.sh +141 -0
- data/packaging/debian/jenkins/publish/clear_caches.rb +48 -0
- data/packaging/debian/jenkins/publish/publish.sh +69 -0
- data/packaging/debian/jenkins/test/test.sh +63 -0
- data/packaging/debian/passenger_apt_automation.sublime-project +14 -0
- data/packaging/debian/publish +172 -0
- data/packaging/debian/shell +116 -0
- data/packaging/debian/test +142 -0
- metadata +563 -3
- metadata.gz.asc +7 -7
- data/resources/oss-binaries.phusionpassenger.com.crt +0 -208
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2011-
|
3
|
+
* Copyright (c) 2011-2015 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -336,6 +336,9 @@ private:
|
|
336
336
|
"ruby_libdir: " + config->resourceLocator.getRubyLibDir() + "\n"
|
337
337
|
"passenger_version: " PASSENGER_VERSION "\n"
|
338
338
|
"generation_dir: " + generation->getPath() + "\n";
|
339
|
+
if (!details.options->groupSecret.empty()) {
|
340
|
+
data.append("connect_password: " + details.options->groupSecret + "\n");
|
341
|
+
}
|
339
342
|
|
340
343
|
vector<string> args;
|
341
344
|
vector<string>::const_iterator it, end;
|
data/ext/common/Constants.h
CHANGED
data/ext/nginx/ContentHandler.c
CHANGED
@@ -320,6 +320,18 @@ header_is_transfer_encoding(ngx_str_t *key)
|
|
320
320
|
ngx_strncasecmp(key->data + 1, (u_char *) "ransfer-encodin", sizeof("ransfer-encodin") - 1) == 0;
|
321
321
|
}
|
322
322
|
|
323
|
+
static int
|
324
|
+
header_contains_non_alphanumdash(ngx_str_t *key)
|
325
|
+
{
|
326
|
+
unsigned int i;
|
327
|
+
for (i = 0; i < key->len; i++) {
|
328
|
+
u_char c = key->data[i];
|
329
|
+
if (!(c >= 'a' && c <= 'z') && !(c >= 'A' && c <= 'Z') && !(c == '-') && !(c >= '0' && c <= '9')) {
|
330
|
+
return 1;
|
331
|
+
}
|
332
|
+
}
|
333
|
+
return 0;
|
334
|
+
}
|
323
335
|
|
324
336
|
static ngx_int_t
|
325
337
|
create_request(ngx_http_request_t *r)
|
@@ -490,7 +502,7 @@ create_request(ngx_http_request_t *r)
|
|
490
502
|
i = 0;
|
491
503
|
}
|
492
504
|
|
493
|
-
if (!header_is_transfer_encoding(&header[i].key)) {
|
505
|
+
if (!header_is_transfer_encoding(&header[i].key) && !header_contains_non_alphanumdash(&header[i].key)) {
|
494
506
|
len += sizeof("HTTP_") - 1 + header[i].key.len + 1
|
495
507
|
+ header[i].value.len + 1;
|
496
508
|
}
|
@@ -674,6 +686,10 @@ create_request(ngx_http_request_t *r)
|
|
674
686
|
i = 0;
|
675
687
|
}
|
676
688
|
|
689
|
+
if (header_contains_non_alphanumdash(&header[i].key)) {
|
690
|
+
continue;
|
691
|
+
}
|
692
|
+
|
677
693
|
if (header_is_transfer_encoding(&header[i].key)) {
|
678
694
|
continue;
|
679
695
|
}
|
data/lib/phusion_passenger.rb
CHANGED
@@ -30,10 +30,10 @@ module PhusionPassenger
|
|
30
30
|
|
31
31
|
PACKAGE_NAME = 'passenger'
|
32
32
|
# Run 'rake ext/common/Constants.h' after changing this number.
|
33
|
-
VERSION_STRING = '4.0.
|
33
|
+
VERSION_STRING = '4.0.60'
|
34
34
|
|
35
|
-
PREFERRED_NGINX_VERSION = '1.6.
|
36
|
-
NGINX_SHA256_CHECKSUM = '
|
35
|
+
PREFERRED_NGINX_VERSION = '1.6.3'
|
36
|
+
NGINX_SHA256_CHECKSUM = '0a98e95b366e4d6042f331e1fa4d70e18fd1e49d8993e589008e70e742b7e757'
|
37
37
|
|
38
38
|
PREFERRED_PCRE_VERSION = '8.34'
|
39
39
|
PCRE_SHA256_CHECKSUM = '1dd78994c81e44ac41cf30b2a21d4b4cc6d76ccde7fc6e77713ed51d7bddca47'
|
@@ -214,8 +214,7 @@ module PhusionPassenger
|
|
214
214
|
|
215
215
|
def self.binaries_sites
|
216
216
|
return [
|
217
|
-
{ :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release",
|
218
|
-
:cacert => "#{resources_dir}/oss-binaries.phusionpassenger.com.crt" },
|
217
|
+
{ :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release" },
|
219
218
|
{ :url => "https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release" }
|
220
219
|
]
|
221
220
|
end
|
@@ -2,7 +2,8 @@ define 'openssl-dev' do
|
|
2
2
|
name "OpenSSL development headers"
|
3
3
|
website "http://www.openssl.org/"
|
4
4
|
define_checker do
|
5
|
-
check_for_header('openssl/ssl.h'
|
5
|
+
check_for_header('openssl/ssl.h', :c,
|
6
|
+
PlatformInfo.openssl_extra_cflags)
|
6
7
|
end
|
7
8
|
|
8
9
|
on :debian do
|
@@ -19,7 +20,7 @@ define 'libcurl-dev' do
|
|
19
20
|
define_checker do
|
20
21
|
PhusionPassenger.require_passenger_lib 'platform_info/curl'
|
21
22
|
result = { :found => false }
|
22
|
-
|
23
|
+
|
23
24
|
if !(curl_config = PlatformInfo.find_command('curl-config'))
|
24
25
|
result[:error] = "Cannot find the `curl-config` command."
|
25
26
|
next result
|
@@ -65,7 +66,7 @@ define 'libcurl-dev' do
|
|
65
66
|
|
66
67
|
result
|
67
68
|
end
|
68
|
-
|
69
|
+
|
69
70
|
install_instructions "Please download Curl from <b>#{website}</b> " +
|
70
71
|
"and make sure you install it <b>with SSL support</b>."
|
71
72
|
on :debian do
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# Phusion Passenger - https://www.phusionpassenger.com/
|
2
|
+
# Copyright (c) 2015 Phusion Holding B.V.
|
3
|
+
#
|
4
|
+
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
5
|
+
# trademarks of Phusion Holding B.V.
|
6
|
+
#
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
8
|
+
# of this software and associated documentation files (the "Software"), to deal
|
9
|
+
# in the Software without restriction, including without limitation the rights
|
10
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11
|
+
# copies of the Software, and to permit persons to whom the Software is
|
12
|
+
# furnished to do so, subject to the following conditions:
|
13
|
+
#
|
14
|
+
# The above copyright notice and this permission notice shall be included in
|
15
|
+
# all copies or substantial portions of the Software.
|
16
|
+
#
|
17
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
23
|
+
# THE SOFTWARE.
|
24
|
+
|
25
|
+
PhusionPassenger.require_passenger_lib 'platform_info'
|
26
|
+
PhusionPassenger.require_passenger_lib 'platform_info/operating_system'
|
27
|
+
|
28
|
+
module PhusionPassenger
|
29
|
+
|
30
|
+
module PlatformInfo
|
31
|
+
def self.openssl_extra_cflags
|
32
|
+
if PlatformInfo.os_name == "macosx"
|
33
|
+
if File.exist?("/usr/include/openssl")
|
34
|
+
""
|
35
|
+
else
|
36
|
+
# OS X >= 10.11 El Capitan no longer include
|
37
|
+
# OpenSSL development headers. Use the one from
|
38
|
+
# Homebrew.
|
39
|
+
"-I/usr/local/opt/openssl/include"
|
40
|
+
end
|
41
|
+
else
|
42
|
+
""
|
43
|
+
end
|
44
|
+
end
|
45
|
+
memoize :openssl_extra_cflags
|
46
|
+
|
47
|
+
def self.openssl_extra_ldflags
|
48
|
+
if PlatformInfo.os_name == "macosx"
|
49
|
+
if File.exist?("/usr/include/openssl")
|
50
|
+
""
|
51
|
+
else
|
52
|
+
"-L/usr/local/opt/openssl/lib"
|
53
|
+
end
|
54
|
+
else
|
55
|
+
""
|
56
|
+
end
|
57
|
+
end
|
58
|
+
memoize :openssl_extra_ldflags
|
59
|
+
end
|
60
|
+
|
61
|
+
end # module PhusionPassenger
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
4
|
-
# Copyright (c) 2010-
|
4
|
+
# Copyright (c) 2010-2015 Phusion
|
5
5
|
#
|
6
6
|
# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
7
7
|
#
|
@@ -30,6 +30,7 @@ PhusionPassenger.require_passenger_lib 'packaging'
|
|
30
30
|
PhusionPassenger.require_passenger_lib 'common_library'
|
31
31
|
PhusionPassenger.require_passenger_lib 'platform_info'
|
32
32
|
PhusionPassenger.require_passenger_lib 'platform_info/ruby'
|
33
|
+
PhusionPassenger.require_passenger_lib 'platform_info/openssl'
|
33
34
|
PhusionPassenger.require_passenger_lib 'platform_info/binary_compatibility'
|
34
35
|
PhusionPassenger.require_passenger_lib 'standalone/utils'
|
35
36
|
PhusionPassenger.require_passenger_lib 'utils/tmpio'
|
@@ -89,7 +90,7 @@ class RuntimeInstaller < AbstractInstaller
|
|
89
90
|
raise ArgumentError, ":lib_dir must be given" if !@lib_dir
|
90
91
|
end
|
91
92
|
end
|
92
|
-
|
93
|
+
|
93
94
|
protected
|
94
95
|
def dependencies
|
95
96
|
specs = [
|
@@ -115,7 +116,7 @@ protected
|
|
115
116
|
].compact
|
116
117
|
return [specs, ids]
|
117
118
|
end
|
118
|
-
|
119
|
+
|
119
120
|
def users_guide_path
|
120
121
|
return PhusionPassenger.standalone_doc_path
|
121
122
|
end
|
@@ -179,7 +180,7 @@ private
|
|
179
180
|
if should_install_nginx?
|
180
181
|
nginx_binary_downloaded = download_nginx_binary
|
181
182
|
end
|
182
|
-
|
183
|
+
|
183
184
|
should_compile_support_binaries = should_install_support_binaries? &&
|
184
185
|
!support_binaries_downloaded
|
185
186
|
should_compile_nginx = should_install_nginx? && !nginx_binary_downloaded
|
@@ -238,7 +239,7 @@ private
|
|
238
239
|
puts " No binaries are available for your platform. Will compile them from source"
|
239
240
|
return false
|
240
241
|
end
|
241
|
-
|
242
|
+
|
242
243
|
FileUtils.mkdir_p(@support_dir)
|
243
244
|
Dir.mkdir("#{@working_dir}/support")
|
244
245
|
Dir.chdir("#{@working_dir}/support") do
|
@@ -333,7 +334,7 @@ private
|
|
333
334
|
end
|
334
335
|
end
|
335
336
|
nginx_sources_name = "nginx-#{@nginx_version}"
|
336
|
-
|
337
|
+
|
337
338
|
Dir.chdir(@working_dir) do
|
338
339
|
begin_progress_bar
|
339
340
|
begin
|
@@ -385,7 +386,7 @@ private
|
|
385
386
|
system "rm -rf '#{@support_dir}'/common/libboost_oxt"
|
386
387
|
system "rm -rf '#{@support_dir}'/*/{*.lo,*.h,*.log,Makefile,libtool,stamp-h1,config.status,.deps}"
|
387
388
|
system "rm -rf '#{@support_dir}'/{libeio,libev}/*.o"
|
388
|
-
|
389
|
+
|
389
390
|
# Retain only the object files that are needed for linking the Phusion Passenger module into Nginx.
|
390
391
|
nginx_libs = COMMON_LIBRARY.
|
391
392
|
only(*NGINX_LIBS_SELECTOR).
|
@@ -405,7 +406,7 @@ private
|
|
405
406
|
end
|
406
407
|
puts
|
407
408
|
end
|
408
|
-
|
409
|
+
|
409
410
|
def check_nginx_module_sources_available
|
410
411
|
if PhusionPassenger.natively_packaged? && !File.exist?(PhusionPassenger.nginx_module_source_dir)
|
411
412
|
case PhusionPassenger.native_packaging_method
|
@@ -454,14 +455,14 @@ private
|
|
454
455
|
ensure
|
455
456
|
File.unlink("#{dir}/__test__.txt") rescue nil
|
456
457
|
end
|
457
|
-
|
458
|
+
|
458
459
|
def show_progress(progress, total, phase, total_phases, status_text = "")
|
459
460
|
if !phase.is_a?(Range)
|
460
461
|
phase = phase..phase
|
461
462
|
end
|
462
463
|
total_progress = (phase.first - 1).to_f / total_phases
|
463
464
|
total_progress += (progress.to_f / total) * ((phase.last - phase.first + 1).to_f / total_phases)
|
464
|
-
|
465
|
+
|
465
466
|
max_width = 79
|
466
467
|
progress_bar_width = 45
|
467
468
|
text = sprintf("[%-#{progress_bar_width}s] %s",
|
@@ -482,24 +483,24 @@ private
|
|
482
483
|
end
|
483
484
|
@plugin.call_hook(:runtime_installer_progress, total_progress, status_text) if @plugin
|
484
485
|
end
|
485
|
-
|
486
|
+
|
486
487
|
def myself
|
487
488
|
return `whoami`.strip
|
488
489
|
end
|
489
|
-
|
490
|
+
|
490
491
|
def begin_progress_bar
|
491
492
|
if !@begun
|
492
493
|
@begun = true
|
493
494
|
puts "<banner>Installing #{PROGRAM_NAME} Standalone...</banner>"
|
494
495
|
end
|
495
496
|
end
|
496
|
-
|
497
|
+
|
497
498
|
def show_possible_solutions_for_download_and_extraction_problems
|
498
499
|
new_screen
|
499
500
|
render_template "standalone/possible_solutions_for_download_and_extraction_problems"
|
500
501
|
puts
|
501
502
|
end
|
502
|
-
|
503
|
+
|
503
504
|
def extract_tarball(filename)
|
504
505
|
File.open(filename, 'rb') do |f|
|
505
506
|
IO.popen("tar xzf -", "wb") do |io|
|
@@ -564,7 +565,7 @@ private
|
|
564
565
|
:logger => logger,
|
565
566
|
:use_cache => true)
|
566
567
|
end
|
567
|
-
|
568
|
+
|
568
569
|
def run_command_with_throbber(command, status_text)
|
569
570
|
backlog = ""
|
570
571
|
IO.popen("#{command} 2>&1", "r") do |io|
|
@@ -583,7 +584,7 @@ private
|
|
583
584
|
exit 1
|
584
585
|
end
|
585
586
|
end
|
586
|
-
|
587
|
+
|
587
588
|
def copy_files(files, target)
|
588
589
|
FileUtils.mkdir_p(target)
|
589
590
|
files.each_with_index do |filename, i|
|
@@ -596,15 +597,15 @@ private
|
|
596
597
|
yield(i + 1, files.size)
|
597
598
|
end
|
598
599
|
end
|
599
|
-
|
600
|
+
|
600
601
|
def rake
|
601
602
|
return PlatformInfo.rake_command
|
602
603
|
end
|
603
|
-
|
604
|
+
|
604
605
|
def run_rake_task!(target)
|
605
606
|
total_lines = `#{rake} #{target} --dry-run STDERR_TO_STDOUT=1`.split("\n").size - 1
|
606
607
|
backlog = ""
|
607
|
-
|
608
|
+
|
608
609
|
IO.popen("#{rake} #{target} --trace STDERR_TO_STDOUT=1", "r") do |io|
|
609
610
|
progress = 1
|
610
611
|
while !io.eof?
|
@@ -625,7 +626,7 @@ private
|
|
625
626
|
exit 1
|
626
627
|
end
|
627
628
|
end
|
628
|
-
|
629
|
+
|
629
630
|
def install_nginx_from_source(source_dir)
|
630
631
|
PhusionPassenger.require_passenger_lib 'platform_info/compiler'
|
631
632
|
Dir.chdir(source_dir) do
|
@@ -635,6 +636,8 @@ private
|
|
635
636
|
nginx_libs = COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
|
636
637
|
set_output_dir(lib_dir).
|
637
638
|
link_objects_as_string
|
639
|
+
extra_cflags = "-Wno-error #{PlatformInfo.openssl_extra_cflags}".strip
|
640
|
+
extra_ldflags = PlatformInfo.openssl_extra_ldflags
|
638
641
|
command << "env PASSENGER_INCLUDEDIR='#{PhusionPassenger.include_dir}' " <<
|
639
642
|
"PASSENGER_LIBS='#{nginx_libs} #{lib_dir}/../libboost_oxt.a' "
|
640
643
|
# RPM thinks it's being smart by scanning binaries for
|
@@ -647,11 +650,13 @@ private
|
|
647
650
|
# /tmp.
|
648
651
|
command << "#{shell} ./configure --prefix=/tmp " <<
|
649
652
|
"#{STANDALONE_NGINX_CONFIGURE_OPTIONS} " <<
|
653
|
+
"--with-cc-opt=#{Shellwords.escape extra_cflags} " <<
|
654
|
+
"--with-ld-opt=#{Shellwords.escape extra_ldflags} " <<
|
650
655
|
"'--add-module=#{PhusionPassenger.nginx_module_source_dir}'"
|
651
656
|
run_command_with_throbber(command, "Preparing web helper...") do |status_text|
|
652
657
|
yield(0, 1, status_text)
|
653
658
|
end
|
654
|
-
|
659
|
+
|
655
660
|
backlog = ""
|
656
661
|
|
657
662
|
# Capture and index the `make --dry-run` output for
|
@@ -683,7 +688,7 @@ private
|
|
683
688
|
@stderr.puts backlog
|
684
689
|
exit 1
|
685
690
|
end
|
686
|
-
|
691
|
+
|
687
692
|
yield(1, 1, 'Copying files...')
|
688
693
|
if !system("cp -pR objs/nginx '#{@nginx_dir}/PassengerWebHelper'")
|
689
694
|
@stderr.puts
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (c) 2013-2015 Phusion
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
@@ -0,0 +1,320 @@
|
|
1
|
+
# Phusion Passenger Debian packaging project
|
2
|
+
|
3
|
+
This repository contains Debian package definitions for [Phusion Passenger](https://www.phusionpassenger.com/), as well as tools for automatically building Passenger packages for multiple distributions and architectures.
|
4
|
+
|
5
|
+
The goal of this project is twofold:
|
6
|
+
|
7
|
+
1. To allow Phusion to release Debian packages for multiple distributions and architectures, immediately after a Passenger source release, in a completely automated manner.
|
8
|
+
2. To allow users to build their own Debian packages for Passenger, without having to wait for Phusion to do so.
|
9
|
+
|
10
|
+
> Are you a user who wants to build your own packages for a Passenger version that hasn't been released yet? Read [Tutorial: building your own packages](#tutorial-building-your-own-packages).
|
11
|
+
|
12
|
+
**Table of Contents**
|
13
|
+
|
14
|
+
* [Overview](#overview)
|
15
|
+
* [Development](#development)
|
16
|
+
* [Package building process](#package-building-process)
|
17
|
+
- [The build script](#the-build-script)
|
18
|
+
- [The test script](#the-test-script)
|
19
|
+
- [The publish script](#the-publish-script)
|
20
|
+
* [Maintenance](#maintenance)
|
21
|
+
- [Adding support for a new distribution](#adding-support-for-a-new-distribution)
|
22
|
+
- [Building Nginx packages only](#building-nginx-packages-only)
|
23
|
+
- [Updating SSL certificates](#updating-ssl-certificates)
|
24
|
+
* [Jenkins integration](#jenkins-integration)
|
25
|
+
- [Debugging a packaging test failure](#debugging-a-packaging-test-failure)
|
26
|
+
* [Tutorial: building your own packages](#tutorial-building-your-own-packages)
|
27
|
+
* [Related projects](#related-projects)
|
28
|
+
|
29
|
+
## Overview
|
30
|
+
|
31
|
+
This project consists of three major tools:
|
32
|
+
|
33
|
+
* **build** -- Given a Passenger source directory, this script builds Debian packages for it.
|
34
|
+
* **test** -- Given a directory with built Debian packages (as produced by the `build` script), this script runs tests against them.
|
35
|
+
* **publish** -- Given a directory with built Debian packages, this script publishes them to [PackageCloud](https://packagecloud.io/).
|
36
|
+
|
37
|
+
Debian package definitions are located in the `debian_specs` directory:
|
38
|
+
|
39
|
+
* `debian_specs/passenger` -- Package definitions for Passenger, open source edition.
|
40
|
+
* `debian_specs/passenger-enterprise` -- Package definitions for [Passenger Enterprise](https://www.phusionpassenger.com/enterprise).
|
41
|
+
* `debian_specs/nginx` -- Package definitions for Nginx, with Passenger compiled in.
|
42
|
+
|
43
|
+
Other noteworthy tools:
|
44
|
+
|
45
|
+
* `shell` -- Open a shell in the buildbox container for debugging purposes.
|
46
|
+
* `jenkins` -- Scripts to be run by our Jenkins continuous integration jobs, either after every commit or during release time.
|
47
|
+
|
48
|
+
This project utilizes Docker for isolation. Because of the usage of Docker, these tools can be run on any 64-bit Linux system, including non-Debian-based systems. Though in practice, we've only tested on Ubuntu.
|
49
|
+
|
50
|
+
## Development
|
51
|
+
|
52
|
+
This repository is included as a git submodule in the Passenger git repository, under the directory `packaging/debian`. Instead of cloning the `passenger_apt_automation` repository directly, you should clone the Passenger git repository, and work in the `packaging/debian` directory instead. This scheme allows each Passenger version to lock down to a specific version of `passenger_apt_automation`.
|
53
|
+
|
54
|
+
A Vagrantfile is provided so that you can develop this project in a VM. To get started, run:
|
55
|
+
|
56
|
+
host$ vagrant up
|
57
|
+
|
58
|
+
The Passenger source directory (`../..`) will be automatically mounted inside the VM under `/passenger`.
|
59
|
+
|
60
|
+
## Package building process
|
61
|
+
|
62
|
+
The package build process is as follows. First, the `build` script is used to build Debian packages from a Passenger source code directory. Next, either the `test` script is run to test the built packages, or the `publish` script is run to publish the built packages to PackageCloud.
|
63
|
+
|
64
|
+
build ------------> test
|
65
|
+
\
|
66
|
+
\-----> publish
|
67
|
+
|
68
|
+
### The build script
|
69
|
+
|
70
|
+
Everything begins with the `build` script and a copy of the Passenger source code. Here's an example invocation:
|
71
|
+
|
72
|
+
./build -p /passenger -w work -c cache -o output pkg:all
|
73
|
+
|
74
|
+
* `-p` tells it where the Passenger source code is.
|
75
|
+
* `-w` tells it where it's work directory is. This is a directory in which in stores temporary files while building packages. WARNING: everything inside this directory will be deleted before the build begins, so only specify a directory that doesn't contain anything important.
|
76
|
+
* `-c` tells it where the cache directory is. The build script caches files into this directory so that subsequent runs will be faster.
|
77
|
+
* `-o` tells it where to store the final built Debian packages (the output directory). WARNING: everything inside this directory will be deleted when the build finishes, so only specify a directory that doesn't contain anything important.
|
78
|
+
* The final argument, `pkg:all`, is the task that the build script must run. The build script provides a number of tasks, such as tasks for building packages for specific distributions or architecture only, or tasks for building source packages only. The `pkg:all` task builds all source and binary packages for all supported distributions and architectures.
|
79
|
+
|
80
|
+
More command line options are available. Run `./build -h` to learn more. You can also run `./build -T` to learn which tasks are available.
|
81
|
+
|
82
|
+
When the build script is finished, the output directory (`-o`) will contain one subdirectory per distribution that was built for, with each subdirectory containing packages for that distribution (in all architectures that were built for). For example:
|
83
|
+
|
84
|
+
output/
|
85
|
+
|
|
86
|
+
+-- trusty/
|
87
|
+
| |
|
88
|
+
| +-- *.deb
|
89
|
+
| |
|
90
|
+
| +-- *.dsc
|
91
|
+
|
|
92
|
+
+-- precise/
|
93
|
+
| |
|
94
|
+
| +-- *.deb
|
95
|
+
| |
|
96
|
+
| +-- *.dsc
|
97
|
+
|
|
98
|
+
...
|
99
|
+
|
100
|
+
#### Vagrant notes
|
101
|
+
|
102
|
+
When using Vagrant, the directories referred to by `-w` and `-c` must be native filesystem directories. That is, they may not be located inside /vagrant, because /vagrant is a remote filesystem. I typically use `-w ~/work -c ~/cache` when developing with Vagrant.
|
103
|
+
|
104
|
+
#### Troubleshooting
|
105
|
+
|
106
|
+
If anything goes wrong during a build, please take a look at the various log files in the work directory. Of interest are:
|
107
|
+
|
108
|
+
* state.log -- Overview.
|
109
|
+
* pkg.*.log -- Build logs for a specific package, distribution and architecture.
|
110
|
+
|
111
|
+
### The test script
|
112
|
+
|
113
|
+
Once packages have been built, you can test them with the test script. Here is an example invocation:
|
114
|
+
|
115
|
+
./test -p /passenger -x trusty -d output/trusty -c cache
|
116
|
+
|
117
|
+
* `-p` tells it where the Passenger source code is.
|
118
|
+
* `-x` tells it which distribution it should use for running the tests. To learn which distributions are supported, run `./test -h`.
|
119
|
+
* `-d` tells it where to find the packages that are to be tested. This must point to a subdirectory in the output directory produced by the build script, and the packages must match the test environment as specified by `-x`. For example, if you specified `-x trusty`, and if the build script stored packages in the directory `output`, then you should pass `-d output/trusty`.
|
120
|
+
* `-c` tells it where the cache directory is. The test script caches files into this directory so that subsequent runs will be faster.
|
121
|
+
|
122
|
+
#### Vagrant notes
|
123
|
+
|
124
|
+
When using Vagrant, the directory referred to by `-c` must be a native filesystem directory. That is, it may not be located inside /vagrant, because /vagrant is a remote filesystem. I typically use `-c ~/cache` when developing with Vagrant.
|
125
|
+
|
126
|
+
### The publish script
|
127
|
+
|
128
|
+
Once packages have been built, you can publish them to PackageCloud. The `publish` script publishes all packages inside a build script output directory. Example invocation:
|
129
|
+
|
130
|
+
./publish -d output -c ~/.packagecloud_token -r passenger-testing publish:all
|
131
|
+
|
132
|
+
* `-d` tells it where the build script output directory is.
|
133
|
+
* `-c` refers to a file that contains the PackageCloud security token.
|
134
|
+
* `-r` tells it the name of the PackageCloud repository. For example `passenger-5`, `passenger-testing`.
|
135
|
+
* The last argument is the task to run. The `publish:all` publishes all packages inside the build script output directory.
|
136
|
+
|
137
|
+
## Maintenance
|
138
|
+
|
139
|
+
### Adding support for a new distribution
|
140
|
+
|
141
|
+
There are three things you want to add support for a new distribution. In these instructions, we assume that the new distribution is Ubuntu 15.05 "wily". Update the actual parameters accordingly.
|
142
|
+
|
143
|
+
1. Rebuild the build box so that it has the latest distribution information:
|
144
|
+
|
145
|
+
./docker-images/setup-buildbox-docker-image
|
146
|
+
|
147
|
+
2. Add a definition for this new distribution to `internal/lib/distro_info.rb`.
|
148
|
+
|
149
|
+
* Add to either the `UBUNTU_DISTRIBUTIONS` or the `DEBIAN_DISTRIBUTIONS` constant.
|
150
|
+
* Add to the `DEFAULT_DISTROS` constant.
|
151
|
+
|
152
|
+
3. Run `./internal/scripts/regen_distro_info_script.sh`.
|
153
|
+
4. Update the package definitions in `debian_specs/`.
|
154
|
+
5. Build publish packages for this distribution only. You can do that by running the build script with the `-d` option.
|
155
|
+
|
156
|
+
For example:
|
157
|
+
|
158
|
+
./build -p /passenger -w work -c cache -o output -d wily pkg:all
|
159
|
+
|
160
|
+
6. Create a test box for this new distribution.
|
161
|
+
|
162
|
+
1. Create `docker_images/setup-testbox-docker-image-ubuntu-15.10`
|
163
|
+
2. Create `docker_images/testbox-ubuntu-15.10/`
|
164
|
+
3. Edit `docker_images/Makefile` and add entries for this new testbox.
|
165
|
+
4. Run `./docker_images/setup-testbox-docker-image-ubuntu-15.10`
|
166
|
+
|
167
|
+
When done, test Passenger under the new testbox:
|
168
|
+
|
169
|
+
./test -p /passenger -x wily -d output/wily -c cache
|
170
|
+
|
171
|
+
7. Commit and push all changes, then publish the new packages and the updated Docker images by running:
|
172
|
+
|
173
|
+
git add docker_images
|
174
|
+
git commit -a -m "Add support for Ubuntu 15.10 Wily"
|
175
|
+
git push
|
176
|
+
cd docker_images
|
177
|
+
make upload
|
178
|
+
|
179
|
+
8. On the Phusion CI server, pull the latest buildbox:
|
180
|
+
|
181
|
+
docker pull phusion/passenger_apt_automation_buildbox
|
182
|
+
|
183
|
+
### Building Nginx packages only
|
184
|
+
|
185
|
+
Sometimes you want to build Nginx packages only, without building the Phusion Passenger packages. You can do this by invoking the build script with the `pkg:nginx:all` task. For example:
|
186
|
+
|
187
|
+
./build -p /passenger -w work -c cache -o output -d wily pkg:nginx:all
|
188
|
+
|
189
|
+
After the build script finishes, you can publish these Nginx packages:
|
190
|
+
|
191
|
+
./publish -d output -c ~/.packagecloud_token -r passenger-testing publish:all
|
192
|
+
|
193
|
+
### Updating SSL certificates
|
194
|
+
|
195
|
+
The Jenkins publishing script posts to some HTTPS servers. For security reasons, we pin the certificates, but these certificates expire after a while. You can update them by running:
|
196
|
+
|
197
|
+
./internal/scripts/pin_certificates
|
198
|
+
|
199
|
+
## Jenkins integration
|
200
|
+
|
201
|
+
The `jenkins` directory contains scripts which are invoked from jobs in the Phusion Jenkins CI server.
|
202
|
+
|
203
|
+
### Debugging a packaging test failure
|
204
|
+
|
205
|
+
If a packaging test job fails, here's what you should do.
|
206
|
+
|
207
|
+
1. Checkout the Passenger source code, go to the commit for which the test failed, then cd into the packaging/debian directory.
|
208
|
+
|
209
|
+
git clone https://github.com/phusion/passenger.git
|
210
|
+
git reset --hard <COMMIT FOR WHICH THE TEST FAILED>
|
211
|
+
cd packaging/debian
|
212
|
+
|
213
|
+
2. If you're not on Linux, setup the Vagrant development environment and login to the VM:
|
214
|
+
|
215
|
+
vagrant up
|
216
|
+
vagrant ssh
|
217
|
+
|
218
|
+
3. Build packages for the distribution for which the test failed.
|
219
|
+
|
220
|
+
./build -w ~/work -c ~/cache -o ~/output -p /passenger -d wily -a amd64 -j 2 -R pkg:all
|
221
|
+
|
222
|
+
Be sure to customize the value passed to `-d` based on the distribution for which the test failed.
|
223
|
+
4. Run the tests with the debugging console enabled:
|
224
|
+
|
225
|
+
./test -p /passenger -x wily -d ~/output/wily -c ~/cache -D
|
226
|
+
|
227
|
+
Be sure to customize the values passed to `-x` and `-d` based on the distribution for which the test failed.
|
228
|
+
|
229
|
+
If the test fails now, a shell will be opened inside the test container, in which you can do anything you want. Please note that this is a root shell, but the tests are run as the `app` user, so be sure to prefix test commands with `setuser app`. You can see in internal/test/test.sh which commands are invoked inside the container in order to run the tests.
|
230
|
+
|
231
|
+
Inside the test container, you will be dropped into the directory /tmp/passenger, which is a *copy* of the Passenger source directory. The original Passenger source directory is mounted under /passenger.
|
232
|
+
|
233
|
+
## Tutorial: building your own packages
|
234
|
+
|
235
|
+
Are you a user who wants to build Debian packages for a Passenger version that hasn't been released yet? Maybe because you want to gain access to a bug fix that isn't part of a release yet? Then this tutorial is for you.
|
236
|
+
|
237
|
+
You can follow this tutorial on any OS you want. You do not necessarily have to follow this tutorial on the OS you wish to build packages for. For example, it is possible to build packages for Ubuntu 14.04 while following this tutorial on OS X.
|
238
|
+
|
239
|
+
### Prerequisites
|
240
|
+
|
241
|
+
If you are following this tutorial on a Linux system, then you must [install Docker](https://www.docker.com/).
|
242
|
+
|
243
|
+
If you are following this tutorial on any other OS, then you must install [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/).
|
244
|
+
|
245
|
+
NOTE: If you are on OS X, installing boot2docker is NOT enough. You MUST use Vagrant+VirtualBox.
|
246
|
+
|
247
|
+
### Step 1: Checkout out the desired source code
|
248
|
+
|
249
|
+
First, clone the Passenger git repository and its submodules:
|
250
|
+
|
251
|
+
git clone git://github.com/phusion/passenger.git
|
252
|
+
cd passenger
|
253
|
+
git submodule update --init --recursive
|
254
|
+
|
255
|
+
Checkout the branch you want. At the time of writing (2015 May 13), you will most likely be interested in the `stable-5.0` branch because that's the branch that is slated to become the next release version.
|
256
|
+
|
257
|
+
git checkout stable-5.0
|
258
|
+
|
259
|
+
Then go to the directory `packaging/debian`:
|
260
|
+
|
261
|
+
cd packaging/debian
|
262
|
+
|
263
|
+
### Step 2 (non-Linux): spin up Vagrant VM
|
264
|
+
|
265
|
+
If you are on a Linux system, then you can skip to step 3.
|
266
|
+
|
267
|
+
If you are not on a Linux system, then you must spin up the Vagrant VM. Type:
|
268
|
+
|
269
|
+
vagrant up
|
270
|
+
|
271
|
+
Wait until the VM has booted, then run:
|
272
|
+
|
273
|
+
vagrant ssh
|
274
|
+
|
275
|
+
You will now be dropped in an SSH session inside the VM. Any futher steps must be followed inside this SSH session.
|
276
|
+
|
277
|
+
### Step 3: build packages
|
278
|
+
|
279
|
+
Use the `./build` script to build packages. You must tell the build script which distribution and architecture it should build for. Run:
|
280
|
+
|
281
|
+
./build -p <PATH TO PASSENGER> -w ~/work -c ~/cache -o output -a <ARCHITECTURE> -d <DISTRIBUTION> pkg:all
|
282
|
+
|
283
|
+
Replace `<PATH TO PASSENGER>` with one of these:
|
284
|
+
|
285
|
+
* If you are on a Linux system, it should be `../..`.
|
286
|
+
* If you are on a non-Linux system (and using Vagrant), it should be `/passenger`.
|
287
|
+
|
288
|
+
Replace `<ARCHITECTURE>` with either `i386` or `amd64`. Replace `<DISTRIBUTION>` with the codename of the distribution you want to build for. For example:
|
289
|
+
|
290
|
+
* `precise` -- Ubuntu 12.04
|
291
|
+
* `trusty` -- Ubuntu 14.04
|
292
|
+
* `wheezy` -- Debian 7
|
293
|
+
* `jessie` -- Debian 8
|
294
|
+
|
295
|
+
You can find the codename of your distribution version on Wikipedia: [Ubuntu codenames](http://en.wikipedia.org/wiki/Debian#Release_timeline), [Debian codenames](http://en.wikipedia.org/wiki/Ubuntu_(operating_system)#Releases).
|
296
|
+
|
297
|
+
Here is an example invocation for building packages for Ubuntu 14.04, x86_64:
|
298
|
+
|
299
|
+
```bash
|
300
|
+
# If you are on a Linux system:
|
301
|
+
./build -p ../.. -w ~/work -c ~/cache -o output -a amd64 -d trusty pkg:all
|
302
|
+
|
303
|
+
# If you are on a non-Linux system (and using Vagrant):
|
304
|
+
./build -p /passenger -w ~/work -c ~/cache -o output -a amd64 -d trusty pkg:all
|
305
|
+
```
|
306
|
+
|
307
|
+
### Step 4: get packages, clean up
|
308
|
+
|
309
|
+
When the build is finished, you can find the packages in the `output` directory.
|
310
|
+
|
311
|
+
If you are on a non-Linux OS (and thus using Vagrant), you should know that this `output` directory is accessible from your host OS too. It is a subdirectory inside `<PASSENGER REPO>/packaging/debian`.
|
312
|
+
|
313
|
+
If you are not on a Linux system, then you should spin down the Vagrant VM. Run this on your host OS, inside the `packaging/debian` subdirectory:
|
314
|
+
|
315
|
+
vagrant halt
|
316
|
+
|
317
|
+
## Related projects
|
318
|
+
|
319
|
+
* https://github.com/phusion/passenger_autobuilder
|
320
|
+
* https://github.com/phusion/passenger_rpm_automation
|