wok-4.x view get-google-chrome/stuff/get-google-chrome @ rev 5080

Updated get-google-chrome: receipt for the google-chrome.desktop and icons setting.
author Liu Peng <rocky@slitaz.org>
date Mon Mar 15 01:05:51 2010 +0000 (2010-03-15)
parents 2a50b17a96b8
children f8082abc654d
line source
1 #!/bin/sh
2 # Google Chrome is built with open source code from Chromium.
4 PACKAGE="google-chrome-unstable"
5 DEBPKG="${PACKAGE}_current_i386.deb"
6 URL="http://dl.google.com/linux/direct/$DEBPKG"
7 CUR_DIR=$(pwd)
8 TEMP_DIR=/tmp/$PACKAGE-$$
9 ROOT="$1"
11 # Check if we are root
12 if test $(id -u) != 0 ; then
13 echo -e "\nYou must be root to run `basename $0`."
14 echo -e "Please type 'su' and root password to become super-user.\n"
15 exit 1
16 fi
18 # Avoid reinstall
19 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ]; then
20 echo -e "\n$PACKAGE package is already installed.\n"
21 exit 1
22 fi
24 # Create a TEMP_DIR
25 mkdir $TEMP_DIR
26 cd $TEMP_DIR
28 # Download the file
29 wget $URL
30 if [ ! -f $DEBPKG ]; then
31 cd $CUR_DIR
32 rm -rf $TEMP_DIR
33 echo "Could not download $DEBPKG. Exiting."
34 exit 1
35 fi
37 # Install binutils(ar) pkg
38 if [ ! -d /var/lib/tazpkg/installed/binutils ]; then
39 tazpkg get-install binutils
40 fi
41 if [ ! -f /usr/bin/ar ]; then
42 cd $CUR_DIR
43 rm -rf $TEMP_DIR
44 echo "Could not extract $DEBPKG. Exiting."
45 exit 1
46 fi
48 ar x $DEBPKG control.tar.gz data.tar.lzma && lzma d data.tar.lzma -so | tar xf -
49 tar xzf control.tar.gz ./control
50 VERSION=`sed -n 's/Version:\ *//p' control`
52 # extracted pkg can be removed: Save RAM
53 rm -rf $DEBPKG
55 mkdir -p $PACKAGE-$VERSION/fs
56 mv usr opt $PACKAGE-$VERSION/fs
58 cd $TEMP_DIR
60 cat > $PACKAGE-$VERSION/receipt << EOT
61 PACKAGE="$PACKAGE"
62 VERSION="$VERSION"
63 CATEGORY="non-free"
64 SHORT_DESC="The web browser from Google."
65 DEPENDS="gtk+ GConf lzma flash-plugin bash xdg-utils"
66 WEB_SITE="http://www.google.com/chrome/"
68 post_install()
69 {
70 local root
71 root=$1
72 ln -s /usr/lib/libnspr4.so $root/usr/lib/libnspr4.so.0d 2> /dev/null
73 ln -s /usr/lib/libnss3.so $root/usr/lib/libnss3.so.1d 2> /dev/null
74 ln -s /usr/lib/libnssutil3.so $root/usr/lib/libnssutil3.so.1d 2> /dev/null
75 ln -s /usr/lib/libplc4.so $root/usr/lib/libplc4.so.0d 2> /dev/null
76 ln -s /usr/lib/libplds4.so $root/usr/lib/libplds4.so.0d 2> /dev/null
77 ln -s /usr/lib/libsmime3.so $root/usr/lib/libsmime3.so.1d 2> /dev/null
78 ln -s /usr/lib/libssl3.so $root/usr/lib/libssl3.so.1d 2> /dev/nul
79 sed -i 's/exec -a "$0"/exec /' $root/usr/bin/google-chrome 2> /dev/null
81 # Add icons to the system icons
82 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`"
83 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then
84 echo "Error: Could not find xdg-icon-resource" >&2
85 return 1
86 fi
87 for icon in "/opt/google/chrome/product_logo_"*.png; do
88 size="\${icon##*/product_logo_}"
89 "\$XDG_ICON_RESOURCE" install --size "\${size%.png}" "\$icon" "google-chrome"
90 done
92 # Add an entry to the system menu
93 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`"
94 UPDATE_MENUS="\`which update-menus 2> /dev/null\`"
95 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then
96 echo "Error: Could not find xdg-desktop-menu" >&2
97 return 1
98 fi
99 "\$XDG_DESKTOP_MENU" install /opt/google/chrome/google-chrome.desktop
101 if [ -x "\$UPDATE_MENUS" ]; then
102 update-menus
103 fi
104 }
105 pre_remove()
106 {
107 rm -f /usr/lib/libnspr4.so.0d \
108 /usr/lib/libnss3.so.1d \
109 /usr/lib/libnssutil3.so.1d \
110 /usr/lib/libplc4.so.0d \
111 /usr/lib/libplds4.so.0d \
112 /usr/lib/libsmime3.so.1d \
113 /usr/lib/libssl3.so.1d 2> /dev/nul
115 # Remove icons from the system icons
116 XDG_ICON_RESOURCE="\`which xdg-icon-resource 2> /dev/null\`"
117 if [ ! -x "\$XDG_ICON_RESOURCE" ]; then
118 echo "Error: Could not find xdg-icon-resource" >&2
119 return 1
120 fi
121 for icon in "/opt/google/chrome/product_logo_"*.png; do
122 size="\${icon##*/product_logo_}"
123 "\$XDG_ICON_RESOURCE" uninstall --size "\${size%.png}" "google-chrome"
124 done
126 # Remove the entry from the system menu
127 XDG_DESKTOP_MENU="\`which xdg-desktop-menu 2> /dev/null\`"
128 UPDATE_MENUS="\`which update-menus 2> /dev/null\`"
129 if [ ! -x "\$XDG_DESKTOP_MENU" ]; then
130 echo "Error: Could not find xdg-desktop-menu" >&2
131 return 1
132 fi
133 "\$XDG_DESKTOP_MENU" uninstall /opt/google/chrome/google-chrome.desktop
135 if [ -x "\$UPDATE_MENUS" ]; then
136 update-menus
137 fi
138 }
139 EOT
141 # Pack
142 tazpkg pack $PACKAGE-$VERSION
144 # Clean to save RAM memory
145 rm -rf $PACKAGE-$VERSION
147 # Install pseudo package
148 yes y | tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
150 # Clean
151 cd $CUR_DIR
152 rm -rf $TEMP_DIR