diff options
author | Matthaus Owens <matthaus@puppetlabs.com> | 2014-05-01 16:18:24 -0700 |
---|---|---|
committer | Matthaus Owens <matthaus@puppetlabs.com> | 2014-05-07 12:47:18 -0700 |
commit | af23bb3548e194d41704671dd7f165e36cdbf077 (patch) | |
tree | 90b3d35f8cc664f2b70cd58c5037583bd6647410 /ext | |
parent | f1e7f67c61a0aa265a1c48f4e4b73b74aa50db6a (diff) | |
download | puppet-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.postinst | 16 |
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 |