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