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 |