blob: 2c5f23bf8a58379aa3a286e9c11bdf498b0203af [file] [log] [blame]
# *************************************************************
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# *************************************************************
%system solaris
%postinstall << END
#
# Need to check diskless service install and make sure use the correct unpkg
#
DISKLESS_SRVC=`echo $$BASEDIR | /usr/bin/grep export/Solaris_[1-9][0-9]/usr_$${ARCH}.all`
if [ "$$DISKLESS_SRVC" ]; then
UNOPKG=/export/Solaris_11/usr_`uname -p`.allPRODUCTDIRECTORYNAME/program/unopkg
POSTRUN=$$PKG_INSTALL_ROOT/usr_`uname -p`.all/usr/lib/postrun
CLIENT_BASEDIR=$$PKG_INSTALL_ROOT/usr_$${ARCH}.all
else
UNOPKG=$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg
POSTRUN=$$PKG_INSTALL_ROOT/usr/lib/postrun
fi
# Use postrun command on Solaris where available (OpenSolaris)
if [ -x $$POSTRUN ]; then
( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0"
echo "umask 022"
echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync"
echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
) | $$POSTRUN -b -c UNOPKG
if [ "$$?" != "0" ]; then
echo "\nERROR: Installation of UNO extensions"
echo " through $$POSTRUN failed."
exit 1
fi
else
# No postrun available, try running unopkg directly
"$$UNOPKG" sync
find "$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
if [ "$$?" != "0" ]; then
echo "\nERROR: Installation of UNO extensions failed."
test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root install requires SUNWpostrun package to be installed"
echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.'
exit 1
fi
fi
exit 0
END
%postremove << END
# Use postrun command on Solaris where available (OpenSolaris)
if [ -x $$PKG_INSTALL_ROOT/usr/lib/postrun ]; then
( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0"
echo "cd \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program\""
echo "umask 022"
echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync"
echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
) | $$PKG_INSTALL_ROOT/usr/lib/postrun -c UNOPKG
else
# No postrun available, try running unopkg directly
test -x $$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg || exit 0
"$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg" sync
echo "find \"$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;"
if [ "$$?" != "0" ]; then
echo "\nERROR: Removal of UNO extension failed."
test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root uninstall requires SUNWpostrun package to be installed"
echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.'
exit 1
fi
fi
exit 0
END
%system linux
%format rpm
%postinstall << END
if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
"$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync
if [ "$$?" != "0" ]; then
echo "ERROR: Registration of extensions failed!"
exit 1
else
echo "SUCCESS: unopkg returns successful!"
fi
find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
exit 0
END
%postremove << END
if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
"$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync
if [ "$$?" != "0" ]; then
echo "ERROR: Registration of extensions failed!"
exit 1
else
echo "SUCCESS: unopkg returns successful!"
fi
find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
exit 0
END
%format deb
%postinstall << END
if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]; then
"PRODUCTDIRECTORYNAME/program/unopkg" sync
if [ "$$?" != "0" ]; then
echo "ERROR: Registration of extensions failed!"
exit 1
else
echo "SUCCESS: unopkg returns successful!"
fi
find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
exit 0
END
%postremove << END
if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]
then
"PRODUCTDIRECTORYNAME/program/unopkg" sync
if [ "$$?" != "0" ]; then
echo "ERROR: Registration of extensions failed!"
exit 1
else
echo "SUCCESS: unopkg returns successful!"
fi
find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \;
fi
exit 0
END
%system all