CASA/yast2-CASA/src/icons/install_casa_yast_icons

450 lines
15 KiB
Plaintext
Raw Normal View History

2006-04-14 22:38:26 +02:00
#! /bin/bash
#------------------------------------------------------------------------------
#
# install_yast_icons
#
#------------------------------------------------------------------------------
# Comments to:
# support@novell.com
#------------------------------------------------------------------------------
#
# Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; version 2.1
# of the License.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, Novell, Inc.
#
# To contact Novell about this file by physical or electronic mail,
# you may find current contact information at www.novell.com.
#
2006-04-14 22:38:26 +02:00
#
#------------------------------------------------------------------------------
#
# START_DIR = pwd - the current working directory
# this is the directory where this script is executed from
2006-04-14 22:38:26 +02:00
#
#------------------------------------------------------------------------------
VERSION=1.6
SCRIPT_NAME='install_casa_yast_icons'
START_DIR=`pwd`
DATE=`date`
SOURCE22_ICON=CASA_22.png
SOURCE32_ICON=CASA_32.png
SOURCE48_ICON=CASA_48.png
DEST_ICON=CASA.png
2006-04-14 22:38:26 +02:00
determineIfSourceExists ()
{
if [ ! -e $ICON_SOURCE/$SOURCE22_ICON ]
then
echo ""
echo "[$SCRIPT_NAME] ERROR: The icon source file:"
echo "[$SCRIPT_NAME] $ICON_SOURCE/$DIR_22/$ICON_FILE"
echo "[$SCRIPT_NAME] was not found."
echo ""
# echo "ERROR: Icon source file not found: $ICON_SOURCE/$DIR_22/$ICON_FILE" 1>>$LOG_DIR_FILE
exit 3
fi
if [ ! -e $ICON_SOURCE/$SOURCE32_ICON ]
then
echo ""
echo "[$SCRIPT_NAME] ERROR: The icon source file:"
echo "[$SCRIPT_NAME] $ICON_SOURCE/$DIR_32/$ICON_FILE"
echo "[$SCRIPT_NAME] was not found."
echo ""
# echo "ERROR: Icon source file not found: $ICON_SOURCE/$DIR_32/$ICON_FILE" 1>>$LOG_DIR_FILE
exit 3
fi
if [ ! -e $ICON_SOURCE/$SOURCE48_ICON ]
then
echo ""
echo "[$SCRIPT_NAME] ERROR: The icon source file:"
echo "[$SCRIPT_NAME] $ICON_SOURCE/$DIR_48/$ICON_FILE"
echo "[$SCRIPT_NAME] was not found."
echo ""
# echo "ERROR: Icon source file not found: $ICON_SOURCE/$DIR_48/$ICON_FILE" 1>>$LOG_DIR_FILE
exit 3
fi
}
determineIfCopyDeleteRequired ()
{
for YAST_THEME_DIR in $YAST_THEME_DIRS
do
if [ ! -h $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR ]
then
if [ -d $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR ]
then
if [ -e $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$ICON_FILE ]
then
DELETE_ICONS="yes"
else
COPY_ICONS="yes"
fi
if [ -e $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$ICON_FILE ]
then
DELETE_ICONS="yes"
else
COPY_ICONS="yes"
fi
if [ -e $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$ICON_FILE ]
then
DELETE_ICONS="yes"
else
COPY_ICONS="yes"
fi
fi
fi
done
}
copyDeleteIcons ()
{
for YAST_THEME_DIR in $YAST_THEME_DIRS
do
if [ -z "$LAUNCHER" ]
then
echo ""
fi
if [ -h $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR ]
then
if [ -z "$LAUNCHER" ]
then
echo "[$SCRIPT_NAME] skip $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR because it is a link"
fi
# echo "skip $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR because it is a link" 1>>$LOG_DIR_FILE
else
if [ -d $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR ]
then
if [ -z "$LAUNCHER" ]
then
echo "[$SCRIPT_NAME] processing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR"
fi
# echo "processing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR" 1>>$LOG_DIR_FILE
if [ "$MODE" = "install" ]
then
echo "[$SCRIPT_NAME] installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$ICON_FILE"
# echo "installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
if [ ! -d $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR ]
then
mkdir -p $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR
fi
cp -r $ICON_SOURCE/$SOURCE22_ICON $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$DEST_ICON
else
echo "[$SCRIPT_NAME] uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$ICON_FILE"
# echo "uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
rm -f $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_22/$APPS_DIR/$DEST_ICON
fi
if [ "$MODE" = "install" ]
then
echo "[$SCRIPT_NAME] installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$ICON_FILE"
# echo "installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
if [ ! -d $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR ]
then
mkdir -p $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR
fi
cp -r $ICON_SOURCE/$SOURCE32_ICON $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$DEST_ICON
else
echo "[$SCRIPT_NAME] uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$ICON_FILE"
# echo "uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
rm -f $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_32/$APPS_DIR/$DEST_ICON
fi
if [ "$MODE" = "install" ]
then
echo "[$SCRIPT_NAME] installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$ICON_FILE"
# echo "installing $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
if [ ! -d $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR ]
then
mkdir -p $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR
fi
cp -r $ICON_SOURCE/$SOURCE48_ICON $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$DEST_ICON
else
echo "[$SCRIPT_NAME] uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$ICON_FILE"
# echo "uninstalling $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$ICON_FILE" 1>>$LOG_DIR_FILE
rm -f $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR/$ICONS_DIR/$DIR_48/$APPS_DIR/$DEST_ICON
fi
else
if [ -z "$LAUNCHER" ]
then
echo "[$SCRIPT_NAME] skip $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR because it is not a directory"
fi
# echo "skip $YAST_THEME_DIR_PREFIX/$YAST_THEME_DIR because it is not a directory" 1>>$LOG_DIR_FILE
fi
fi
done
}
#----------------------------------------------------------------------------
# the MAIN routine
#---------------------------------------------------------------------------
COPY_ICONS="no"
DELETE_ICONS="no"
YAST_THEME_DIR_PREFIX="/usr/share/YaST2/theme"
YAST_THEME_DIRS=`ls $YAST_THEME_DIR_PREFIX`
#LOG_DIR="/var/opt/novell/log/ncl"
#LOG_FILE="install_yast_icons.log"
#LOG_DIR_FILE="$LOG_DIR/$LOG_FILE"
DIR_22=22x22
DIR_32=32x32
DIR_48=48x48
ICON_SOURCE="/usr/share/pixmaps"
APPS_DIR="apps"
ICONS_DIR="icons"
ICON_FILE="CASA.png"
2006-04-14 22:38:26 +02:00
if [ -z "$1" ]
then
MODE="install"
else
MODE=$1
if [ -z "$2" ]
then
LAUNCHER=""
else
LAUNCHER=$2
fi
fi
echo ""
echo "[$SCRIPT_NAME] $SCRIPT_NAME v$VERSION"
#if [ ! -d $LOG_DIR ]
#then
# mkdir -p $LOG_DIR
#fi
#echo "" 1>>$LOG_DIR_FILE
#echo "$SCRIPT_NAME v$VERSION - $DATE" 1>>$LOG_DIR_FILE
#echo "mode = <$MODE>" 1>>$LOG_DIR_FILE
#echo "launcher = <$LAUNCHER>" 1>>$LOG_DIR_FILE
# verify that a valid mode was entered
case "$MODE" in
"install" | "uninstall" )
# echo "<$MODE> is a valid mode" 1>>$LOG_DIR_FILE
;;
"usage" | "help" | "-?" )
echo ""
echo "[$SCRIPT_NAME] usage: $SCRIPT_NAME [ install | uninstall | usage | help | -? ]"
echo ""
# echo "usage: $SCRIPT_NAME [ install | uninstall | usage | help | -? ]" 1>>$LOG_DIR_FILE
exit 1
;;
* )
echo ""
echo "[$SCRIPT_NAME] invalid mode: <$MODE>"
echo "[$SCRIPT_NAME] usage: $SCRIPT_NAME [ install | uninstall | usage | help | -? ]"
echo ""
# echo "invalid mode: <$MODE>" 1>>$LOG_DIR_FILE
exit 1
;;
esac
# verify that a valid launcher was entered
case "$LAUNCHER" in
"YaST" | "rpm" )
# echo "<$LAUNCHER> is a valid launcher" 1>>$LOG_DIR_FILE
;;
* )
if [ -n "$2" ]
then
echo ""
echo "[$SCRIPT_NAME] invalid option: <$LAUNCHER>"
echo "[$SCRIPT_NAME] usage: $SCRIPT_NAME [ install | uninstall | usage | help | -? ]"
echo ""
# echo "invalid launcher: <$LAUNCHER>" 1>>$LOG_DIR_FILE
exit 1
fi
;;
esac
# validate that the user running the script is root
ROOT_UID=0
#echo "User id = <$UID>" 1>>$LOG_DIR_FILE
if [ "$UID" -ne "$ROOT_UID" ]
then
echo ""
echo "[$SCRIPT_NAME] ERROR: You are not the root user."
echo "[$SCRIPT_NAME] To install or uninstall the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons you must login as the root user."
echo ""
# echo "ERROR: You are not the root user." 1>>$LOG_DIR_FILE
exit 2
fi
# verifty that the icons can be installed
if [ "$MODE" = "install" ]
then
determineIfSourceExists
fi
# verify that the icons need to be installed or uninstalled
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Determining if the Novell Client for Linux"
if [ "$MODE" = "install" ]
then
echo "[$SCRIPT_NAME] YaST icons need to be installed."
else
echo "[$SCRIPT_NAME] YaST icons need to be uninstalled."
fi
echo "[$SCRIPT_NAME] Please wait..."
fi
if [ "$MODE" = "install" ]
then
if [ "$LAUNCHER" = "YaST" ]
then
determineIfCopyDeleteRequired
else
COPY_ICONS="yes"
fi
else
determineIfCopyDeleteRequired
fi
# install or uninstall the icons
if [ "$MODE" = "install" ]
then
if [ "$COPY_ICONS" = "yes" ]
then
if [ -n "$LAUNCHER" ]
then
CONTINUE="y"
else
echo ""
echo "[$SCRIPT_NAME] This script installs the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons in all of the YaST theme directories."
echo ""
echo "[$SCRIPT_NAME] Are you sure you want to install the YaST icons? (y/n)"
read CONTINUE
fi
else
echo ""
echo "[$SCRIPT_NAME] The Novell Client for Linux YaST icons are already installed"
echo ""
# echo "The Novell Client for Linux YaST icons are already installed" 1>>$LOG_DIR_FILE
exit
fi
else
if [ "$DELETE_ICONS" = "yes" ]
then
if [ -n "$LAUNCHER" ]
then
CONTINUE="y"
else
echo ""
echo "[$SCRIPT_NAME] This script uninstalls the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons in all of the YaST theme directories."
echo ""
echo "[$SCRIPT_NAME] Are you sure you want to uninstall the YaST icons? (y/n)"
read CONTINUE
fi
else
echo ""
echo "[$SCRIPT_NAME] The Novell Client for Linux YaST icons are already uninstalled"
echo ""
# echo "The Novell Client for Linux YaST icons are already uninstalled" 1>>$LOG_DIR_FILE
exit
fi
fi
if [ "$CONTINUE" = "y" ]
then
if [ "$MODE" = "install" ]
then
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Installing Novell Client for Linux YaST icons"
echo "[$SCRIPT_NAME] Please wait..."
fi
copyDeleteIcons
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Installation of the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons completed"
echo ""
fi
# echo "Installation of the Novell Client for Linux YaST icons completed" 1>>$LOG_DIR_FILE
exit
else
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Uninstalling Novell Client for Linux YaST icons"
echo "[$SCRIPT_NAME] Please wait..."
fi
copyDeleteIcons
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Uninstallation of the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons completed"
echo ""
fi
# echo "Uninstallation of the Novell Client for Linux YaST icons completed" 1>>$LOG_DIR_FILE
exit
fi
else
if [ "$MODE" = "install" ]
then
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Installation of the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons cancelled"
echo ""
fi
# echo "Installation of the Novell Client for Linux YaST icons cancelled" 1>>$LOG_DIR_FILE
exit
else
if [ -z "$LAUNCHER" ]
then
echo ""
echo "[$SCRIPT_NAME] Uninstallation of the Novell Client for Linux"
echo "[$SCRIPT_NAME] YaST icons cancelled"
echo ""
fi
# echo "Uninstallation of the Novell Client for Linux YaST icons cancelled" 1>>$LOG_DIR_FILE
exit
fi
fi
exit