passenger 4.0.33 → 4.0.34
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 +15 -0
- checksums.yaml.gz.asc +12 -0
- data.tar.gz.asc +7 -7
- data/NEWS +60 -0
- data/bin/passenger-config +1 -1
- data/bin/passenger-install-apache2-module +510 -40
- data/bin/passenger-install-nginx-module +26 -2
- data/build/cxx_tests.rb +1 -1
- data/build/documentation.rb +19 -21
- data/build/integration_tests.rb +39 -12
- data/build/misc.rb +18 -0
- data/build/packaging.rb +116 -56
- data/build/rpm.rb +20 -11
- data/build/ruby_tests.rb +2 -3
- data/build/test_basics.rb +9 -0
- data/debian.template/passenger.conf +2 -0
- data/debian.template/passenger.load +2 -0
- data/dev/run_travis.sh +3 -5
- data/dev/test_rpm_packaging.sh +28 -0
- data/doc/Users guide Apache.idmap.txt +6 -4
- data/doc/users_guide_snippets/installation.txt +20 -2
- data/doc/users_guide_snippets/tips.txt +1 -1
- data/ext/common/ApplicationPool2/Pool.h +1 -1
- data/ext/common/Constants.h +5 -1
- data/ext/common/agents/HelperAgent/RequestHandler.h +1 -1
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +20 -0
- data/ext/common/agents/Watchdog/Main.cpp +10 -0
- data/ext/ruby/passenger_native_support.c +23 -11
- data/helper-scripts/classic-rails-loader.rb +9 -3
- data/helper-scripts/classic-rails-preloader.rb +10 -4
- data/helper-scripts/download_binaries/extconf.rb +46 -22
- data/helper-scripts/meteor-loader.rb +0 -1
- data/helper-scripts/node-loader.js +2 -1
- data/helper-scripts/prespawn +7 -1
- data/helper-scripts/rack-loader.rb +32 -3
- data/helper-scripts/rack-preloader.rb +10 -4
- data/lib/phusion_passenger.rb +40 -21
- data/lib/phusion_passenger/abstract_installer.rb +7 -4
- data/lib/phusion_passenger/analytics_logger.rb +4 -3
- data/lib/phusion_passenger/config/about_command.rb +27 -6
- data/lib/phusion_passenger/{config.rb → config/main.rb} +3 -2
- data/lib/phusion_passenger/config/restart_app_command.rb +1 -1
- data/lib/phusion_passenger/config/validate_install_command.rb +231 -0
- data/lib/phusion_passenger/constants.rb +2 -0
- data/lib/phusion_passenger/loader_shared_helpers.rb +92 -19
- data/lib/phusion_passenger/native_support.rb +33 -11
- data/lib/phusion_passenger/packaging.rb +1 -0
- data/lib/phusion_passenger/platform_info.rb +5 -2
- data/lib/phusion_passenger/platform_info/apache.rb +229 -60
- data/lib/phusion_passenger/platform_info/apache_detector.rb +26 -31
- data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +4 -4
- data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
- data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
- data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +1 -1
- data/lib/phusion_passenger/platform_info/linux.rb +2 -1
- data/lib/phusion_passenger/platform_info/ruby.rb +7 -0
- data/lib/phusion_passenger/preloader_shared_helpers.rb +2 -1
- data/lib/phusion_passenger/request_handler.rb +2 -1
- data/lib/phusion_passenger/request_handler/thread_handler.rb +2 -1
- data/lib/phusion_passenger/standalone/runtime_installer.rb +35 -13
- data/lib/phusion_passenger/standalone/start_command.rb +2 -2
- data/lib/phusion_passenger/utils.rb +1 -23
- data/lib/phusion_passenger/utils/ansi_colors.rb +7 -1
- data/lib/phusion_passenger/utils/download.rb +36 -2
- data/lib/phusion_passenger/utils/native_support_utils.rb +65 -0
- data/resources/templates/apache2/apache_install_broken.txt.erb +20 -0
- data/resources/templates/apache2/config_snippets.txt.erb +2 -4
- data/resources/templates/apache2/present_choice_for_no_update_config.txt.erb +5 -0
- data/resources/templates/installer_common/cannot_access_files_as_root.txt.erb +15 -0
- data/resources/templates/installer_common/run_installer_as_root.txt.erb +6 -3
- data/resources/templates/nginx/nginx_module_sources_not_available.txt.erb +1 -1
- data/resources/templates/nginx/other_nginx_installations_exist.txt.erb +17 -0
- data/rpm/apache-passenger.conf.in +26 -0
- data/rpm/config.json +30 -0
- data/rpm/passenger.logrotate +7 -0
- data/rpm/passenger.spec.template +456 -0
- data/rpm/passenger_dynamic_thread_group.patch +16 -0
- data/rpm/passenger_tests_default_config_example.patch +44 -0
- data/rpm/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +21 -0
- data/rpm/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +45 -0
- data/test/config.json.rpm-automation +15 -0
- data/test/integration_tests/downloaded_binaries_tests.rb +80 -2
- data/test/integration_tests/native_packaging_spec.rb +136 -44
- data/test/integration_tests/standalone_tests.rb +2 -11
- data/test/ruby/analytics_logger_spec.rb +65 -19
- data/test/ruby/utils_spec.rb +2 -0
- metadata +532 -548
- metadata.gz.asc +7 -7
- data/resources/templates/apache2/no_write_permission_to_passenger_root.txt.erb +0 -9
- data/rpm/README.rdoc +0 -117
- data/rpm/config/apache-passenger.conf.in +0 -19
- data/rpm/config/nginx-passenger.conf.in +0 -10
- data/rpm/config/rubygem-passenger.te +0 -10
- data/rpm/doc/README.nginx-alternatives +0 -5
- data/rpm/doc/example_yum_repository_htaccess +0 -5
- data/rpm/doc/footer.shtml +0 -12
- data/rpm/doc/header.shtml +0 -156
- data/rpm/nginx-alternatives.spec +0 -97
- data/rpm/passenger-release.spec +0 -91
- data/rpm/passenger.spec +0 -667
- data/rpm/patches/passenger-force-native.patch +0 -63
- data/rpm/release/RPM-GPG-KEY-stealthymonkeys +0 -33
- data/rpm/release/build-release.sh +0 -35
- data/rpm/release/build.rb +0 -301
- data/rpm/release/create-mirrors.sh +0 -16
- data/rpm/release/mirrors +0 -1
- data/rpm/release/mock-repo/comps.xml +0 -21
- data/rpm/release/mock-repo/rubygem-daemon_controller-0.2.5-1.noarch.rpm +0 -0
- data/rpm/release/mock-repo/rubygem-file-tail-1.0.5-1.noarch.rpm +0 -0
- data/rpm/release/mock-repo/rubygem-spruz-0.2.2-1.noarch.rpm +0 -0
- data/rpm/release/mocksetup-first.sh +0 -102
- data/rpm/release/mocksetup.sh +0 -67
data/rpm/release/mirrors
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
http://passenger.stealthymonkeys.com/
|
@@ -1,21 +0,0 @@
|
|
1
|
-
<comps>
|
2
|
-
<!-- <meta> -->
|
3
|
-
<!-- Meta information will go here eventually -->
|
4
|
-
<!-- </meta> -->
|
5
|
-
<group>
|
6
|
-
<id>build-passenger</id>
|
7
|
-
<name>BuildPassenger</name>
|
8
|
-
<default>true</default>
|
9
|
-
<description>Build Requirements for Passenger</description>
|
10
|
-
<uservisible>true</uservisible>
|
11
|
-
<packagelist>
|
12
|
-
<packagereq type="default">rubygems</packagereq>
|
13
|
-
<packagereq type="default">pcre-devel</packagereq>
|
14
|
-
<packagereq type="default">perl-ExtUtils-Embed</packagereq>
|
15
|
-
<!-- For the passenger-standalone build -->
|
16
|
-
<packagereq type="default">rubygem-file-tail</packagereq>
|
17
|
-
<packagereq type="default">rubygem-daemon_controller</packagereq>
|
18
|
-
<packagereq type="optional">rubygem-rake</packagereq>
|
19
|
-
</packagelist>
|
20
|
-
</group>
|
21
|
-
</comps>
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,102 +0,0 @@
|
|
1
|
-
#!/bin/bash -e
|
2
|
-
# Checks whether all the prerequities for the package:rpm task are available.
|
3
|
-
|
4
|
-
BUILD_VERBOSITY=${BUILD_VERBOSITY:-0}
|
5
|
-
[ $BUILD_VERBOSITY -ge 3 ] && set -x
|
6
|
-
|
7
|
-
declare -a required_packages=(mock)
|
8
|
-
if grep -iq fedora /etc/redhat-release ; then
|
9
|
-
# fedora-packager has rpmbuild-md5 for the SRPM
|
10
|
-
required_packages=( ${required_packages[@]} fedora-packager )
|
11
|
-
else
|
12
|
-
required_packages=( ${required_packages[@]} rpm-build )
|
13
|
-
fi
|
14
|
-
|
15
|
-
while getopts ':p:' opt
|
16
|
-
do
|
17
|
-
case $opt in
|
18
|
-
p)
|
19
|
-
required_packages=( ${required_packages[@]} $OPTARG )
|
20
|
-
;;
|
21
|
-
\?)
|
22
|
-
echo "Invalid flag -$OPTARG" >&2
|
23
|
-
exit 255
|
24
|
-
;;
|
25
|
-
\:)
|
26
|
-
echo "missing argument to -$OPTARG" >&2
|
27
|
-
exit 127
|
28
|
-
;;
|
29
|
-
esac
|
30
|
-
done
|
31
|
-
shift $(($OPTIND - 1))
|
32
|
-
|
33
|
-
repo=${1:-/var/lib/mock/passenger-build-repo}
|
34
|
-
etc=${2:-/etc/mock}
|
35
|
-
|
36
|
-
if [ "$(id -u)" == "0" ]; then
|
37
|
-
cat <<-EOF >&2
|
38
|
-
It is a very bad idea to run this build as root.
|
39
|
-
Use a less-privileged user. If that user is not a sudoer, you may need to run
|
40
|
-
a few commands as root before the first run. (Those commands will be determined
|
41
|
-
the first time through)
|
42
|
-
EOF
|
43
|
-
exit 1
|
44
|
-
fi
|
45
|
-
|
46
|
-
mock_installed=`rpm -q mock | grep -v 'not installed' | wc -l`
|
47
|
-
cfg_count=`ls -1 $etc/passenger-* 2>/dev/null | wc -l`
|
48
|
-
in_mock_group=`groups | grep mock | wc -l`
|
49
|
-
|
50
|
-
# Fedora has a utility to do this, but I don't know if RHEL does, plus it requires another package install, just do it by hand
|
51
|
-
mkdir -p `rpm -E '%{_topdir}'`/{SOURCES,SPECS,SRPMS,RPMS}
|
52
|
-
|
53
|
-
if [[ ( $cfg_count == 0 && ! -w $etc ) || ! ( -d $etc || -w $etc/.. ) || ! ( -w $repo || -w $repo/.. ) ]] ; then
|
54
|
-
run_setup=1
|
55
|
-
fi
|
56
|
-
|
57
|
-
declare -a yum_pkgs
|
58
|
-
|
59
|
-
for pkg in "${required_packages[@]}"
|
60
|
-
do
|
61
|
-
if [ `rpm -q $pkg | grep -v 'not installed' | wc -l` -eq 0 ] ; then
|
62
|
-
yum_pkgs=(${yum_pkgs[@]} $pkg)
|
63
|
-
fi
|
64
|
-
done
|
65
|
-
|
66
|
-
if [[ "$run_setup" = "1" || ! $in_mock_group == 1 || ${#yum_pkgs[@]} != 0 ]] ; then
|
67
|
-
echo "There is some setup required before building packages."
|
68
|
-
echo "We will run sudo to do the following:"
|
69
|
-
|
70
|
-
if [[ ${#yum_pkgs[@]} != 0 ]] ; then
|
71
|
-
echo " # yum -y install ${yum_pkgs[@]}"
|
72
|
-
fi
|
73
|
-
|
74
|
-
if [[ ! "$in_mock_group" == "1" ]] ; then
|
75
|
-
echo " # usermod -a -G mock $USER"
|
76
|
-
echo " (add you to the mock group, you will need to log back in for this to take effect)"
|
77
|
-
fi
|
78
|
-
|
79
|
-
if [[ "$run_setup" == "1" ]] ; then
|
80
|
-
echo " # `dirname $0`/mocksetup.sh"
|
81
|
-
echo " (sets up the dependencies for mock)"
|
82
|
-
fi
|
83
|
-
echo
|
84
|
-
echo "Hit return to continue, ^C to cancel"
|
85
|
-
read
|
86
|
-
|
87
|
-
if [[ ! $mock_installed == 1 || ! $createrepo_installed == 1 ]] ; then
|
88
|
-
sudo yum -y install "${yum_pkgs[@]}"
|
89
|
-
fi
|
90
|
-
if [[ ! "$in_mock_group" == "1" ]] ; then
|
91
|
-
sudo usermod -a -G mock $USER
|
92
|
-
fi
|
93
|
-
if [[ "$run_setup" == "1" ]] ; then
|
94
|
-
sudo `dirname $0`/mocksetup.sh $repo $etc
|
95
|
-
fi
|
96
|
-
|
97
|
-
if [[ ! "$in_mock_group" == "1" ]] ; then
|
98
|
-
echo "You have been added to the mock group. Please relogin for this to take effect, and re-run 'rake package:rpm'."
|
99
|
-
exit 4
|
100
|
-
fi
|
101
|
-
fi
|
102
|
-
|
data/rpm/release/mocksetup.sh
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
#!/bin/sh
|
2
|
-
|
3
|
-
BUILD_VERBOSITY=${BUILD_VERBOSITY:-0}
|
4
|
-
[ $BUILD_VERBOSITY -ge 3 ] && set -x
|
5
|
-
set -e
|
6
|
-
|
7
|
-
repo=${1:-/var/lib/mock/passenger-build-repo}
|
8
|
-
etc=${2:-/etc/mock}
|
9
|
-
# For the written files & dirs, we want g+w, this isn't consistent enough
|
10
|
-
# umask 002
|
11
|
-
|
12
|
-
# For the non-groupinstall configs, pull the members out of the mock-comps.xml
|
13
|
-
prereqs=`egrep 'packagereq.*default' $(dirname $0)/mock-repo/comps.xml | cut -d\> -f2 | cut -d\< -f1 | tr '\n' ' '`
|
14
|
-
|
15
|
-
for cfg in $etc/{fedora-{13,14},epel-5}-*.cfg
|
16
|
-
do
|
17
|
-
[ $BUILD_VERBOSITY -ge 2 ] && echo $cfg
|
18
|
-
dir=`dirname $cfg`
|
19
|
-
base=`basename $cfg`
|
20
|
-
new=$dir/passenger-$base
|
21
|
-
perl -p - $repo "$prereqs" $cfg <<-'EOF' > $new
|
22
|
-
# Warning <<- only kills TABS (ASCII 0x9) DO NOT CONVERT THESE
|
23
|
-
# TABS TO SPACES -- IT WILL BREAK
|
24
|
-
|
25
|
-
sub BEGIN {
|
26
|
-
our $repo = shift;
|
27
|
-
our $prereqs = shift;
|
28
|
-
}
|
29
|
-
|
30
|
-
s{opts\['root'\]\s*=\s*'}{${&}passenger-}; #';
|
31
|
-
s{groupinstall [^']+}{$& Ruby build-passenger}; #'
|
32
|
-
s{\binstall buildsys-build}{$& ruby ruby-devel $prereqs};
|
33
|
-
s{^"""}{<<EndRepo . $&}e; #"
|
34
|
-
|
35
|
-
[build-passenger]
|
36
|
-
name=build-passenger
|
37
|
-
baseurl=file://$repo
|
38
|
-
EndRepo
|
39
|
-
EOF
|
40
|
-
chgrp mock $new 2>/dev/null || true
|
41
|
-
chmod g+w $new 2>/dev/null || true
|
42
|
-
done
|
43
|
-
|
44
|
-
mkdir -p $repo
|
45
|
-
chmod g+s $repo 2>/dev/null || true
|
46
|
-
|
47
|
-
if [ $BUILD_VERBOSITY -ge 1 ]; then
|
48
|
-
rsync_volume='-v'
|
49
|
-
if [ $BUILD_VERBOSITY -ge 2 ]; then
|
50
|
-
rsync_volume='-v --progress'
|
51
|
-
fi
|
52
|
-
fi
|
53
|
-
|
54
|
-
cp -ra `dirname $0`/mock-repo/* $repo
|
55
|
-
chgrp -R mock $repo 2>/dev/null || true
|
56
|
-
|
57
|
-
createrepo_volume=
|
58
|
-
if [ $BUILD_VERBOSITY -gt 1 ]; then
|
59
|
-
createrepo_volume='-v'
|
60
|
-
else
|
61
|
-
if [ $BUILD_VERBOSITY -le 0 ]; then
|
62
|
-
createrepo_volume='-q'
|
63
|
-
fi
|
64
|
-
fi
|
65
|
-
|
66
|
-
createrepo $createrepo_volume -g comps.xml $repo
|
67
|
-
chmod -R g+w $repo 2>/dev/null || true
|