summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorMatthaus Owens <matthaus@puppetlabs.com>2014-05-01 16:18:24 -0700
committerMatthaus Owens <matthaus@puppetlabs.com>2014-05-07 12:47:18 -0700
commitaf23bb3548e194d41704671dd7f165e36cdbf077 (patch)
tree90b3d35f8cc664f2b70cd58c5037583bd6647410 /ext
parentf1e7f67c61a0aa265a1c48f4e4b73b74aa50db6a (diff)
downloadpuppet-af23bb3548e194d41704671dd7f165e36cdbf077.tar.gz
(PUP-2395) Update puppetmaster-passenger postinst for passenger 4
Passenger 4 deprecated and removed several vhost directives, which would break installations of the package on platforms with passenger 4. This commit adds a condional sed call to delete those directives if the passenger version is 4 or greater.
Diffstat (limited to 'ext')
-rw-r--r--ext/debian/puppetmaster-passenger.postinst16
1 files changed, 16 insertions, 0 deletions
diff --git a/ext/debian/puppetmaster-passenger.postinst b/ext/debian/puppetmaster-passenger.postinst
index b21af7f61..2c9f20c3f 100644
--- a/ext/debian/puppetmaster-passenger.postinst
+++ b/ext/debian/puppetmaster-passenger.postinst
@@ -34,6 +34,21 @@ restart_apache2() {
fi
}
+# We may need to update the passenger directives in the apache vhost because
+# RailsAutoDetect and RackAutoDetect were removed in passenger 4.0.0
+# see http://www.modrails.com/documentation/Users%20guide%20Apache.html#_railsautodetect_rackautodetect_and_wsgiautodetect
+update_vhost_for_passenger4() {
+ # Get passenger version from dpkg.
+ # This will end in tears…
+ passenger_version="$(dpkg-query --showformat='${Version}\n' --show libapache2-mod-passenger)"
+ if dpkg --compare-versions "$passenger_version" gt "4.0~"; then
+ sed -r -i \
+ -e "/RailsAutoDetect/d" \
+ -e "/RackAutoDetect/d" \
+ $tempfile
+ fi
+}
+
if [ "$1" = "configure" ]; then
# Change the owner of the rack config.ru to be the puppet user
@@ -74,6 +89,7 @@ if [ "$1" = "configure" ]; then
-e "s|DocumentRoot /etc/puppet/rack/public|DocumentRoot /usr/share/puppet/rack/puppetmasterd/public|" \
-e "s|<Directory /etc/puppet/rack/>|<Directory /usr/share/puppet/rack/puppetmasterd/>|" \
/usr/share/puppetmaster-passenger/apache2.site.conf.tmpl > $tempfile
+ update_vhost_for_passenger4
mv $tempfile "${APACHE2_SITE_FILE}"
fi