# ************************************************************* # # 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