%system solaris

%postinstall << END

if [ -n "$$TMPDIR" ]; then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]; then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/usr/bin/mktemp" ]
then
  INSTDIR=`/usr/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

#
# 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`.all/opt/staroffice9/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\" add --shared --bundled \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
) | $$POSTRUN -b -c UNOPKG
  if [ "$$?" != "0" ]; then
    echo "\nERROR: Installation of UNO extension ${OXTFILENAME}"
    echo " through $$POSTRUN failed."
    exit 1
  fi
else
  # No postrun available, try running unopkg directly
  "$$UNOPKG" add --shared --bundled "$$BASEDIR/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
  if [ "$$?" != "0" ]; then
    echo "\nERROR: Installation of UNO extension ${OXTFILENAME} 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

if [ -n "$$INSTDIR" ]; then
  rm -rf "$$INSTDIR"
fi

exit 0
END

%preremove << END
if [ -n "$$TMPDIR" ]; then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]; then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/usr/bin/mktemp" ]
then
  INSTDIR=`/usr/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

# 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\" remove --shared --bundled \"${OXTFILENAME}\" \"-env:UserInstallation=file:////$$INSTDIR\" '-env:UNO_JAVA_JFW_INSTALL_DATA=\$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'"
  echo "rm -rf \"$$INSTDIR\""
) | $$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" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
  if [ "$$?" != "0" ]; then
    echo "\nERROR: Removal of UNO extension ${OXTFILENAME} 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

if [ -n "$$INSTDIR" ]; then
  rm -rf "$$INSTDIR"
fi

exit 0  
END

%system linux

%format rpm

# As remove does not need the oxt file, this could potentially 
# be done in the postinstall script as well.
%preinstall << END
# if this is an update, remove the old package instance first
test "$$1" = "2" || exit 0

#Find the temp dir
if [ -n "$$TMPDIR" ]; then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]; then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
  "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]; then
  rm -rf "$$INSTDIR"
fi

exit 0
END

%postinstall << END
#Find the temp dir
if [ -n "$$TMPDIR" ]; then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]; then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
  "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" add --shared --shared "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]; then
  rm -rf "$$INSTDIR"
fi

exit 0


END

%preremove << END
# if this is an update, just do nothing
test "$$1" = "0" || exit 0

#Find the temp dir
if [ -n "$$TMPDIR" ]; then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]; then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]; then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then
  "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]; then
  rm -rf "$$INSTDIR"
fi

exit 0
END

%format deb

# As remove does not need the oxt file, this could potentially 
# be done in the postinstall script as well.
%preinstall << END
# if this is an update, remove the old package instance first
if [ "$$1" != "upgrade" ]
then
  exit 0
fi
 
#Find the temp dir
if [ -n "$$TMPDIR" ]
then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]
then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]
then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi


#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]
then
  "PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]
then
  rm -rf "$$INSTDIR"
fi

exit 0
END

%postinstall << END
#Find the temp dir
if [ -n "$$TMPDIR" ]
then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]
then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]
then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]; then
  "PRODUCTDIRECTORYNAME/program/unopkg" add --shared --bundled "PRODUCTDIRECTORYNAME/share/extension/install/${OXTFILENAME}" "-env:UserInstallation=file://////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]
then
  rm -rf "$$INSTDIR"
fi

exit 0


END

%preremove << END
# if this is an update, just do nothing

if [ "$$1" = "upgrade" ]
then
  exit 0
fi
 
#Find the temp dir
if [ -n "$$TMPDIR" ]
then
  UNOPKGTMP="$$TMPDIR"
elif [ -n "$$TMP" ]
then
  UNOPKGTMP="$$TMP"
elif [ -d "/tmp" ]
then
  UNOPKGTMP="/tmp"
else
  echo "No tmp directory found!"
  exit 1
fi

#Create the command which creates a temporary directory
if [ -x "/bin/mktemp" ]
then
  INSTDIR=`/bin/mktemp -d "$${UNOPKGTMP}/userinstall.XXXXXX"`
else
  INSTDIR="$${UNOPKGTMP}/userinstall.$$$$"
  mkdir "$$INSTDIR"
fi

if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]
then
  "PRODUCTDIRECTORYNAME/program/unopkg" remove --shared --bundled "${OXTFILENAME}" "-env:UserInstallation=file:////$$INSTDIR" '-env:UNO_JAVA_JFW_INSTALL_DATA=$$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1'
fi

if [ -n "$$INSTDIR" ]
then
  rm -rf "$$INSTDIR"
fi

exit 0
END

%system all
