#!/bin/bash print_help() { echo "SimplePanoramaViewer utility script" echo echo "Use:" echo " bash utility.sh OPTION [PATH_TO_INSTALL_DIR]" echo echo "Options:" echo " -i, --install Install SimplePanoramaViewer in PATH_TO_INSTALL_DIR" echo " -u, --uninstall Uninstall SimplePanoramaViewer from PATH_TO_INSTALL_DIR" echo " -p, --package Generate a package for SimplePanoramaViewer" } check_dir() { if [ -z "$1" ]; then echo "You need to pass a directory" exit fi } install() { DESTDIR=$1 check_dir "$DESTDIR" if [ -z "$2" ]; then PREFIX=$DESTDIR else PREFIX="$2" DESTDIR=$DESTDIR$PREFIX echo $DESTDIR fi mkdir -p "$DESTDIR/share/SimplePanoramaViewer/" mkdir -p "$DESTDIR/bin/" mkdir -p "$DESTDIR/share/applications" mkdir -p "$DESTDIR/share/mime/image" cp SimplePanoramaViewer "$DESTDIR/share/SimplePanoramaViewer" cp -r css "$DESTDIR/share/SimplePanoramaViewer" cp -r html "$DESTDIR/share/SimplePanoramaViewer" cp -r js "$DESTDIR/share/SimplePanoramaViewer" cp install/SimplePanoramaViewer.desktop "$DESTDIR/share/applications" cp install/pjpg.xml "$DESTDIR/share/mime/image" echo "#!/bin/bash $PREFIX/share/SimplePanoramaViewer/SimplePanoramaViewer \"\$@\"" > "$DESTDIR/bin/SimplePanoramaViewer" chmod a+x "$DESTDIR/bin/SimplePanoramaViewer" chmod -R a+r "$DESTDIR/share/SimplePanoramaViewer" } uninstall() { DIR=$1 check_dir "$DIR" rm "$DIR/bin/SimplePanoramaViewer" rm -r "$DIR/share/SimplePanoramaViewer/" rm "$DIR/share/applications/SimplePanoramaViewer.desktop" rm "$DIR/share/mime/image/pjpg.xml" } package() { DIR="/tmp/SimplePanoramaViewer" mkdir "$DIR" cp SimplePanoramaViewer "$DIR" cp -r css "$DIR" cp -r html "$DIR" cp -r js "$DIR" chmod a+x "$DIR/SimplePanoramaViewer" mkdir -p dist cd /tmp || exit tar Jcvf "SimplePanoramaViewer.tar.xz" "SimplePanoramaViewer" cd - || exit cp -f "$DIR.tar.xz" dist rm -r "$DIR" rm "$DIR.tar.xz" } case "$1" in "-h" | "--help") print_help ;; "-i" | "--install") install "$2" "$3" ;; "-u" | "--uninstall") uninstall "$2" ;; "-p" | "--package") package ;; *) print_help ;; esac