#!/bin/bash
 # switch based on systemd vs systemv
 #
if [ -x "/etc/init.d/pe-postgresql" ]; then
 update-rc.d pe-postgresql defaults > /dev/null

 if [ -n "$2" ]; then
 invoke-rc.d pe-postgresql condrestart || true
 fi
fi

# Add our user and group
if getent group 'pe-postgres' > /dev/null 2>&1; then
 /usr/sbin/groupmod 'pe-postgres'
else
 /usr/sbin/groupadd --system 'pe-postgres'
fi

if getent passwd 'pe-postgres' > /dev/null 2>&1; then
 /usr/sbin/usermod --gid 'pe-postgres' --shell '/sbin/nologin' --home '/opt/puppetlabs/server/data/postgresql' 'pe-postgres'
else
 /usr/sbin/useradd --system --gid 'pe-postgres' --shell '/sbin/nologin' --home '/opt/puppetlabs/server/data/postgresql' 'pe-postgres'
fi

# Set up any specific permissions needed...
 chmod '700' '/opt/puppetlabs/server/data/postgresql'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/opt/puppetlabs/server/data/postgresql'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/opt/puppetlabs/server/data/postgresql'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql': group 'pe-postgres' does not exist."
 fi
 chmod '700' '/opt/puppetlabs/server/data/postgresql/9.4'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4': group 'pe-postgres' does not exist."
 fi
 chmod '700' '/opt/puppetlabs/server/data/postgresql/9.4/data'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4/data'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4/data': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4/data'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4/data': group 'pe-postgres' does not exist."
 fi
 chmod '700' '/opt/puppetlabs/server/data/postgresql/9.4/backups'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4/backups'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4/backups': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/opt/puppetlabs/server/data/postgresql/9.4/backups'
 else
 echo "Error updating '/opt/puppetlabs/server/data/postgresql/9.4/backups': group 'pe-postgres' does not exist."
 fi
 chmod '0700' '/var/log/puppetlabs/postgresql'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/var/log/puppetlabs/postgresql'
 else
 echo "Error updating '/var/log/puppetlabs/postgresql': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/var/log/puppetlabs/postgresql'
 else
 echo "Error updating '/var/log/puppetlabs/postgresql': group 'pe-postgres' does not exist."
 fi
 chmod '0775' '/var/run/puppetlabs/postgresql'
 if getent passwd 'pe-postgres' &> /dev/null; then
 chown 'pe-postgres' '/var/run/puppetlabs/postgresql'
 else
 echo "Error updating '/var/run/puppetlabs/postgresql': user 'pe-postgres' does not exist."
 fi
 if getent group 'pe-postgres' &> /dev/null; then
 chgrp 'pe-postgres' '/var/run/puppetlabs/postgresql'
 else
 echo "Error updating '/var/run/puppetlabs/postgresql': group 'pe-postgres' does not exist."
 fi
 chmod '0644' '/opt/puppetlabs/server/share/doc/pe-postgresql-server/copyright'
 chmod '0755' '/etc/init.d/pe-postgresql'

# Run trigger scripts on install if defined
if [ $1 = triggered ] && [ -z $2 ]; then
: # no trigger scripts provided
fi

# Run trigger scripts on upgrade if defined
if [ $1 = triggered ]&& [ -n $2 ]; then
: # no trigger scripts provided
fi

# Run postinstall scripts on install if defined
if [ $1 = configure ] && [ -z $2 ] ; then
 : no postinstall scripts provided
fi

# Run postinstall scripts on upgrade if defined
if [ $1 = configure ] && [ -n $2 ] ; then
 : no postinstall scripts provided
fi
