Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash -e
- . /usr/share/debconf/confmodule
- . /etc/default/chef-solr
- export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
- TEMPLATE=/usr/share/chef-solr/solr.rb
- TMPDIR=`mktemp -d` # used for holding temp files
- TMPFILE=`mktemp -p ${TMPDIR}` # used for holding rendered template
- CONFIGFILE=/etc/chef/solr.rb
- rabbitmq_has_vhost() {
- rabbitmqctl list_vhosts | grep -qx "^/chef$"
- }
- rabbitmq_has_user() {
- # using -q for grep causes rabbit to terminate on do_boot, redirect
- # STDOUT to /dev/null instead.
- rabbitmqctl list_users | grep -x "^chef$" 1>/dev/null
- }
- rabbitmq_has_perms() {
- rabbitmqctl list_permissions -p /chef | egrep -qx "chef[[:space:]]+.*{3}"
- }
- case "$1" in
- configure)
- if [ ! -f $CONFIGFILE ]; then
- db_get chef-solr/amqp_password && amqp_pass="$RET"
- tsed=`mktemp -p ${TMPDIR}`
- cat << EOF > $tsed
- s/amqp_pass \".*\"/amqp_pass \"${amqp_pass}\"/g
- EOF
- if ! rabbitmq_has_vhost; then
- rabbitmqctl add_vhost /chef
- fi
- if ! rabbitmq_has_user; then
- # TODO: Bug filed with upstream to allow password from a file.
- rabbitmqctl add_user chef $amqp_pass
- fi
- if ! rabbitmq_has_perms; then
- rabbitmqctl set_permissions -p /chef chef ".*" ".*" ".*"
- fi
- if [ -n $amqp_pass ]; then
- sed -f $tsed $TEMPLATE > $TMPFILE
- fi
- ucf --debconf-ok $TMPFILE $CONFIGFILE
- test -f $CONFIGFILE && chmod 0640 $CONFIGFILE
- rm -rf $TMPDIR
- if ! getent passwd chef > /dev/null; then
- adduser --system --quiet \
- --home /var/lib/chef --no-create-home \
- --shell /bin/bash --group --gecos "Chef Daemon" chef
- fi
- chown -R $USER:$GROUP /etc/chef
- chown -R $USER:$GROUP /var/lib/chef
- chown -R $USER:$GROUP /var/log/chef
- chown -R $USER:$GROUP /var/cache/chef
- chown -R $USER:$GROUP /var/run/chef
- fi
- ;;
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
- esac
- db_stop
- # dh_installdeb will replace this with shell code automatically
- # generated by other debhelper scripts.
- #DEBHELPER#
- exit 0
Add Comment
Please, Sign In to add comment