| Index: installer/linux/generic/setup.sh
|
| ===================================================================
|
| --- installer/linux/generic/setup.sh (revision 0)
|
| +++ installer/linux/generic/setup.sh (revision 0)
|
| @@ -0,0 +1,155 @@
|
| +#!/bin/sh
|
| +# Installs O3D plugin for Linux.
|
| +#
|
| +# Copyright 2009, Google Inc.
|
| +# All rights reserved.
|
| +#
|
| +# Redistribution and use in source and binary forms, with or without
|
| +# modification, are permitted provided that the following conditions are
|
| +# met:
|
| +#
|
| +# * Redistributions of source code must retain the above copyright
|
| +# notice, this list of conditions and the following disclaimer.
|
| +# * Redistributions in binary form must reproduce the above
|
| +# copyright notice, this list of conditions and the following disclaimer
|
| +# in the documentation and/or other materials provided with the
|
| +# distribution.
|
| +# * Neither the name of Google Inc. nor the names of its
|
| +# contributors may be used to endorse or promote products derived from
|
| +# this software without specific prior written permission.
|
| +#
|
| +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| +
|
| +PATH=$PATH:/usr/bin/:/usr/local/bin
|
| +
|
| +CheckArch() {
|
| + # Look for 32 or 64 bit arch from the kernel. If we can not get a read
|
| + # on the arch, we'll go with "unknown".
|
| + ARCH=$(uname -m)
|
| + case $ARCH in
|
| + i?86 | i86*)
|
| + ARCH="32bit";;
|
| + x86_64 | amd64)
|
| + ARCH="64bit";;
|
| + *)
|
| + ARCH="unknown";;
|
| + esac
|
| +
|
| + echo "System architecture mapped to: $ARCH"
|
| +}
|
| +
|
| +
|
| +SetRootUser() {
|
| + # We need to be root (or run as sudo) in order to perform setup.
|
| + USER=$(id -u)
|
| + if [ "$USER" != "0" ]; then
|
| + echo "You must be root (or sudo) to install this package."
|
| + exit 1
|
| + fi
|
| +}
|
| +
|
| +
|
| +SetupO3d() {
|
| + # Create npapi plugin directories, copy and symlink libs.
|
| + O3D_DIR="/opt/google/o3d"
|
| +
|
| + PLUGIN_DIRS="/usr/lib/firefox/plugins
|
| + /usr/lib/iceape/plugins
|
| + /usr/lib/iceweasel/plugins
|
| + /usr/lib/midbrowser/plugins
|
| + /usr/lib/mozilla/plugins
|
| + /usr/lib/xulrunner/plugins
|
| + /usr/lib/xulrunner-addons/plugins"
|
| +
|
| + LIBS="libCg.so
|
| + libCgGL.so
|
| + libGLEW.so.1.5"
|
| +
|
| + LIB3D="libnpo3dautoplugin.so"
|
| +
|
| + echo -n "Creating plugin directories..."
|
| + mkdir -p $PLUGIN_DIRS $O3D_DIR
|
| + echo "ok"
|
| +
|
| + echo -n "Copying plugins to $O3D_DIR..."
|
| + install --mode=644 ${LIB3D} $O3D_DIR
|
| + install --mode=644 ${LIBS} $O3D_DIR
|
| + echo "ok"
|
| +
|
| + echo -n "Creating symlinks to plugins..."
|
| + for dir in $PLUGIN_DIRS; do
|
| + ln -sf ${O3D_DIR}/${LIB3D} ${dir}/
|
| + done
|
| + echo "ok"
|
| +
|
| + # If 32bit arch, use /usr/lib. If 64bit, use /usr/lib32
|
| + if [ "$ARCH" = "32bit" ]; then
|
| + LIBDIR="/usr/lib"
|
| + elif [ "$ARCH" = "64bit" ]; then
|
| + LIBDIR="/usr/lib32"
|
| + NP_WRAP="yes"
|
| + else
|
| + echo "$ARCH not recognized"
|
| + exit 1
|
| + fi
|
| +
|
| + echo -n "Creating symlinks to libs..."
|
| + mkdir -p $LIBDIR
|
| + for lib in $LIBS; do
|
| + if [ -e "${LIBDIR}/${lib}" ]; then
|
| + echo "$lib already exists, not replacing."
|
| + else
|
| + ln -s ${O3D_DIR}/${lib} ${LIBDIR}/
|
| + fi
|
| + done
|
| + echo "ok"
|
| +
|
| + # 64bit only: Check for nspluginwrapper, wrap libnpo3dautoplugin.so if found.
|
| + if [ "$NP_WRAP" = "yes" ]; then
|
| + echo -n "Attempting to wrap $LIB3D via nspluginwrapper..."
|
| + NSPW=$(which nspluginwrapper)
|
| + if [ -z "$NSPW" ]; then
|
| + echo "nspluginwrapper not found. Without nspluginwrapper you will be"
|
| + echo "unable to use O3D in 64-bit browsers. Continue installation? (y/n)"
|
| + read answer
|
| + if [ "$answer" = "y" ]; then
|
| + echo "Ok, Installation complete."
|
| + exit 0
|
| + else
|
| + echo "Aborted install at user request."
|
| + exit 1
|
| + fi
|
| + fi
|
| + WRAPPED_PLUGIN_PATH="/usr/lib/mozilla/plugins/npwrapper.libnpo3dautoplugin.so"
|
| + APPS="iceape iceweasel firefox xulrunner midbrowser xulrunner-addons"
|
| + echo -n "Wrapping $LIB3D..."
|
| + $NSPW -i ${O3D_DIR}/${LIB3D}
|
| + echo "ok"
|
| + echo -n "Creating symlinks to npwrapper.libnpo3dautoplugin.so..."
|
| + for app in $APPS; do
|
| + ln -sf $WRAPPED_PLUGIN_PATH /usr/lib/${app}/plugins/
|
| + done
|
| + echo "ok"
|
| + fi
|
| +
|
| + if [ $? -ne 0 ]; then
|
| + echo "Installation failed"
|
| + exit 1
|
| + else
|
| + echo "Installation completed successfully!"
|
| + fi
|
| +}
|
| +
|
| +CheckArch
|
| +SetRootUser
|
| +SetupO3d
|
|
|
| Property changes on: installer/linux/generic/setup.sh
|
| ___________________________________________________________________
|
| Added: svn:executable
|
| + *
|
|
|
|
|