summaryrefslogtreecommitdiff
path: root/community/passenger
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-05-20 09:26:44 +0200
committerMichał Masłowski <mtjm@mtjm.eu>2012-05-20 09:26:44 +0200
commit39c366b9fc1b83a741177d0b415a20147a18a3c0 (patch)
tree24b520a26e042f10306b53e0fb579bab6343132b /community/passenger
parent6d3d853af3b9042559c2d86a7e3907f97921fb28 (diff)
parentaad2fba0fc475162b566f1577d8e7a020cd9e80d (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community/libcss/PKGBUILD extra/kdenetwork/PKGBUILD extra/xorg-server/PKGBUILD testing/openmpi/PKGBUILD testing/xf86-video-ati/PKGBUILD testing/xorg-server/PKGBUILD
Diffstat (limited to 'community/passenger')
-rw-r--r--community/passenger/PKGBUILD24
-rw-r--r--community/passenger/build-fix-git-2012-05-17.diff547
2 files changed, 561 insertions, 10 deletions
diff --git a/community/passenger/PKGBUILD b/community/passenger/PKGBUILD
index 220375dc6..38fa509ea 100644
--- a/community/passenger/PKGBUILD
+++ b/community/passenger/PKGBUILD
@@ -1,26 +1,30 @@
-# $Id: PKGBUILD 67809 2012-03-14 13:50:13Z spupykin $
+# $Id: PKGBUILD 70838 2012-05-17 15:56:46Z spupykin $
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
pkgname=passenger
-pkgver=3.0.11
-pkgrel=2
-_pkgdlnr=75548
+pkgver=3.0.12
+pkgrel=1
+_pkgdlnr=76005
pkgdesc="mod_rails passenger"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.modrails.com"
license=('GPL')
-depends=('apache' 'ruby' 'ruby-rack' 'curl')
+depends=('ruby' 'ruby-rack' 'curl')
+makedepends=('apache')
install=passenger.install
options=('!emptydirs')
source=(http://rubyforge.org/frs/download.php/${_pkgdlnr}/passenger-$pkgver.tar.gz
- passenger-install-apache2-module.patch)
-md5sums=('9186d799e065ccad803cbc0289954f40'
- '3d04eba10c55a955c378678d5df8497f')
+ passenger-install-apache2-module.patch
+ build-fix-git-2012-05-17.diff)
+md5sums=('fedcf948a46b76e00ddd25527dac4b6d'
+ '3d04eba10c55a955c378678d5df8497f'
+ 'e2d3409bae3676232f411f03abac440c')
build(){
cd $srcdir/passenger-$pkgver
- patch bin/passenger-install-apache2-module <$srcdir/passenger-install-apache2-module.patch
- ./bin/passenger-install-apache2-module
+# patch bin/passenger-install-apache2-module <$srcdir/passenger-install-apache2-module.patch
+ patch -p1 <$srcdir/build-fix-git-2012-05-17.diff
+ ./bin/passenger-install-apache2-module -a
rake nginx
mkdir -p $pkgdir/usr/lib/passenger/
diff --git a/community/passenger/build-fix-git-2012-05-17.diff b/community/passenger/build-fix-git-2012-05-17.diff
new file mode 100644
index 000000000..b9aa6b538
--- /dev/null
+++ b/community/passenger/build-fix-git-2012-05-17.diff
@@ -0,0 +1,547 @@
+diff -wbBur passenger-3.0.12/bin/passenger-install-nginx-module passenger.git/bin/passenger-install-nginx-module
+--- passenger-3.0.12/bin/passenger-install-nginx-module 2012-04-13 12:09:57.000000000 +0400
++++ passenger.git/bin/passenger-install-nginx-module 2012-05-17 19:35:01.000000000 +0400
+@@ -162,7 +162,7 @@
+ new_screen
+ color_puts "<banner>PCRE (required by Nginx) not installed, downloading it...</banner>"
+
+- url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-#{PREFERRED_PCRE_VERSION}.tar.gz"
++ url = "http://downloads.sourceforge.net/project/pcre/pcre/#{PREFERRED_PCRE_VERSION}/pcre-#{PREFERRED_PCRE_VERSION}.tar.gz"
+ dirname = "pcre-#{PREFERRED_PCRE_VERSION}"
+ tarball = "#{@working_dir}/pcre.tar.gz"
+
+diff -wbBur passenger-3.0.12/build/basics.rb passenger.git/build/basics.rb
+--- passenger-3.0.12/build/basics.rb 2012-04-13 12:09:57.000000000 +0400
++++ passenger.git/build/basics.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -33,7 +33,6 @@
+ require 'phusion_passenger/platform_info/curl'
+ require 'phusion_passenger/platform_info/zlib'
+ require 'phusion_passenger/platform_info/compiler'
+-require 'phusion_passenger/platform_info/documentation_tools'
+
+ include PhusionPassenger
+ include PhusionPassenger::PlatformInfo
+diff -wbBur passenger-3.0.12/build/documentation.rb passenger.git/build/documentation.rb
+--- passenger-3.0.12/build/documentation.rb 2012-02-04 02:25:41.000000000 +0400
++++ passenger.git/build/documentation.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -1,5 +1,5 @@
+ # Phusion Passenger - http://www.modrails.com/
+-# Copyright (c) 2010 Phusion
++# Copyright (c) 2010, 2011, 2012 Phusion
+ #
+ # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
+ #
+@@ -21,25 +21,34 @@
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ # THE SOFTWARE.
+
+-ASCIIDOC_FLAGS = "-b html5 -a toc -a theme=flask -a numbered -a toclevels=3 -a icons"
+-
+ desc "Generate all documentation"
+ task :doc => Packaging::ASCII_DOCS
+
+ Packaging::ASCII_DOCS.each do |target|
+ source = target.sub(/\.html$/, '.txt')
+ file target => [source] + Dir["doc/users_guide_snippets/**/*"] do
+- if PlatformInfo.asciidoc
++ if PlatformInfo.find_command('mizuho')
+ if target =~ /apache/i
+- type = "-a apache"
++ type = "apache"
++ juvia_site_key = "5jpmkyjqlml8rktsfldfpbwth8ig7w9"
+ elsif target =~ /nginx/i
+- type = "-a nginx"
++ type = "nginx"
++ juvia_site_key = "q0ptarhn8o9xanwomq8zkgewbtwffyz"
++ elsif target =~ /standalone/i
++ type = nil
++ juvia_site_key = "amggdy0k65hb4hbjg3dh7pnb9zd8dwy"
+ else
+ type = nil
++ juvia_site_key = nil
++ end
++ command = "mizuho '#{source}'"
++ command << " -a #{type}" if type
++ if juvia_site_key
++ command << " -c juvia --juvia-url http://juvia.phusion.nl --juvia-site-key #{juvia_site_key}"
+ end
+- sh "#{PlatformInfo.asciidoc} #{ASCIIDOC_FLAGS} #{type} '#{source}'"
++ sh(command)
+ else
+- sh "echo 'asciidoc required to build docs' > '#{target}'"
++ sh "echo 'Mizuho required to build docs' > '#{target}'"
+ end
+ end
+
+diff -wbBur passenger-3.0.12/build/packaging.rb passenger.git/build/packaging.rb
+--- passenger-3.0.12/build/packaging.rb 2012-02-04 02:25:41.000000000 +0400
++++ passenger.git/build/packaging.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -1,5 +1,5 @@
+ # Phusion Passenger - http://www.modrails.com/
+-# Copyright (c) 2010 Phusion
++# Copyright (c) 2010, 2011, 2012 Phusion
+ #
+ # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
+ #
+@@ -42,7 +42,7 @@
+ s.require_paths = ["lib"]
+ s.add_dependency 'rake', '>= 0.8.1'
+ s.add_dependency 'fastthread', '>= 1.0.1'
+- s.add_dependency 'daemon_controller', '>= 0.2.5'
++ s.add_dependency 'daemon_controller', '>= 1.0.0'
+ s.add_dependency 'rack'
+ s.files = FileList[*Packaging::GLOB] - FileList[*Packaging::EXCLUDE_GLOB]
+ s.executables = Packaging::USER_EXECUTABLES + Packaging::SUPER_USER_EXECUTABLES
+diff -wbBur passenger-3.0.12/DEVELOPERS.TXT passenger.git/DEVELOPERS.TXT
+--- passenger-3.0.12/DEVELOPERS.TXT 2012-04-13 12:09:57.000000000 +0400
++++ passenger.git/DEVELOPERS.TXT 2012-05-17 19:35:01.000000000 +0400
+@@ -13,6 +13,7 @@
+ * rspec >= 1.1.2
+ * mime-types >= 1.15
+ * sqlite3-ruby
++* daemon_controller >= 1.0.0
+
+ The following software is optional:
+
+diff -wbBur passenger-3.0.12/doc/Users guide Apache.txt passenger.git/doc/Users guide Apache.txt
+--- passenger-3.0.12/doc/Users guide Apache.txt 2012-02-04 02:25:41.000000000 +0400
++++ passenger.git/doc/Users guide Apache.txt 2012-05-17 19:35:01.000000000 +0400
+@@ -203,15 +203,7 @@
+
+ ==== Installing via a native Linux package ====
+
+-John Leach from Brightbox has kindly provided an Ubuntu Hardy package for Phusion Passenger. The package is available from the link:http://apt.brightbox.net[Brightbox repository].
+-
+-Please install the native Linux package, e.g.:
+-------------------------------------------------------
+-sudo sh -c 'echo "deb http://apt.brightbox.net hardy main" > /etc/apt/sources.list.d/brightbox.list'
+-sudo sh -c 'wget -q -O - http://apt.brightbox.net/release.asc | apt-key add -'
+-sudo apt-get update
+-sudo apt-get install libapache2-mod-passenger
+-------------------------------------------------------
++John Leach from Brightbox has kindly provided a Ubuntu packages for Phusion Passenger. The package is available from the link:http://wiki.brightbox.co.uk/docs:phusion-passenger[Brightbox repository].
+
+ ==== What does the installer do? ====
+
+@@ -635,7 +627,7 @@
+ Allow from all
+ </Directory>
+
+- RackBaseURI /rails # <-- These lines have
++ RackBaseURI /rack # <-- These lines have
+ <Directory /websites/phusion/rails> # <-- been added.
+ Options -MultiViews # <--
+ </Directory> # <--
+diff -wbBur passenger-3.0.12/ext/boost/config/stdlib/libstdcpp3.hpp passenger.git/ext/boost/config/stdlib/libstdcpp3.hpp
+--- passenger-3.0.12/ext/boost/config/stdlib/libstdcpp3.hpp 2012-02-04 02:25:42.000000000 +0400
++++ passenger.git/ext/boost/config/stdlib/libstdcpp3.hpp 2012-05-17 19:35:01.000000000 +0400
+@@ -31,7 +31,8 @@
+
+ #ifdef __GLIBCXX__ // gcc 3.4 and greater:
+ # if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
+- || defined(_GLIBCXX__PTHREADS)
++ || defined(_GLIBCXX__PTHREADS) \
++ || defined(_GLIBCXX_HAS_GTHREADS)
+ //
+ // If the std lib has thread support turned on, then turn it on in Boost
+ // as well. We do this because some gcc-3.4 std lib headers define _REENTANT
+diff -wbBur passenger-3.0.12/ext/boost/exception/detail/error_info_impl.hpp passenger.git/ext/boost/exception/detail/error_info_impl.hpp
+--- passenger-3.0.12/ext/boost/exception/detail/error_info_impl.hpp 2012-02-04 02:25:42.000000000 +0400
++++ passenger.git/ext/boost/exception/detail/error_info_impl.hpp 2012-05-17 19:35:01.000000000 +0400
+@@ -30,7 +30,7 @@
+
+ protected:
+
+- ~error_info_base() throw()
++ virtual ~error_info_base() throw()
+ {
+ }
+ };
+diff -wbBur passenger-3.0.12/ext/common/StaticString.h passenger.git/ext/common/StaticString.h
+--- passenger-3.0.12/ext/common/StaticString.h 2012-04-13 12:09:57.000000000 +0400
++++ passenger.git/ext/common/StaticString.h 2012-05-17 19:35:01.000000000 +0400
+@@ -25,6 +25,7 @@
+ #ifndef _PASSENGER_STATIC_STRING_H_
+ #define _PASSENGER_STATIC_STRING_H_
+
++#include <sys/types.h>
+ #include <string>
+ #include <cstring>
+ #include <cstddef>
+diff -wbBur passenger-3.0.12/ext/common/Watchdog.cpp passenger.git/ext/common/Watchdog.cpp
+--- passenger-3.0.12/ext/common/Watchdog.cpp 2012-04-13 12:09:57.000000000 +0400
++++ passenger.git/ext/common/Watchdog.cpp 2012-05-17 19:35:01.000000000 +0400
+@@ -975,7 +975,7 @@
+ } else if (pid == -1) {
+ // Error
+ e = errno;
+- throw SystemException("fork() failed", errno);
++ throw SystemException("fork() failed", e);
+
+ } else {
+ // Parent
+diff -wbBur passenger-3.0.12/ext/nginx/Configuration.c passenger.git/ext/nginx/Configuration.c
+--- passenger-3.0.12/ext/nginx/Configuration.c 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/ext/nginx/Configuration.c 2012-05-17 19:35:01.000000000 +0400
+@@ -1,7 +1,7 @@
+ /*
+ * Copyright (C) Igor Sysoev
+ * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
+- * Copyright (C) 2010 Phusion
++ * Copyright (C) 2010, 2011, 2012 Phusion
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+@@ -335,6 +335,14 @@
+ conf->upstream_config.pass_request_headers = NGX_CONF_UNSET;
+ conf->upstream_config.pass_request_body = NGX_CONF_UNSET;
+
++#if (NGX_HTTP_CACHE)
++ conf->upstream_config.cache = NGX_CONF_UNSET_PTR;
++ conf->upstream_config.cache_min_uses = NGX_CONF_UNSET_UINT;
++ conf->upstream_config.cache_bypass = NGX_CONF_UNSET_PTR;
++ conf->upstream_config.no_cache = NGX_CONF_UNSET_PTR;
++ conf->upstream_config.cache_valid = NGX_CONF_UNSET_PTR;
++#endif
++
+ conf->upstream_config.intercept_errors = NGX_CONF_UNSET;
+
+ conf->upstream_config.cyclic_temp_file = 0;
+@@ -511,8 +519,8 @@
+
+ if (conf->upstream_config.busy_buffers_size < size) {
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+- "\"passenger_busy_buffers_size\" must be equal or bigger than "
+- "maximum of the value of \"passenger_buffer_size\" and "
++ "\"passenger_busy_buffers_size\" must be equal to or greater "
++ "than the maximum of the value of \"passenger_buffer_size\" and "
+ "one of the \"passenger_buffers\"");
+
+ return NGX_CONF_ERROR;
+@@ -542,8 +550,8 @@
+
+ if (conf->upstream_config.temp_file_write_size < size) {
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+- "\"passenger_temp_file_write_size\" must be equal or bigger than "
+- "maximum of the value of \"passenger_buffer_size\" and "
++ "\"passenger_temp_file_write_size\" must be equal to or greater than "
++ "the maximum of the value of \"passenger_buffer_size\" and "
+ "one of the \"passenger_buffers\"");
+
+ return NGX_CONF_ERROR;
+@@ -566,8 +574,8 @@
+ {
+ ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+ "\"passenger_max_temp_file_size\" must be equal to zero to disable "
+- "the temporary files usage or must be equal or bigger than "
+- "maximum of the value of \"passenger_buffer_size\" and "
++ "temporary files usage or must be equal to or greater than "
++ "the maximum of the value of \"passenger_buffer_size\" and "
+ "one of the \"passenger_buffers\"");
+
+ return NGX_CONF_ERROR;
+@@ -639,6 +647,14 @@
+ conf->cache_key = prev->cache_key;
+ }
+
++ #if NGINX_VERSION_NUM >= 1002000
++ ngx_conf_merge_value(conf->upstream_config.cache_lock,
++ prev->upstream_config.cache_lock, 0);
++
++ ngx_conf_merge_msec_value(conf->upstream_config.cache_lock_timeout,
++ prev->upstream_config.cache_lock_timeout, 5000);
++ #endif
++
+ #endif
+
+ ngx_conf_merge_value(conf->upstream_config.pass_request_headers,
+@@ -1273,7 +1289,7 @@
+ NULL },
+
+ { ngx_string("passenger_pass_header"),
+- NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_FLAG,
++ NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
+ ngx_conf_set_str_array_slot,
+ NGX_HTTP_LOC_CONF_OFFSET,
+ offsetof(passenger_loc_conf_t, upstream_config.pass_headers),
+diff -wbBur passenger-3.0.12/ext/nginx/ContentHandler.c passenger.git/ext/nginx/ContentHandler.c
+--- passenger-3.0.12/ext/nginx/ContentHandler.c 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/ext/nginx/ContentHandler.c 2012-05-17 19:35:01.000000000 +0400
+@@ -1,7 +1,7 @@
+ /*
+ * Copyright (C) Igor Sysoev
+ * Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
+- * Copyright (C) 2010 Phusion
++ * Copyright (C) 2010, 2011, 2012 Phusion
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+@@ -387,8 +387,8 @@
+ app_type_string_len = sizeof("wsgi");
+ break;
+ default:
+- app_type_string = (const u_char *) "rails";
+- app_type_string_len = sizeof("rails");
++ app_type_string = (const u_char *) "rack";
++ app_type_string_len = sizeof("rack");
+ break;
+ }
+
+@@ -931,7 +931,7 @@
+ context = ngx_http_get_module_ctx(r, ngx_http_passenger_module);
+
+ if (context == NULL) {
+- return NGX_HTTP_INTERNAL_SERVER_ERROR;
++ return NGX_ERROR;
+ }
+
+ rc = parse_status_line(r, context);
+@@ -952,7 +952,6 @@
+ }
+ #endif
+
+- r->http_version = NGX_HTTP_VERSION_9;
+ u->headers_in.status_n = NGX_HTTP_OK;
+ u->state->status = NGX_HTTP_OK;
+
+@@ -966,7 +965,7 @@
+ u->headers_in.status_line.data = ngx_palloc(r->pool,
+ u->headers_in.status_line.len);
+ if (u->headers_in.status_line.data == NULL) {
+- return NGX_HTTP_INTERNAL_SERVER_ERROR;
++ return NGX_ERROR;
+ }
+
+ ngx_memcpy(u->headers_in.status_line.data, context->status_start,
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/dependencies.rb passenger.git/lib/phusion_passenger/dependencies.rb
+--- passenger-3.0.12/lib/phusion_passenger/dependencies.rb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/dependencies.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -1,5 +1,5 @@
+ # Phusion Passenger - http://www.modrails.com/
+-# Copyright (c) 2010 Phusion
++# Copyright (c) 2010, 2011, 2012 Phusion
+ #
+ # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
+ #
+@@ -29,7 +29,6 @@
+ require 'phusion_passenger/platform_info/ruby'
+ require 'phusion_passenger/platform_info/linux'
+ require 'phusion_passenger/platform_info/curl'
+-require 'phusion_passenger/platform_info/documentation_tools'
+
+ module PhusionPassenger
+
+@@ -110,9 +109,9 @@
+ return (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") && RUBY_VERSION < "1.8.7"
+ end
+
+- # Returns whether asciidoc is required in order to be able to package all files
++ # Returns whether Mizuho is required in order to be able to package all files
+ # in the packaging list.
+- def self.asciidoc_required?
++ def self.mizuho_required?
+ return Packaging::ASCII_DOCS.any? do |fn|
+ !File.exist?("#{SOURCE_ROOT}/#{fn}")
+ end
+@@ -579,7 +578,7 @@
+ end
+
+ Daemon_Controller = Dependency.new do |dep|
+- dep.name = "daemon_controller >= 0.2.5"
++ dep.name = "daemon_controller >= 1.0.0"
+ dep.install_instructions = "Please install RubyGems first, then run " <<
+ "<b>#{PlatformInfo.gem_command || "gem"} install daemon_controller</b>"
+ dep.define_checker do |result|
+@@ -591,7 +590,7 @@
+ require 'daemon_controller'
+ begin
+ require 'daemon_controller/version'
+- too_old = DaemonController::VERSION_STRING < '0.2.5'
++ too_old = DaemonController::VERSION_STRING < '1.0.0'
+ rescue LoadError
+ too_old = true
+ end
+@@ -610,23 +609,18 @@
+ end
+ end
+
+- AsciiDoc = Dependency.new do |dep|
+- dep.name = "Asciidoc"
++ Mizuho = Dependency.new do |dep|
++ dep.name = "Mizuho"
+ dep.define_checker do |result|
+- if PlatformInfo.asciidoc.nil?
++ mizuho = PlatformInfo.find_command('mizuho')
++ if mizuho.nil?
+ result.not_found
+ else
+- result.found(PlatformInfo.asciidoc)
++ result.found(mizuho)
+ end
+ end
+- if RUBY_PLATFORM =~ /darwin/
+- # Installing asciidoc with source-highlight is too much of a pain on OS X,
+- # so recommend Mizuho instead.
+ dep.website = "http://github.com/FooBarWidget/mizuho"
+ dep.install_instructions = "Please install RubyGems first, then run <b>#{PlatformInfo.gem_command || "gem"} install mizuho</b>"
+- else
+- dep.website = "http://www.methods.co.nz/asciidoc/"
+- end
+ end
+ end
+
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/standalone/command.rb passenger.git/lib/phusion_passenger/standalone/command.rb
+--- passenger-3.0.12/lib/phusion_passenger/standalone/command.rb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/standalone/command.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -1,5 +1,5 @@
+ # Phusion Passenger - http://www.modrails.com/
+-# Copyright (c) 2010 Phusion
++# Copyright (c) 2010, 2011, 2012 Phusion
+ #
+ # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
+ #
+@@ -61,13 +61,13 @@
+ require 'daemon_controller'
+ begin
+ require 'daemon_controller/version'
+- too_old = DaemonController::VERSION_STRING < '0.2.5'
++ too_old = DaemonController::VERSION_STRING < '1.0.0'
+ rescue LoadError
+ too_old = true
+ end
+ if too_old
+ error "Your version of daemon_controller is too old. " <<
+- "You must install 0.2.5 or later. Please upgrade:\n\n" <<
++ "You must install 1.0.0 or later. Please upgrade:\n\n" <<
+
+ " sudo gem uninstall FooBarWidget-daemon_controller\n" <<
+ " sudo gem install daemon_controller"
+@@ -210,24 +210,21 @@
+ end
+ end
+
+- def ping_nginx
+- require 'socket' unless defined?(UNIXSocket)
+- if @options[:socket_file]
+- UNIXSocket.new(@options[:socket_file])
+- else
+- TCPSocket.new(@options[:address], nginx_ping_port)
+- end
+- end
+-
+ def create_nginx_controller(extra_options = {})
+ require_daemon_controller
++ require 'socket' unless defined?(UNIXSocket)
+ @temp_dir = "/tmp/passenger-standalone.#{$$}"
+ @config_filename = "#{@temp_dir}/config"
++ if @options[:socket_file]
++ ping_spec = [:unix, @options[:socket_file]]
++ else
++ ping_spec = [:tcp, @options[:address], nginx_ping_port]
++ end
+ opts = {
+ :identifier => 'Nginx',
+ :before_start => method(:write_nginx_config_file),
+ :start_command => method(:determine_nginx_start_command),
+- :ping_command => method(:ping_nginx),
++ :ping_command => ping_spec,
+ :pid_file => @options[:pid_file],
+ :log_file => @options[:log_file],
+ :timeout => 25
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/standalone/runtime_installer.rb passenger.git/lib/phusion_passenger/standalone/runtime_installer.rb
+--- passenger-3.0.12/lib/phusion_passenger/standalone/runtime_installer.rb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/standalone/runtime_installer.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -91,8 +91,8 @@
+ if Dependencies.fastthread_required?
+ result << Dependencies::FastThread
+ end
+- if Dependencies.asciidoc_required?
+- result << Dependencies::AsciiDoc
++ if Dependencies.mizuho_required?
++ result << Dependencies::Mizuho
+ end
+ return result
+ end
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/standalone/start_command.rb passenger.git/lib/phusion_passenger/standalone/start_command.rb
+--- passenger-3.0.12/lib/phusion_passenger/standalone/start_command.rb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/standalone/start_command.rb 2012-05-17 19:35:01.000000000 +0400
+@@ -243,15 +243,32 @@
+ end
+ end
+
+- def check_port_availability
+- if !@options[:socket_file]
++ def check_port(address, port)
++ begin
++ socket = Socket.new(Socket::Constants::AF_INET, Socket::Constants::SOCK_STREAM, 0)
++ sockaddr = Socket.pack_sockaddr_in(port, address)
++ begin
++ socket.connect_nonblock(sockaddr)
++ rescue Errno::ENOENT, Errno::EINPROGRESS, Errno::EAGAIN, Errno::EWOULDBLOCK
++ if select(nil, [socket], nil, 0.1)
+ begin
+- TCPSocket.new(@options[:address], @options[:port]).close
+- port_taken = true
+- rescue SystemCallError
+- port_taken = false
++ socket.connect_nonblock(sockaddr)
++ rescue Errno::EISCONN
++ end
++ else
++ raise Errno::ECONNREFUSED
++ end
+ end
+- if port_taken
++ return true
++ rescue Errno::ECONNREFUSED
++ return false
++ ensure
++ socket.close if socket
++ end
++ end
++
++ def check_port_availability
++ if !@options[:socket_file] && check_port(@options[:address], @options[:port])
+ error "The address #{@options[:address]}:#{@options[:port]} is already " <<
+ "in use by another process, perhaps another Phusion Passenger " <<
+ "Standalone instance.\n\n" <<
+@@ -261,7 +278,6 @@
+ exit 1
+ end
+ end
+- end
+
+ def should_watch_logs?
+ return !@options[:daemonize] && @options[:log_file] != "/dev/null"
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb passenger.git/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb
+--- passenger-3.0.12/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb 2012-05-17 19:35:01.000000000 +0400
+@@ -1,7 +1,7 @@
+ <red>WARNING:</red> <yellow>Apache doesn't seem to be compiled with the 'prefork', 'worker' or 'event' MPM</yellow>
+
+ Phusion Passenger has only been tested on Apache with the 'prefork', the
+-'worker' and the 'worker' MPM. Your Apache installation is compiled with
++'worker' and the 'event' MPM. Your Apache installation is compiled with
+ the '<%= @current_mpm %>' MPM. We recommend you to abort this installer and to recompile
+ Apache with either the 'prefork', the 'worker' or the 'event' MPM.
+
+diff -wbBur passenger-3.0.12/lib/phusion_passenger/templates/standalone/config.erb passenger.git/lib/phusion_passenger/templates/standalone/config.erb
+--- passenger-3.0.12/lib/phusion_passenger/templates/standalone/config.erb 2012-04-13 12:09:58.000000000 +0400
++++ passenger.git/lib/phusion_passenger/templates/standalone/config.erb 2012-05-17 19:35:01.000000000 +0400
+@@ -27,7 +27,7 @@
+ master_process on;
+ worker_processes 1;
+ daemon on;
+-error_log '<%= @options[:log_file] %>';
++error_log '<%= @options[:log_file] %>' info;
+ pid '<%= @options[:pid_file] %>';
+ <% if @options[:user] %>user <%= @options[:user] %> <%= default_group_for(@options[:user]) %>;<% end %>
+
+@@ -36,6 +36,7 @@
+ }
+
+ http {
++ log_format debug '[$time_local] $msec "$request" $status conn=$connection sent=$bytes_sent body_sent=$body_bytes_sent';
+ include '<%= PhusionPassenger::RESOURCES_DIR %>/mime.types';
+ passenger_ruby <%= PlatformInfo.ruby_command %>;
+ passenger_root '<%= passenger_root %>';