components/desktop/desktop-cache/files/icon-cache
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Wed, 27 Apr 2016 22:34:47 -0700
changeset 5889 d78a523a8925
permissions -rwxr-xr-x
23169122 Move desktop-cache package to Userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5889
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     1
#!/bin/ksh -p
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     2
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     3
# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     4
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     5
# Permission is hereby granted, free of charge, to any person obtaining a
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     6
# copy of this software and associated documentation files (the
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     7
# "Software"), to deal in the Software without restriction, including
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     8
# without limitation the rights to use, copy, modify, merge, publish,
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     9
# distribute, and/or sell copies of the Software, and to permit persons
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    10
# to whom the Software is furnished to do so, provided that the above
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    11
# copyright notice(s) and this permission notice appear in all copies of
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    12
# the Software and that both the above copyright notice(s) and this
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    13
# permission notice appear in supporting documentation.
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    14
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    15
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    16
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    17
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    18
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    19
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    20
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    21
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    22
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    23
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    24
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    25
# Except as contained in this notice, the name of a copyright holder
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    26
# shall not be used in advertising or otherwise to promote the sale, use
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    27
# or other dealings in this Software without prior written authorization
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    28
# of the copyright holder.
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    29
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    30
###########################################################################
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    31
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    32
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    33
PATH=/usr/bin:/usr/sbin
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    34
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    35
. /lib/svc/share/smf_include.sh
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    36
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    37
USAGE="Usage: $0 { start | refresh }"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    38
FIND_NEWER=/usr/share/desktop-cache/find_newer
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    39
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    40
if [ $# -ne 1 ] ; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    41
    echo $USAGE
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    42
    exit 2
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    43
fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    44
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    45
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    46
# for each icon directory update the icon cache if:
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    47
#  - a index.theme file exist 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    48
# AND 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    49
#  - icons in the directory tree are newer than the icon cache
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    50
# OR
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    51
#  - if no cache exist but subdirectories (hence icons) are present
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    52
#
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    53
ICONDIR="/usr/share/icons"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    54
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    55
start_icon_cache ()
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    56
{
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    57
test -x /usr/bin/gtk-update-icon-cache || {
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    58
    echo "gtk-update-icon-cache not installed"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    59
    return
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    60
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    61
test -w $ICONDIR || { 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    62
  echo "$ICONDIR is not writable, skipping."
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    63
  return
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    64
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    65
for DIR in /usr/share/icons/*; do
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    66
     if [ -a "$DIR/index.theme" ] ; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    67
      if [ -a "$DIR/icon-theme.cache" ] ; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    68
	RESULT=`${FIND_NEWER} -f -m -c --newer $DIR/icon-theme.cache $DIR 2>/dev/null`
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    69
      else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    70
	RESULT=`/usr/bin/find $DIR -type d`
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    71
	if [ ${#RESULT} == ${#DIR} ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    72
	  echo "$DIR doesn't contain subdirectories.  No icon cache is needed"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    73
	  RESULT=""
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    74
	else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    75
	  RESULT="nocache"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    76
	fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    77
      fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    78
      if [ -n "$RESULT" ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    79
	  if [ "$RESULT" == "nocache" ]; then 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    80
	    echo "No icon cache found in $DIR.  Generating one."
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    81
	  else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    82
	    echo "Icons newer than the cache found in $DIR.  Updating the cache." 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    83
	  fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    84
	  rm -f $DIR/.icon-theme.cache
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    85
	  /usr/bin/gtk-update-icon-cache $DIR 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    86
	  if [ $? -ne 0 ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    87
	    echo "/usr/bin/gtk-update-icon-cache exited with an error while \
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    88
generating the icon cache for $DIR." 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    89
	  else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    90
	    echo "Icon cache successfully generated in $DIR"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    91
	  fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    92
      fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    93
     fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    94
done
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    95
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    96
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    97
refresh_icon_cache ()
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    98
{
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    99
test -x /usr/bin/gtk-update-icon-cache || {
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   100
    echo "gtk-update-icon-cache not installed"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   101
    return
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   102
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   103
test -w $ICONDIR || { 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   104
  echo "$ICONDIR is not writable, skipping."
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   105
  return
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   106
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   107
for DIR in /usr/share/icons/*; do
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   108
     if [ -a "$DIR/index.theme" ] ; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   109
      if [ -a "$DIR/icon-theme.cache" ] ; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   110
	rm -f $DIR/icon-theme.cache
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   111
	RESULT=`/usr/bin/find $DIR ! -type d -follow 2>/dev/null`
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   112
      else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   113
	RESULT=`/usr/bin/find $DIR -type d`
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   114
	if [ ${#RESULT} == ${#DIR} ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   115
	  echo "$DIR doesn't contain subdirectories.  No icon cache is needed"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   116
	  RESULT=""
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   117
	else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   118
	  RESULT="nocache"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   119
	fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   120
      fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   121
      if [ -n "$RESULT" ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   122
	  if [ "$RESULT" == "nocache" ]; then 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   123
	    echo "No icon cache found in $DIR.  Generating one."
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   124
	  else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   125
	    echo "Icons newer than the cache found in $DIR.  Updating the cache." 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   126
	  fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   127
	  rm -f $DIR/.icon-theme.cache
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   128
	  /usr/bin/gtk-update-icon-cache $DIR 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   129
	  if [ $? -ne 0 ]; then
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   130
	    echo "/usr/bin/gtk-update-icon-cache exited with an error while \
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   131
generating the icon cache for $DIR." 
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   132
	  else
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   133
	    echo "Icon cache successfully generated in $DIR"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   134
	  fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   135
      fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   136
     fi
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   137
done
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   138
}
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   139
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   140
METHOD=$1
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   141
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   142
case $METHOD in
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   143
    'start')
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   144
	# Continue with rest of script
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   145
	;;
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   146
    'refresh')
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   147
	;;
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   148
    -*)
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   149
	echo $USAGE
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   150
	exit 2
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   151
	;;
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   152
    *)
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   153
	echo "Invalid method $METHOD"
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   154
	exit 2
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   155
	;;
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   156
esac
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   157
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   158
${METHOD}_icon_cache
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   159
d78a523a8925 23169122 Move desktop-cache package to Userland
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   160
exit $SMF_EXIT_OK