wok annotate get-google-chrome/stuff/get-google-chrome @ rev 5307

get-google-chrome: Fixed google-chrome-unstable DEPENDS
author Liu Peng <rocky@slitaz.org>
date Wed Apr 21 00:04:15 2010 +0000 (2010-04-21)
parents f9edb4f35345
children 66e68cc95aa8
rev   line source
pascal@3572 1 #!/bin/sh
pascal@3572 2 # Google Chrome is built with open source code from Chromium.
pascal@3572 3
pascal@3572 4 PACKAGE="google-chrome-unstable"
pascal@3572 5 DEBPKG="${PACKAGE}_current_i386.deb"
pascal@3572 6 URL="http://dl.google.com/linux/direct/$DEBPKG"
pascal@3572 7 CUR_DIR=$(pwd)
pascal@3572 8 TEMP_DIR=/tmp/$PACKAGE-$$
rocky@5116 9 ROOT=
rocky@5116 10 FORCED=
rocky@5116 11
rocky@5116 12 while getopts "hfr:" option; do
rocky@5116 13 case $option in
rocky@5116 14 h) echo -e "Usage: $(basename $0) [-f|-r path]\n -f: force install.\n -r path: root directory."; exit 1 ;;
rocky@5116 15 f) FORCED="--forced" ;;
rocky@5116 16 r) ROOT=$OPTARG ;;
rocky@5116 17 \?) echo "Wrong argument, Exit ...."; exit 1 ;;
rocky@5116 18 esac
rocky@5116 19 done
pascal@3572 20
pascal@3572 21 # Check if we are root
pascal@3572 22 if test $(id -u) != 0 ; then
pascal@3572 23 echo -e "\nYou must be root to run `basename $0`."
pascal@3572 24 echo -e "Please type 'su' and root password to become super-user.\n"
pascal@3572 25 exit 1
pascal@3572 26 fi
pascal@3572 27
pascal@3572 28 # Avoid reinstall
rocky@5116 29 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ] && [ -z $FORCED ]; then
rocky@5116 30 echo -e "\n$PACKAGE package is already installed, add '-f' option to force install.\n"
pascal@3572 31 exit 1
pascal@3572 32 fi
pascal@3572 33
pascal@3572 34 # Create a TEMP_DIR
pascal@3572 35 mkdir $TEMP_DIR
pascal@3572 36 cd $TEMP_DIR
pascal@3572 37
pascal@3572 38 # Download the file
pascal@3572 39 wget $URL
pascal@3893 40 if [ ! -f $DEBPKG ]; then
pascal@3893 41 cd $CUR_DIR
pascal@3893 42 rm -rf $TEMP_DIR
pascal@3893 43 echo "Could not download $DEBPKG. Exiting."
pascal@3893 44 exit 1
pascal@3893 45 fi
pascal@3572 46
rocky@3896 47 # Install binutils(ar) pkg
rocky@3896 48 if [ ! -d /var/lib/tazpkg/installed/binutils ]; then
rocky@3896 49 tazpkg get-install binutils
rocky@3896 50 fi
rocky@3896 51 if [ ! -f /usr/bin/ar ]; then
rocky@3896 52 cd $CUR_DIR
rocky@3896 53 rm -rf $TEMP_DIR
rocky@3896 54 echo "Could not extract $DEBPKG. Exiting."
rocky@3896 55 exit 1
rocky@3896 56 fi
rocky@3896 57
pascal@3572 58 ar x $DEBPKG control.tar.gz data.tar.lzma && lzma d data.tar.lzma -so | tar xf -
pascal@3572 59 tar xzf control.tar.gz ./control
pascal@3572 60 VERSION=`sed -n 's/Version:\ *//p' control`
pascal@3572 61
jozee@4988 62 # extracted pkg can be removed: Save RAM
jozee@4988 63 rm -rf $DEBPKG
jozee@4988 64
pascal@3572 65 mkdir -p $PACKAGE-$VERSION/fs
pascal@3572 66 mv usr opt $PACKAGE-$VERSION/fs
pascal@3572 67
rocky@5243 68 # delete man page
rocky@5243 69 rm -rf $PACKAGE-$VERSION/fs/usr/share/man/
rocky@5243 70
pascal@3572 71 cd $TEMP_DIR
pascal@3572 72
pascal@3572 73 cat > $PACKAGE-$VERSION/receipt << EOT
pascal@3572 74 PACKAGE="$PACKAGE"
pascal@3572 75 VERSION="$VERSION"
pascal@3572 76 CATEGORY="non-free"
pascal@3572 77 SHORT_DESC="The web browser from Google."
rocky@5307 78 DEPENDS="gtk+ GConf lzma flash-plugin bash xdg-utils xorg-libXss"
pascal@3572 79 WEB_SITE="http://www.google.com/chrome/"
pascal@3572 80
pascal@3572 81 post_install()
pascal@3572 82 {
pascal@3572 83 local root
pascal@3572 84 root=$1
pascal@3572 85 ln -s /usr/lib/libnspr4.so $root/usr/lib/libnspr4.so.0d 2> /dev/null
pascal@3572 86 ln -s /usr/lib/libnss3.so $root/usr/lib/libnss3.so.1d 2> /dev/null
pascal@3572 87 ln -s /usr/lib/libnssutil3.so $root/usr/lib/libnssutil3.so.1d 2> /dev/null
pascal@3572 88 ln -s /usr/lib/libplc4.so $root/usr/lib/libplc4.so.0d 2> /dev/null
pascal@3572 89 ln -s /usr/lib/libplds4.so $root/usr/lib/libplds4.so.0d 2> /dev/null
pascal@3572 90 ln -s /usr/lib/libsmime3.so $root/usr/lib/libsmime3.so.1d 2> /dev/null
pascal@3572 91 ln -s /usr/lib/libssl3.so $root/usr/lib/libssl3.so.1d 2> /dev/nul
rocky@3935 92 sed -i 's/exec -a "$0"/exec /' $root/usr/bin/google-chrome 2> /dev/null
rocky@5080 93
rocky@5080 94 # Add icons to the system icons
rocky@5080 95 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`"
rocky@5080 96 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then
rocky@5080 97 echo "Error: Could not find xdg-icon-resource" >&2
rocky@5080 98 return 1
rocky@5080 99 fi
rocky@5080 100 for icon in "/opt/google/chrome/product_logo_"*.png; do
rocky@5080 101 size="\${icon##*/product_logo_}"
rocky@5080 102 "\$XDG_ICON_RESOURCE" install --size "\${size%.png}" "\$icon" "google-chrome"
rocky@5080 103 done
rocky@5080 104
rocky@5080 105 # Add an entry to the system menu
rocky@5080 106 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`"
rocky@5080 107 UPDATE_MENUS="\`which update-menus 2> /dev/null\`"
rocky@5080 108 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then
rocky@5080 109 echo "Error: Could not find xdg-desktop-menu" >&2
rocky@5080 110 return 1
rocky@5080 111 fi
rocky@5080 112 "\$XDG_DESKTOP_MENU" install /opt/google/chrome/google-chrome.desktop
rocky@5080 113
rocky@5080 114 if [ -x "\$UPDATE_MENUS" ]; then
rocky@5080 115 update-menus
rocky@5080 116 fi
pascal@3572 117 }
pascal@3572 118 pre_remove()
pascal@3572 119 {
pascal@3572 120 rm -f /usr/lib/libnspr4.so.0d \
pascal@3572 121 /usr/lib/libnss3.so.1d \
pascal@3572 122 /usr/lib/libnssutil3.so.1d \
pascal@3572 123 /usr/lib/libplc4.so.0d \
pascal@3572 124 /usr/lib/libplds4.so.0d \
pascal@3572 125 /usr/lib/libsmime3.so.1d \
pascal@3572 126 /usr/lib/libssl3.so.1d 2> /dev/nul
rocky@5080 127
rocky@5080 128 # Remove icons from the system icons
rocky@5080 129 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`"
rocky@5080 130 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then
rocky@5080 131 echo "Error: Could not find xdg-icon-resource" >&2
rocky@5080 132 return 1
rocky@5080 133 fi
rocky@5080 134 for icon in "/opt/google/chrome/product_logo_"*.png; do
rocky@5080 135 size="\${icon##*/product_logo_}"
rocky@5080 136 "\$XDG_ICON_RESOURCE" uninstall --size "\${size%.png}" "google-chrome"
rocky@5080 137 done
rocky@5080 138
rocky@5080 139 # Remove the entry from the system menu
rocky@5080 140 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`"
rocky@5080 141 UPDATE_MENUS="\`which update-menus 2> /dev/null\`"
rocky@5080 142 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then
rocky@5080 143 echo "Error: Could not find xdg-desktop-menu" >&2
rocky@5080 144 return 1
rocky@5080 145 fi
rocky@5080 146 "\$XDG_DESKTOP_MENU" uninstall /opt/google/chrome/google-chrome.desktop
rocky@5080 147
rocky@5080 148 if [ -x "\$UPDATE_MENUS" ]; then
rocky@5080 149 update-menus
rocky@5080 150 fi
pascal@3572 151 }
pascal@3572 152 EOT
pascal@3572 153
pascal@3572 154 # Pack
pascal@3572 155 tazpkg pack $PACKAGE-$VERSION
pascal@3572 156
jozee@4988 157 # Clean to save RAM memory
jozee@4988 158 rm -rf $PACKAGE-$VERSION
jozee@4988 159
pascal@3572 160 # Install pseudo package
rocky@5116 161 yes y | tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT $FORCED
pascal@3572 162
pascal@3572 163 # Clean
pascal@3572 164 cd $CUR_DIR
pascal@3572 165 rm -rf $TEMP_DIR