diff options
Diffstat (limited to 'build/mac/installer-resources/postinstall')
-rwxr-xr-x | build/mac/installer-resources/postinstall | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/build/mac/installer-resources/postinstall b/build/mac/installer-resources/postinstall new file mode 100755 index 0000000..04698a1 --- /dev/null +++ b/build/mac/installer-resources/postinstall @@ -0,0 +1,90 @@ +#!/bin/sh +# +# Copyright (c) 2003-2004 Silicon Graphics, Inc. All Rights Reserved. +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# Post installation/upgrade script for PCP +# + +prog=`basename $0` +status=1 +trap "exit \$status" 0 1 2 15 + +echo "$prog: PCP for MacOSX Install" + +echo "$prog: Writing install log to /var/log/pcp_inst.log" +echo "$prog: Writing install log to /var/log/pcp_inst.log" > /var/log/pcp_inst.log + +if [ ! -d $2 ] +then + echo "$prog: Unable to open directory of new files ($2)" + echo "$prog: Unable to open directory of new files ($2)" >> /var/log/pcp_inst.log + exit +fi + +cd $2 + +if ./install-pcp -i -l /var/log/pcp_inst.log idb +then + : +else + echo "$prog: Install Failed" + echo "$prog: Install Failed" >> /var/log/pcp_inst.log + exit +fi + +if [ -f /etc/pcp.conf ] +then + # for all the configuration files we know about, salt away file + # with a .orig suffix for a subsequent upgrade + # + . /etc/pcp.conf + for conf in \ + $PCP_PMCDCONF_PATH $PCP_PMCDOPTIONS_PATH $PCP_PMCDRCLOCAL_PATH \ + $PCP_PMIECONTROL_PATH $PCP_PMLOGGERCONTROL_PATH \ + $PCP_PMPROXYOPTIONS_PATH $PCP_PMWEBDOPTIONS_PATH + do + [ -f $conf ] && cp $conf $conf.orig + done +fi + +# create the user/group account that PCP daemons will use +# +userid=432 +groupid=432 + +if ! dscl . -list /Groups | grep -q '^pcp$' +then + dscl . -create /Groups/pcp + dscl . -create /Groups/pcp PrimaryGroupID $groupid + dscl . -create /Groups/pcp Password \* +fi + +if ! dscl . -list /Users | grep -q '^pcp$' +then + dscl . -create /Users/pcp + dscl . -create /Users/pcp UniqueID $userid + dscl . -create /Users/pcp UserShell /usr/bin/false + dscl . -create /Users/pcp RealName 'Performance Co-Pilot' + dscl . -create /Users/pcp NFSHomeDirectory /var/lib/pcp + dscl . -create /Users/pcp PrimaryGroupID $groupid + dscl . -create /Users/pcp Password \* + dscl . append /Groups/pcp GroupMembership pcp +fi + +chown -R pcp:pcp /var/log/pcp/pmcd 2>/dev/null +chown -R pcp:pcp /var/log/pcp/pmlogger 2>/dev/null +chown -R pcp:pcp /var/log/pcp/pmie 2>/dev/null +chown -R pcp:pcp /var/log/pcp/pmwebd 2>/dev/null +chown -R pcp:pcp /var/log/pcp/pmproxy 2>/dev/null + +status=0 |