wok view get-google-chrome/stuff/get-google-chrome @ rev 5195

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