wok view get-OpenOffice3/stuff/get-OpenOffice3 @ rev 2203

get-OpenOffice3: no hardcoded version
author Pascal Bellard <pascal.bellard@slitaz.org>
date Tue Feb 10 09:46:38 2009 +0000 (2009-02-10)
parents e01dd228942a
children cf69f6384a8d
line source
1 #!/bin/sh
2 # get-OpenOffice3, install everything for OpenOffice.org exept KDE/Gnome integration and testsuite.
3 #
4 # (C) 2008 SliTaz - GNU General Public License v3.
5 #
6 # Author : Eric Joseph-Alexandre <erjo@slitaz.org>
8 PACKAGE="OpenOffice3"
9 VERSION="3.0.0"
10 URL="http://www.openoffice.org"
11 ROOT="$1"
13 case "$LANG" in
14 fr_FR)
15 WGET_URL="ftp://ftp.proxad.net/mirrors/ftp.openoffice.org/localized/fr"
16 VERSION_URL="http://openofficeorg.secsup.org/localized/fr/"
17 SUFFIX="LinuxIntel_install_fr.tar.gz";;
18 de_DE)
19 WGET_URL="ftp://ftp.proxad.net/mirrors/ftp.openoffice.org/localized/de"
20 VERSION_URL="http://openofficeorg.secsup.org/localized/de/"
21 SUFFIX="LinuxIntel_install_de.tar.gz";;
22 es_ES)
23 WGET_URL="ftp://ftp.proxad.net/mirrors/ftp.openoffice.org/localized/es"
24 VERSION_URL="http://openofficeorg.secsup.org/localized/es/"
25 SUFFIX="LinuxIntel_install_es.tar.gz";;
26 *)
27 WGET_URL="ftp://ftp.proxad.net/mirrors/ftp.openoffice.org/stable"
28 VERSION_URL="http://openofficeorg.secsup.org/stable/"
29 SUFFIX="LinuxIntel_install_en-US.tar.gz";;
30 esac
32 VERSION="$(basename $(wget -O - $VERSION_URL 2> /dev/null | grep href | \
33 tail -1 | sed 's/.*href=\"\(.*\)\".*/\1/'))"
34 if [ -z "$VERSION" ]; then
35 echo "Can't find VERSION. Abort."
36 exit 0
37 fi
38 TARBALL="OOo_${VERSION}_${SUFFIX}"
39 WGET_URL=$WGET_URL/$VERSION/$TARBALL
41 TEMP_DIR="/home/slitaz/build/$PACKAGE.$$"
42 SOURCE_DIR="/home/slitaz/src"
43 EXCLUDE="kde|gnome|test"
44 LOG="/tmp/$(basename $0 .sh).log"
46 # Status function with color (supported by Ash).
47 status()
48 {
49 local CHECK=$?
50 echo -en "\\033[70G[ "
51 if [ $CHECK = 0 ]; then
52 echo -en "\\033[1;33mOK"
53 else
54 echo -en "\\033[1;31mFailed"
55 fi
56 echo -e "\\033[0;39m ]"
57 return $CHECK
58 }
60 # Check if user is root to install, or remove packages.
61 check_root()
62 {
63 if test $(id -u) != 0 ; then
64 echo -e "\nYou must be root to run `basename $0` with this option."
65 echo -e "Please use 'su' and root password to become super-user.\n"
66 exit 0
67 fi
68 }
70 check_if_installed()
71 {
72 # Avoid reinstall
73 if [ -d $ROOT/var/lib/tazpkg/installed/$PACKAGE ];then
74 return 0
75 else
76 return 1
77 fi
78 }
80 #We need to bee root
81 check_root
83 #check if package already installed
84 if (check_if_installed $PACKAGE); then
85 echo "$PACKAGE is already installed."
86 [ -n "$ROOT" ] && exit 0
87 echo -n "Would you like to remove and reinstall this package [y/n]? "
88 read answer
89 case "$answer" in
90 y|Y)
91 tazpkg remove $PACKAGE ;;
92 *)
93 exit 0 ;;
94 esac
96 fi
99 # Check if we have the tarball before.
100 if [ ! -f $SOURCE_DIR/$TARBALL ]; then
101 echo "Downloading OppenOffice.org tarball (it's time to have a break)... "
102 #Check if $SOURCE_DIR exist
103 test -d $SOURCE_DIR || mkdir -p $SOURCE_DIR
104 # Get the file.
105 wget -c $WGET_URL -O $SOURCE_DIR/$TARBALL
106 status
107 fi
109 # Creates TEMP_DIR and extract tarball
110 mkdir -p $TEMP_DIR
111 echo -n "Extract files from archive..."
112 tar xvzf $SOURCE_DIR/$TARBALL -C $TEMP_DIR > $LOG 2>&1 || \
113 (echo "Failed to extract $TARBALL" ; exit 1)
114 status
116 cd $TEMP_DIR/*/RPMS
118 # Extract everything from RPMS
119 for i in *.rpm
120 do
121 if (! echo $i | egrep -qi $EXCLUDE); then
122 rpm2cpio $i | cpio -id >> $LOG 2>&1
123 fi
124 done
125 rpm2cpio desktop-integration/*freedesktop*.rpm | cpio -id >> $LOG 2>&1
127 # Make the package
128 mkdir -p $PACKAGE-$VERSION/fs/usr/lib/openoffice \
129 $PACKAGE-$VERSION/fs/usr/share
131 cp -a opt/openoffice* $PACKAGE-$VERSION/fs/usr/lib/openoffice
132 cp -a usr/share/mime $PACKAGE-$VERSION/fs/usr/share
133 cp -a usr/share/icons $PACKAGE-$VERSION/fs/usr/share
134 cp -a usr/bin $PACKAGE-$VERSION/fs/usr
136 # relocalized OOo libexec directory
137 sed -i 's#/opt/#/usr/lib/openoffice/#' $PACKAGE-$VERSION/fs/usr/bin/openoffice*
139 # Create receipt
140 cat > $PACKAGE-$VERSION/receipt <<EOT
141 # SliTaz package receipt.
143 PACKAGE="$PACKAGE"
144 VERSION="$VERSION"
145 CATEGORY="office"
146 SHORT_DESC="Productivity suite."
147 DEPENDS=""
148 WEB_SITE="$URL"
150 post_install()
151 {
152 cd /usr/share/applications
153 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/base.desktop openoffice.org3-base.desktop
154 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/impress.desktop openoffice.org3-impress.desktop
155 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/writer.desktop openoffice.org3-writer.desktop
156 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/calc.desktop openoffice.org3-calc.desktop
157 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/math.desktop openoffice.org3-math.desktop
158 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/draw.desktop openoffice.org3-draw.desktop
159 ln -s /usr/lib/openoffice/openoffice.org3/share/xdg/printeradmin.desktop openoffice.org3-printeradmin.desktop
161 cd /usr/bin
162 ln -sf /usr/lib/openoffice/openoffice.org3/program/soffice
163 }
165 post_remove()
166 {
167 rm -f /usr/share/applications/openoffice.org3-*
168 }
170 EOT
172 # Pack
173 tazpkg pack $PACKAGE-$VERSION
175 # Install pseudo package
176 tazpkg install $PACKAGE-$VERSION.tazpkg --root=$ROOT
178 # Clean
179 rm -rf $TEMP_DIR
180 rm -rf $PACKAGE-$VERSION