wok annotate get-google-chrome/stuff/get-google-chrome @ rev 9774
bridge-utils: fix WGET_URL and clean
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Wed May 11 21:31:48 2011 +0200 (2011-05-11) |
parents | 66e68cc95aa8 |
children | e2fcb326c3a5 |
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@5328 | 47 dpkg-deb -e $DEBPKG . |
rocky@5328 | 48 VERSION=`sed -n 's/Version:\ *//p' control` |
rocky@3896 | 49 |
rocky@5328 | 50 mkdir $PACKAGE-$VERSION |
rocky@5328 | 51 |
rocky@5328 | 52 dpkg-deb -x $DEBPKG $PACKAGE-$VERSION/fs |
rocky@5328 | 53 rm -rf $PACKAGE-$VERSION/fs/usr/share |
rocky@5328 | 54 rm -rf $PACKAGE-$VERSION/fs/etc |
pascal@3572 | 55 |
jozee@4988 | 56 # extracted pkg can be removed: Save RAM |
jozee@4988 | 57 rm -rf $DEBPKG |
jozee@4988 | 58 |
pascal@3572 | 59 cat > $PACKAGE-$VERSION/receipt << EOT |
pascal@3572 | 60 PACKAGE="$PACKAGE" |
pascal@3572 | 61 VERSION="$VERSION" |
pascal@3572 | 62 CATEGORY="non-free" |
pascal@3572 | 63 SHORT_DESC="The web browser from Google." |
paul@7353 | 64 DEPENDS="gtk+ GConf lzma flash-plugin bash xdg-utils xorg-libXss cups libjpeg62" |
pascal@3572 | 65 WEB_SITE="http://www.google.com/chrome/" |
pascal@3572 | 66 |
pascal@3572 | 67 post_install() |
pascal@3572 | 68 { |
pascal@3572 | 69 local root |
pascal@3572 | 70 root=$1 |
pascal@3572 | 71 ln -s /usr/lib/libnspr4.so $root/usr/lib/libnspr4.so.0d 2> /dev/null |
pascal@3572 | 72 ln -s /usr/lib/libnss3.so $root/usr/lib/libnss3.so.1d 2> /dev/null |
pascal@3572 | 73 ln -s /usr/lib/libnssutil3.so $root/usr/lib/libnssutil3.so.1d 2> /dev/null |
pascal@3572 | 74 ln -s /usr/lib/libplc4.so $root/usr/lib/libplc4.so.0d 2> /dev/null |
pascal@3572 | 75 ln -s /usr/lib/libplds4.so $root/usr/lib/libplds4.so.0d 2> /dev/null |
pascal@3572 | 76 ln -s /usr/lib/libsmime3.so $root/usr/lib/libsmime3.so.1d 2> /dev/null |
pascal@3572 | 77 ln -s /usr/lib/libssl3.so $root/usr/lib/libssl3.so.1d 2> /dev/nul |
rocky@3935 | 78 sed -i 's/exec -a "$0"/exec /' $root/usr/bin/google-chrome 2> /dev/null |
rocky@5080 | 79 |
rocky@5080 | 80 # Add icons to the system icons |
rocky@5080 | 81 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`" |
rocky@5080 | 82 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then |
rocky@5080 | 83 echo "Error: Could not find xdg-icon-resource" >&2 |
rocky@5080 | 84 return 1 |
rocky@5080 | 85 fi |
rocky@5080 | 86 for icon in "/opt/google/chrome/product_logo_"*.png; do |
rocky@5080 | 87 size="\${icon##*/product_logo_}" |
rocky@5080 | 88 "\$XDG_ICON_RESOURCE" install --size "\${size%.png}" "\$icon" "google-chrome" |
rocky@5080 | 89 done |
rocky@5080 | 90 |
rocky@5080 | 91 # Add an entry to the system menu |
rocky@5080 | 92 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`" |
rocky@5080 | 93 UPDATE_MENUS="\`which update-menus 2> /dev/null\`" |
rocky@5080 | 94 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then |
rocky@5080 | 95 echo "Error: Could not find xdg-desktop-menu" >&2 |
rocky@5080 | 96 return 1 |
rocky@5080 | 97 fi |
rocky@5080 | 98 "\$XDG_DESKTOP_MENU" install /opt/google/chrome/google-chrome.desktop |
rocky@5080 | 99 |
rocky@5080 | 100 if [ -x "\$UPDATE_MENUS" ]; then |
rocky@5080 | 101 update-menus |
rocky@5080 | 102 fi |
pascal@3572 | 103 } |
pascal@3572 | 104 pre_remove() |
pascal@3572 | 105 { |
pascal@3572 | 106 rm -f /usr/lib/libnspr4.so.0d \ |
pascal@3572 | 107 /usr/lib/libnss3.so.1d \ |
pascal@3572 | 108 /usr/lib/libnssutil3.so.1d \ |
pascal@3572 | 109 /usr/lib/libplc4.so.0d \ |
pascal@3572 | 110 /usr/lib/libplds4.so.0d \ |
pascal@3572 | 111 /usr/lib/libsmime3.so.1d \ |
pascal@3572 | 112 /usr/lib/libssl3.so.1d 2> /dev/nul |
rocky@5080 | 113 |
rocky@5080 | 114 # Remove icons from the system icons |
rocky@5080 | 115 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`" |
rocky@5080 | 116 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then |
rocky@5080 | 117 echo "Error: Could not find xdg-icon-resource" >&2 |
rocky@5080 | 118 return 1 |
rocky@5080 | 119 fi |
rocky@5080 | 120 for icon in "/opt/google/chrome/product_logo_"*.png; do |
rocky@5080 | 121 size="\${icon##*/product_logo_}" |
rocky@5080 | 122 "\$XDG_ICON_RESOURCE" uninstall --size "\${size%.png}" "google-chrome" |
rocky@5080 | 123 done |
rocky@5080 | 124 |
rocky@5080 | 125 # Remove the entry from the system menu |
rocky@5080 | 126 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`" |
rocky@5080 | 127 UPDATE_MENUS="\`which update-menus 2> /dev/null\`" |
rocky@5080 | 128 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then |
rocky@5080 | 129 echo "Error: Could not find xdg-desktop-menu" >&2 |
rocky@5080 | 130 return 1 |
rocky@5080 | 131 fi |
rocky@5080 | 132 "\$XDG_DESKTOP_MENU" uninstall /opt/google/chrome/google-chrome.desktop |
rocky@5080 | 133 |
rocky@5080 | 134 if [ -x "\$UPDATE_MENUS" ]; then |
rocky@5080 | 135 update-menus |
rocky@5080 | 136 fi |
pascal@3572 | 137 } |
pascal@3572 | 138 EOT |
pascal@3572 | 139 |
pascal@3572 | 140 # Pack |
pascal@3572 | 141 tazpkg pack $PACKAGE-$VERSION |
pascal@3572 | 142 |
jozee@4988 | 143 # Clean to save RAM memory |
jozee@4988 | 144 rm -rf $PACKAGE-$VERSION |
jozee@4988 | 145 |
pascal@3572 | 146 # Install pseudo package |
rocky@5116 | 147 yes y | tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT $FORCED |
pascal@3572 | 148 |
pascal@3572 | 149 # Clean |
pascal@3572 | 150 cd $CUR_DIR |
pascal@3572 | 151 rm -rf $TEMP_DIR |