passenger 3.0.12 → 3.0.13
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.
- data/DEVELOPERS.TXT +1 -0
- data/NEWS +11 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/build/basics.rb +0 -1
- data/build/documentation.rb +17 -8
- data/build/packaging.rb +2 -2
- data/doc/Architectural overview.html +987 -133
- data/doc/Architectural overview.idmap.txt +36 -0
- data/doc/Architectural overview.txt +150 -74
- data/doc/Security of user switching support.html +820 -54
- data/doc/Security of user switching support.idmap.txt +34 -0
- data/doc/Users guide Apache.html +1675 -633
- data/doc/Users guide Apache.idmap.txt +298 -0
- data/doc/Users guide Apache.txt +3 -11
- data/doc/Users guide Nginx.html +1462 -452
- data/doc/Users guide Nginx.idmap.txt +218 -0
- data/doc/Users guide Standalone.html +979 -44
- data/doc/Users guide Standalone.idmap.txt +18 -0
- data/doc/images/many_web_framework_protocols.png +0 -0
- data/doc/images/passenger_architecture.png +0 -0
- data/doc/images/passenger_architecture.svg +198 -215
- data/doc/images/rack.png +0 -0
- data/ext/boost/config/stdlib/libstdcpp3.hpp +2 -1
- data/ext/boost/exception/detail/error_info_impl.hpp +1 -1
- data/ext/common/AgentBase.cpp +15 -5
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedMessageServer.h +1 -1
- data/ext/common/StaticString.h +2 -1
- data/ext/common/Watchdog.cpp +2 -2
- data/ext/libev/config.h +122 -0
- data/ext/nginx/Configuration.c +24 -8
- data/ext/nginx/ContentHandler.c +5 -6
- data/lib/phusion_passenger.rb +2 -2
- data/lib/phusion_passenger/abstract_request_handler.rb +11 -8
- data/lib/phusion_passenger/dependencies.rb +12 -18
- data/lib/phusion_passenger/platform_info/compiler.rb +8 -2
- data/lib/phusion_passenger/platform_info/ruby.rb +3 -2
- data/lib/phusion_passenger/rails3_extensions/init.rb +6 -4
- data/lib/phusion_passenger/standalone/command.rb +10 -13
- data/lib/phusion_passenger/standalone/runtime_installer.rb +2 -2
- data/lib/phusion_passenger/standalone/start_command.rb +32 -16
- data/lib/phusion_passenger/templates/apache2/apache_must_be_compiled_with_compatible_mpm.txt.erb +1 -1
- data/lib/phusion_passenger/templates/standalone/config.erb +2 -1
- data/test/stub/wsgi/passenger_wsgi.pyc +0 -0
- metadata +21 -16
- data/doc/Users guide Apache with comments.html +0 -4830
- data/lib/phusion_passenger/platform_info/documentation_tools.rb +0 -35
- data/test/stub/rails_apps/3.0/empty/log/development.log +0 -3
data/doc/images/rack.png
ADDED
Binary file
|
@@ -31,7 +31,8 @@
|
|
31
31
|
|
32
32
|
#ifdef __GLIBCXX__ // gcc 3.4 and greater:
|
33
33
|
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
|
34
|
-
|| defined(_GLIBCXX__PTHREADS)
|
34
|
+
|| defined(_GLIBCXX__PTHREADS) \
|
35
|
+
|| defined(_GLIBCXX_HAS_GTHREADS)
|
35
36
|
//
|
36
37
|
// If the std lib has thread support turned on, then turn it on in Boost
|
37
38
|
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
|
data/ext/common/AgentBase.cpp
CHANGED
@@ -188,8 +188,12 @@ appendSignalReason(char *buf, siginfo_t *info) {
|
|
188
188
|
switch (info->si_signo) {
|
189
189
|
case SIGSEGV:
|
190
190
|
switch (info->si_code) {
|
191
|
-
|
192
|
-
|
191
|
+
#ifdef SEGV_MAPERR
|
192
|
+
SI_CODE_HANDLER(SEGV_MAPERR);
|
193
|
+
#endif
|
194
|
+
#ifdef SEGV_ACCERR
|
195
|
+
SI_CODE_HANDLER(SEGV_ACCERR);
|
196
|
+
#endif
|
193
197
|
default:
|
194
198
|
handled = false;
|
195
199
|
break;
|
@@ -197,9 +201,15 @@ appendSignalReason(char *buf, siginfo_t *info) {
|
|
197
201
|
break;
|
198
202
|
case SIGBUS:
|
199
203
|
switch (info->si_code) {
|
200
|
-
|
201
|
-
|
202
|
-
|
204
|
+
#ifdef BUS_ADRALN
|
205
|
+
SI_CODE_HANDLER(BUS_ADRALN);
|
206
|
+
#endif
|
207
|
+
#ifdef BUS_ADRERR
|
208
|
+
SI_CODE_HANDLER(BUS_ADRERR);
|
209
|
+
#endif
|
210
|
+
#ifdef BUS_OBJERR
|
211
|
+
SI_CODE_HANDLER(BUS_OBJERR);
|
212
|
+
#endif
|
203
213
|
default:
|
204
214
|
handled = false;
|
205
215
|
break;
|
data/ext/common/Constants.h
CHANGED
data/ext/common/StaticString.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - http://www.modrails.com/
|
3
|
-
* Copyright (c) 2010 Phusion
|
3
|
+
* Copyright (c) 2010, 2011, 2012 Phusion
|
4
4
|
*
|
5
5
|
* "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
6
6
|
*
|
@@ -25,6 +25,7 @@
|
|
25
25
|
#ifndef _PASSENGER_STATIC_STRING_H_
|
26
26
|
#define _PASSENGER_STATIC_STRING_H_
|
27
27
|
|
28
|
+
#include <sys/types.h>
|
28
29
|
#include <string>
|
29
30
|
#include <cstring>
|
30
31
|
#include <cstddef>
|
data/ext/common/Watchdog.cpp
CHANGED
@@ -740,7 +740,7 @@ private:
|
|
740
740
|
_exit(1);
|
741
741
|
} else if (pid == -1) {
|
742
742
|
// Error
|
743
|
-
P_WARN("Could touch the server instance directory because "
|
743
|
+
P_WARN("Could not touch the server instance directory because "
|
744
744
|
"fork() failed. Retrying in 2 minutes...");
|
745
745
|
this_thread::restore_interruption si(di);
|
746
746
|
this_thread::restore_syscall_interruption rsi(dsi);
|
@@ -975,7 +975,7 @@ cleanupAgentsInBackground(vector<AgentWatcher *> &watchers) {
|
|
975
975
|
} else if (pid == -1) {
|
976
976
|
// Error
|
977
977
|
e = errno;
|
978
|
-
throw SystemException("fork() failed",
|
978
|
+
throw SystemException("fork() failed", e);
|
979
979
|
|
980
980
|
} else {
|
981
981
|
// Parent
|
data/ext/libev/config.h
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
/* config.h. Generated from config.h.in by configure. */
|
2
|
+
/* config.h.in. Generated from configure.ac by autoheader. */
|
3
|
+
|
4
|
+
/* Define to 1 if you have the `clock_gettime' function. */
|
5
|
+
/* #undef HAVE_CLOCK_GETTIME */
|
6
|
+
|
7
|
+
/* "use syscall interface for clock_gettime" */
|
8
|
+
/* #undef HAVE_CLOCK_SYSCALL */
|
9
|
+
|
10
|
+
/* Define to 1 if you have the <dlfcn.h> header file. */
|
11
|
+
#define HAVE_DLFCN_H 1
|
12
|
+
|
13
|
+
/* Define to 1 if you have the `epoll_ctl' function. */
|
14
|
+
/* #undef HAVE_EPOLL_CTL */
|
15
|
+
|
16
|
+
/* Define to 1 if you have the `eventfd' function. */
|
17
|
+
/* #undef HAVE_EVENTFD */
|
18
|
+
|
19
|
+
/* Define to 1 if you have the `inotify_init' function. */
|
20
|
+
/* #undef HAVE_INOTIFY_INIT */
|
21
|
+
|
22
|
+
/* Define to 1 if you have the <inttypes.h> header file. */
|
23
|
+
#define HAVE_INTTYPES_H 1
|
24
|
+
|
25
|
+
/* Define to 1 if you have the `kqueue' function. */
|
26
|
+
#define HAVE_KQUEUE 1
|
27
|
+
|
28
|
+
/* Define to 1 if you have the `m' library (-lm). */
|
29
|
+
#define HAVE_LIBM 1
|
30
|
+
|
31
|
+
/* Define to 1 if you have the `rt' library (-lrt). */
|
32
|
+
/* #undef HAVE_LIBRT */
|
33
|
+
|
34
|
+
/* Define to 1 if you have the <memory.h> header file. */
|
35
|
+
#define HAVE_MEMORY_H 1
|
36
|
+
|
37
|
+
/* Define to 1 if you have the `nanosleep' function. */
|
38
|
+
/* #undef HAVE_NANOSLEEP */
|
39
|
+
|
40
|
+
/* Define to 1 if you have the `poll' function. */
|
41
|
+
#define HAVE_POLL 1
|
42
|
+
|
43
|
+
/* Define to 1 if you have the <poll.h> header file. */
|
44
|
+
#define HAVE_POLL_H 1
|
45
|
+
|
46
|
+
/* Define to 1 if you have the `port_create' function. */
|
47
|
+
/* #undef HAVE_PORT_CREATE */
|
48
|
+
|
49
|
+
/* Define to 1 if you have the <port.h> header file. */
|
50
|
+
/* #undef HAVE_PORT_H */
|
51
|
+
|
52
|
+
/* Define to 1 if you have the `select' function. */
|
53
|
+
#define HAVE_SELECT 1
|
54
|
+
|
55
|
+
/* Define to 1 if you have the `signalfd' function. */
|
56
|
+
/* #undef HAVE_SIGNALFD */
|
57
|
+
|
58
|
+
/* Define to 1 if you have the <stdint.h> header file. */
|
59
|
+
#define HAVE_STDINT_H 1
|
60
|
+
|
61
|
+
/* Define to 1 if you have the <stdlib.h> header file. */
|
62
|
+
#define HAVE_STDLIB_H 1
|
63
|
+
|
64
|
+
/* Define to 1 if you have the <strings.h> header file. */
|
65
|
+
#define HAVE_STRINGS_H 1
|
66
|
+
|
67
|
+
/* Define to 1 if you have the <string.h> header file. */
|
68
|
+
#define HAVE_STRING_H 1
|
69
|
+
|
70
|
+
/* Define to 1 if you have the <sys/epoll.h> header file. */
|
71
|
+
/* #undef HAVE_SYS_EPOLL_H */
|
72
|
+
|
73
|
+
/* Define to 1 if you have the <sys/eventfd.h> header file. */
|
74
|
+
/* #undef HAVE_SYS_EVENTFD_H */
|
75
|
+
|
76
|
+
/* Define to 1 if you have the <sys/event.h> header file. */
|
77
|
+
#define HAVE_SYS_EVENT_H 1
|
78
|
+
|
79
|
+
/* Define to 1 if you have the <sys/inotify.h> header file. */
|
80
|
+
/* #undef HAVE_SYS_INOTIFY_H */
|
81
|
+
|
82
|
+
/* Define to 1 if you have the <sys/queue.h> header file. */
|
83
|
+
#define HAVE_SYS_QUEUE_H 1
|
84
|
+
|
85
|
+
/* Define to 1 if you have the <sys/select.h> header file. */
|
86
|
+
#define HAVE_SYS_SELECT_H 1
|
87
|
+
|
88
|
+
/* Define to 1 if you have the <sys/signalfd.h> header file. */
|
89
|
+
/* #undef HAVE_SYS_SIGNALFD_H */
|
90
|
+
|
91
|
+
/* Define to 1 if you have the <sys/stat.h> header file. */
|
92
|
+
#define HAVE_SYS_STAT_H 1
|
93
|
+
|
94
|
+
/* Define to 1 if you have the <sys/types.h> header file. */
|
95
|
+
#define HAVE_SYS_TYPES_H 1
|
96
|
+
|
97
|
+
/* Define to 1 if you have the <unistd.h> header file. */
|
98
|
+
#define HAVE_UNISTD_H 1
|
99
|
+
|
100
|
+
/* Name of package */
|
101
|
+
#define PACKAGE "libev"
|
102
|
+
|
103
|
+
/* Define to the address where bug reports for this package should be sent. */
|
104
|
+
#define PACKAGE_BUGREPORT ""
|
105
|
+
|
106
|
+
/* Define to the full name of this package. */
|
107
|
+
#define PACKAGE_NAME ""
|
108
|
+
|
109
|
+
/* Define to the full name and version of this package. */
|
110
|
+
#define PACKAGE_STRING ""
|
111
|
+
|
112
|
+
/* Define to the one symbol short name of this package. */
|
113
|
+
#define PACKAGE_TARNAME ""
|
114
|
+
|
115
|
+
/* Define to the version of this package. */
|
116
|
+
#define PACKAGE_VERSION ""
|
117
|
+
|
118
|
+
/* Define to 1 if you have the ANSI C header files. */
|
119
|
+
#define STDC_HEADERS 1
|
120
|
+
|
121
|
+
/* Version number of package */
|
122
|
+
#define VERSION "3.9"
|
data/ext/nginx/Configuration.c
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* Copyright (C) Igor Sysoev
|
3
3
|
* Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
|
4
|
-
* Copyright (C) 2010 Phusion
|
4
|
+
* Copyright (C) 2010, 2011, 2012 Phusion
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
7
7
|
* modification, are permitted provided that the following conditions
|
@@ -335,6 +335,14 @@ passenger_create_loc_conf(ngx_conf_t *cf)
|
|
335
335
|
conf->upstream_config.pass_request_headers = NGX_CONF_UNSET;
|
336
336
|
conf->upstream_config.pass_request_body = NGX_CONF_UNSET;
|
337
337
|
|
338
|
+
#if (NGX_HTTP_CACHE)
|
339
|
+
conf->upstream_config.cache = NGX_CONF_UNSET_PTR;
|
340
|
+
conf->upstream_config.cache_min_uses = NGX_CONF_UNSET_UINT;
|
341
|
+
conf->upstream_config.cache_bypass = NGX_CONF_UNSET_PTR;
|
342
|
+
conf->upstream_config.no_cache = NGX_CONF_UNSET_PTR;
|
343
|
+
conf->upstream_config.cache_valid = NGX_CONF_UNSET_PTR;
|
344
|
+
#endif
|
345
|
+
|
338
346
|
conf->upstream_config.intercept_errors = NGX_CONF_UNSET;
|
339
347
|
|
340
348
|
conf->upstream_config.cyclic_temp_file = 0;
|
@@ -511,8 +519,8 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
511
519
|
|
512
520
|
if (conf->upstream_config.busy_buffers_size < size) {
|
513
521
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
514
|
-
"\"passenger_busy_buffers_size\" must be equal or
|
515
|
-
"maximum of the value of \"passenger_buffer_size\" and "
|
522
|
+
"\"passenger_busy_buffers_size\" must be equal to or greater "
|
523
|
+
"than the maximum of the value of \"passenger_buffer_size\" and "
|
516
524
|
"one of the \"passenger_buffers\"");
|
517
525
|
|
518
526
|
return NGX_CONF_ERROR;
|
@@ -542,8 +550,8 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
542
550
|
|
543
551
|
if (conf->upstream_config.temp_file_write_size < size) {
|
544
552
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
545
|
-
"\"passenger_temp_file_write_size\" must be equal or
|
546
|
-
"maximum of the value of \"passenger_buffer_size\" and "
|
553
|
+
"\"passenger_temp_file_write_size\" must be equal to or greater than "
|
554
|
+
"the maximum of the value of \"passenger_buffer_size\" and "
|
547
555
|
"one of the \"passenger_buffers\"");
|
548
556
|
|
549
557
|
return NGX_CONF_ERROR;
|
@@ -566,8 +574,8 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
566
574
|
{
|
567
575
|
ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
|
568
576
|
"\"passenger_max_temp_file_size\" must be equal to zero to disable "
|
569
|
-
"
|
570
|
-
"maximum of the value of \"passenger_buffer_size\" and "
|
577
|
+
"temporary files usage or must be equal to or greater than "
|
578
|
+
"the maximum of the value of \"passenger_buffer_size\" and "
|
571
579
|
"one of the \"passenger_buffers\"");
|
572
580
|
|
573
581
|
return NGX_CONF_ERROR;
|
@@ -639,6 +647,14 @@ passenger_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child)
|
|
639
647
|
conf->cache_key = prev->cache_key;
|
640
648
|
}
|
641
649
|
|
650
|
+
#if NGINX_VERSION_NUM >= 1002000
|
651
|
+
ngx_conf_merge_value(conf->upstream_config.cache_lock,
|
652
|
+
prev->upstream_config.cache_lock, 0);
|
653
|
+
|
654
|
+
ngx_conf_merge_msec_value(conf->upstream_config.cache_lock_timeout,
|
655
|
+
prev->upstream_config.cache_lock_timeout, 5000);
|
656
|
+
#endif
|
657
|
+
|
642
658
|
#endif
|
643
659
|
|
644
660
|
ngx_conf_merge_value(conf->upstream_config.pass_request_headers,
|
@@ -1273,7 +1289,7 @@ const ngx_command_t passenger_commands[] = {
|
|
1273
1289
|
NULL },
|
1274
1290
|
|
1275
1291
|
{ ngx_string("passenger_pass_header"),
|
1276
|
-
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF |
|
1292
|
+
NGX_HTTP_MAIN_CONF | NGX_HTTP_SRV_CONF | NGX_HTTP_LOC_CONF | NGX_HTTP_LIF_CONF | NGX_CONF_TAKE1,
|
1277
1293
|
ngx_conf_set_str_array_slot,
|
1278
1294
|
NGX_HTTP_LOC_CONF_OFFSET,
|
1279
1295
|
offsetof(passenger_loc_conf_t, upstream_config.pass_headers),
|
data/ext/nginx/ContentHandler.c
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* Copyright (C) Igor Sysoev
|
3
3
|
* Copyright (C) 2007 Manlio Perillo (manlio.perillo@gmail.com)
|
4
|
-
* Copyright (C) 2010 Phusion
|
4
|
+
* Copyright (C) 2010, 2011, 2012 Phusion
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
7
7
|
* modification, are permitted provided that the following conditions
|
@@ -387,8 +387,8 @@ create_request(ngx_http_request_t *r)
|
|
387
387
|
app_type_string_len = sizeof("wsgi");
|
388
388
|
break;
|
389
389
|
default:
|
390
|
-
app_type_string = (const u_char *) "
|
391
|
-
app_type_string_len = sizeof("
|
390
|
+
app_type_string = (const u_char *) "rack";
|
391
|
+
app_type_string_len = sizeof("rack");
|
392
392
|
break;
|
393
393
|
}
|
394
394
|
|
@@ -931,7 +931,7 @@ process_status_line(ngx_http_request_t *r)
|
|
931
931
|
context = ngx_http_get_module_ctx(r, ngx_http_passenger_module);
|
932
932
|
|
933
933
|
if (context == NULL) {
|
934
|
-
return
|
934
|
+
return NGX_ERROR;
|
935
935
|
}
|
936
936
|
|
937
937
|
rc = parse_status_line(r, context);
|
@@ -952,7 +952,6 @@ process_status_line(ngx_http_request_t *r)
|
|
952
952
|
}
|
953
953
|
#endif
|
954
954
|
|
955
|
-
r->http_version = NGX_HTTP_VERSION_9;
|
956
955
|
u->headers_in.status_n = NGX_HTTP_OK;
|
957
956
|
u->state->status = NGX_HTTP_OK;
|
958
957
|
|
@@ -966,7 +965,7 @@ process_status_line(ngx_http_request_t *r)
|
|
966
965
|
u->headers_in.status_line.data = ngx_palloc(r->pool,
|
967
966
|
u->headers_in.status_line.len);
|
968
967
|
if (u->headers_in.status_line.data == NULL) {
|
969
|
-
return
|
968
|
+
return NGX_ERROR;
|
970
969
|
}
|
971
970
|
|
972
971
|
ngx_memcpy(u->headers_in.status_line.data, context->status_start,
|
data/lib/phusion_passenger.rb
CHANGED
@@ -25,9 +25,9 @@ module PhusionPassenger
|
|
25
25
|
###### Version numbers ######
|
26
26
|
|
27
27
|
# Phusion Passenger version number. Don't forget to edit ext/common/Constants.h too.
|
28
|
-
VERSION_STRING = '3.0.
|
28
|
+
VERSION_STRING = '3.0.13'
|
29
29
|
|
30
|
-
PREFERRED_NGINX_VERSION = '1.
|
30
|
+
PREFERRED_NGINX_VERSION = '1.2.1'
|
31
31
|
PREFERRED_PCRE_VERSION = '8.30'
|
32
32
|
STANDALONE_INTERFACE_VERSION = 1
|
33
33
|
|
@@ -331,14 +331,17 @@ class AbstractRequestHandler
|
|
331
331
|
# May only be called while the main loop is running. May be called
|
332
332
|
# from any thread.
|
333
333
|
def soft_shutdown
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
client.
|
340
|
-
|
341
|
-
|
334
|
+
unless @soft_terminated
|
335
|
+
@soft_terminated = true
|
336
|
+
@select_timeout = @soft_termination_linger_time
|
337
|
+
@graceful_termination_pipe[1].close rescue nil
|
338
|
+
if @detach_key && @pool_account_username && @pool_account_password
|
339
|
+
client = MessageClient.new(@pool_account_username, @pool_account_password)
|
340
|
+
begin
|
341
|
+
client.detach(@detach_key)
|
342
|
+
ensure
|
343
|
+
client.close
|
344
|
+
end
|
342
345
|
end
|
343
346
|
end
|
344
347
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Phusion Passenger - http://www.modrails.com/
|
2
|
-
# Copyright (c) 2010 Phusion
|
2
|
+
# Copyright (c) 2010, 2011, 2012 Phusion
|
3
3
|
#
|
4
4
|
# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
|
5
5
|
#
|
@@ -29,7 +29,6 @@ require 'phusion_passenger/platform_info/apache'
|
|
29
29
|
require 'phusion_passenger/platform_info/ruby'
|
30
30
|
require 'phusion_passenger/platform_info/linux'
|
31
31
|
require 'phusion_passenger/platform_info/curl'
|
32
|
-
require 'phusion_passenger/platform_info/documentation_tools'
|
33
32
|
|
34
33
|
module PhusionPassenger
|
35
34
|
|
@@ -110,9 +109,9 @@ module Dependencies # :nodoc: all
|
|
110
109
|
return (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") && RUBY_VERSION < "1.8.7"
|
111
110
|
end
|
112
111
|
|
113
|
-
# Returns whether
|
112
|
+
# Returns whether Mizuho is required in order to be able to package all files
|
114
113
|
# in the packaging list.
|
115
|
-
def self.
|
114
|
+
def self.mizuho_required?
|
116
115
|
return Packaging::ASCII_DOCS.any? do |fn|
|
117
116
|
!File.exist?("#{SOURCE_ROOT}/#{fn}")
|
118
117
|
end
|
@@ -579,7 +578,7 @@ module Dependencies # :nodoc: all
|
|
579
578
|
end
|
580
579
|
|
581
580
|
Daemon_Controller = Dependency.new do |dep|
|
582
|
-
dep.name = "daemon_controller >= 0.
|
581
|
+
dep.name = "daemon_controller >= 1.0.0"
|
583
582
|
dep.install_instructions = "Please install RubyGems first, then run " <<
|
584
583
|
"<b>#{PlatformInfo.gem_command || "gem"} install daemon_controller</b>"
|
585
584
|
dep.define_checker do |result|
|
@@ -591,7 +590,7 @@ module Dependencies # :nodoc: all
|
|
591
590
|
require 'daemon_controller'
|
592
591
|
begin
|
593
592
|
require 'daemon_controller/version'
|
594
|
-
too_old = DaemonController::VERSION_STRING < '0.
|
593
|
+
too_old = DaemonController::VERSION_STRING < '1.0.0'
|
595
594
|
rescue LoadError
|
596
595
|
too_old = true
|
597
596
|
end
|
@@ -610,23 +609,18 @@ module Dependencies # :nodoc: all
|
|
610
609
|
end
|
611
610
|
end
|
612
611
|
|
613
|
-
|
614
|
-
dep.name = "
|
612
|
+
Mizuho = Dependency.new do |dep|
|
613
|
+
dep.name = "Mizuho"
|
615
614
|
dep.define_checker do |result|
|
616
|
-
|
615
|
+
mizuho = PlatformInfo.find_command('mizuho')
|
616
|
+
if mizuho.nil?
|
617
617
|
result.not_found
|
618
618
|
else
|
619
|
-
result.found(
|
619
|
+
result.found(mizuho)
|
620
620
|
end
|
621
621
|
end
|
622
|
-
|
623
|
-
|
624
|
-
# so recommend Mizuho instead.
|
625
|
-
dep.website = "http://github.com/FooBarWidget/mizuho"
|
626
|
-
dep.install_instructions = "Please install RubyGems first, then run <b>#{PlatformInfo.gem_command || "gem"} install mizuho</b>"
|
627
|
-
else
|
628
|
-
dep.website = "http://www.methods.co.nz/asciidoc/"
|
629
|
-
end
|
622
|
+
dep.website = "http://github.com/FooBarWidget/mizuho"
|
623
|
+
dep.install_instructions = "Please install RubyGems first, then run <b>#{PlatformInfo.gem_command || "gem"} install mizuho</b>"
|
630
624
|
end
|
631
625
|
end
|
632
626
|
|