get-scripts diff libreoffice @ rev 4

Fix bug 79: get-LibreOffice get-OpenOffice3 packages shoud not have capital letter on their names.
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Feb 16 20:20:05 2014 +0000 (2014-02-16)
parents
children 8b66f6a75a05
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libreoffice	Sun Feb 16 20:20:05 2014 +0000
     1.3 @@ -0,0 +1,160 @@
     1.4 +#!/bin/sh
     1.5 +# get-LibreOffice - install LibreOffice excl. KDE/Gnome integration & test suite.
     1.6 +#
     1.7 +# (C) 2010 SliTaz - GNU General Public License v3.
     1.8 +# Author : Ben Arnold <ben@seawolfsanctuary.com>
     1.9 +#    via : get-OpenOffice3 (Eric Joseph-Alexandre <erjo@slitaz.org>)
    1.10 +#
    1.11 +
    1.12 +PACKAGE="LibreOffice"
    1.13 +WEB_SITE="http://www.libreoffice.org"
    1.14 +CATEGORY="office"
    1.15 +SHORT_DESC="Productivity suite."
    1.16 +DEPENDS="cups"
    1.17 +SUGGESTED="java6-jre"
    1.18 +DIR="stable"
    1.19 +PREFIX="LibreOffice"
    1.20 +SUFFIX="Linux_x86_rpm.tar.gz"
    1.21 +WGET_URL="http://download.documentfoundation.org/libreoffice/$DIR"
    1.22 +
    1.23 +VERSION="$(basename $(wget -O - $WGET_URL/ 2> /dev/null | \
    1.24 +	sed '/href=\"[0-9]/!d;s/.*href=\"//;s/[/\">].*//' | tail -1))"
    1.25 +if [ -z "$VERSION" ]; then
    1.26 +	abort_package "Can't detect an appropriate version. The version numbering or URL may have changed. Aborted."
    1.27 +fi
    1.28 +VER="${VERSION/\-/}" # without hyphens
    1.29 +
    1.30 +
    1.31 +TARBALL="${PREFIX}_${VER}_${SUFFIX}"
    1.32 +
    1.33 +for LOC in ${LANG/_/-} ${LANG%_*}; do
    1.34 +	L_SUFFIX="Linux_x86_rpm_langpack_$LOC.tar.gz"
    1.35 +	L_TARBALL="${PREFIX}_${VER}_${L_SUFFIX}"
    1.36 +	LANG_URL="$WGET_URL/${VERSION}/rpm/x86/${L_TARBALL}"
    1.37 +	busybox wget -s $LANG_URL 2> /dev/null || continue
    1.38 +	echo "Added $LANG ($LOC)."
    1.39 +	break
    1.40 +done
    1.41 +WGET_URL="$WGET_URL/${VERSION}/rpm/x86/${TARBALL}"
    1.42 +
    1.43 +CUR_DIR=$(pwd)
    1.44 +TEMP_DIR="/tmp/$PACKAGE.$$"
    1.45 +SOURCE_DIR="/tmp/src.$$"
    1.46 +EXCLUDE="kde|gnome|test"
    1.47 +LOG="/tmp/$(basename $0 .sh).log"
    1.48 +
    1.49 +# Check if we have the tarball before.
    1.50 +if [ ! -f $SOURCE_DIR/$TARBALL ]; then
    1.51 +	echo "Downloading LibreOffice tarball (it's time to have a break)... "
    1.52 +	# Check if $SOURCE_DIR exist
    1.53 +	test -d $SOURCE_DIR || mkdir -p $SOURCE_DIR
    1.54 +	# Get the file.
    1.55 +	wget -c $WGET_URL -O $SOURCE_DIR/$TARBALL
    1.56 +	if [ -n $L_TARBALL ] ; then # Are we localised?
    1.57 +		wget -c $LANG_URL -O $SOURCE_DIR/$L_TARBALL
    1.58 +	fi
    1.59 +	status
    1.60 +fi
    1.61 +if [ ! -f $SOURCE_DIR/$TARBALL ]; then
    1.62 +	rm -rf $SOURCE_DIR
    1.63 +	abort_package "Could not download $TARBALL. Exiting."
    1.64 +fi
    1.65 +
    1.66 +echo -n "Extracting files (this may take a while): "
    1.67 +
    1.68 +# Creates TEMP_DIR and extract tarball
    1.69 +mkdir -p $TEMP_DIR
    1.70 +for TB in $TARBALL $L_TARBALL ; do
    1.71 +	tar xvzf $SOURCE_DIR/$TB -C $TEMP_DIR > $LOG 2>&1 ||
    1.72 +	abort_package "Failed to extract $TB"
    1.73 +done
    1.74 +
    1.75 +# Get version found in archive (often directory is still RC version when final is present)
    1.76 +ARCHIVED_VERSION=$(find $TEMP_DIR -type d 2> /dev/null | sed "/$PREFIX/!d;\$!d;s/_/ /g" | awk '{print $2}')
    1.77 +echo -n "(found v${ARCHIVED_VERSION})"
    1.78 +
    1.79 +# Consolidate localisations into main package
    1.80 +if [ -n $L_TARBALL ] ; then # Are we localised?
    1.81 +	  TARBALL_NAME="${TARBALL/.tar.gz/}"
    1.82 +	L_TARBALL_NAME="${L_TARBALL/.tar.gz/}"
    1.83 +	mv -f $TEMP_DIR/${L_TARBALL_NAME/$VERSION/$ARCHIVED_VERSION}/RPMS/*.rpm $TEMP_DIR/${TARBALL_NAME/$VERSION/$ARCHIVED_VERSION}/RPMS/
    1.84 +fi
    1.85 +status
    1.86 +
    1.87 +# Extracted pkg can be removed: Save RAM
    1.88 +rm -rf $SOURCE_DIR
    1.89 +
    1.90 +# Extract everything from RPMS
    1.91 +cd $TEMP_DIR/${TARBALL_NAME/$VERSION/$ARCHIVED_VERSION}/RPMS
    1.92 +for i in *.rpm
    1.93 +do
    1.94 +	if (! echo $i | egrep -qi $EXCLUDE); then
    1.95 +		echo -n "."
    1.96 +		(rpm2cpio $i | cpio -id >> $LOG 2>&1 ) && rm  -f $i
    1.97 +	fi
    1.98 +done
    1.99 +rpm2cpio libobasis*-gnome-integration*.rpm | cpio -id >> $LOG 2>&1
   1.100 +
   1.101 +# extracted pkg can be removed: Save RAM
   1.102 +rm -f libobasis*.rpm
   1.103 +
   1.104 +status
   1.105 +echo -n "Preparing package... "
   1.106 +
   1.107 +# Make the package
   1.108 +mkdir -p $PACKAGE-$VERSION/fs/usr/lib $PACKAGE-$VERSION/fs/usr/share
   1.109 +
   1.110 +# use mv instead of 'cp -a' to save RAM
   1.111 +mv opt/libreoffice* $PACKAGE-$VERSION/fs/usr/lib/libreoffice
   1.112 +mv usr/share/mime $PACKAGE-$VERSION/fs/usr/share
   1.113 +mv usr/share/icons $PACKAGE-$VERSION/fs/usr/share
   1.114 +mv usr/bin $PACKAGE-$VERSION/fs/usr
   1.115 +
   1.116 +# relocalized libexec directory
   1.117 +bin=$(echo $PACKAGE-$VERSION/fs/usr/bin/libreoffice${VERSION%.*})
   1.118 +if [ -L $bin ]; then
   1.119 +	target=$(readlink $bin)
   1.120 +	rm -f $bin
   1.121 +	ln -s ${target/opt/usr\/lib\/libreoffice} $bin
   1.122 +else
   1.123 +	sed -i 's#/opt/#/usr/lib/libreoffice/#'  $bin
   1.124 +fi
   1.125 +
   1.126 +# Create receipt
   1.127 +cat > $PACKAGE-$VERSION/receipt <<EOT
   1.128 +# SliTaz package receipt.
   1.129 +
   1.130 +PACKAGE="$PACKAGE"
   1.131 +VERSION="$VERSION"
   1.132 +CATEGORY="$CATEGORY"
   1.133 +SHORT_DESC="$SHORT_DESC"
   1.134 +WEB_SITE="$WEB_SITE"
   1.135 +
   1.136 +DEPENDS="$DEPENDS"
   1.137 +SUGGESTED="$SUGGESTED"
   1.138 +
   1.139 +post_install()
   1.140 +{
   1.141 +	cd \$1/usr/share/applications
   1.142 +	ln -s /usr/lib/libreoffice*/share/xdg/base.desktop          libreoffice-base.desktop
   1.143 +	ln -s /usr/lib/libreoffice*/share/xdg/impress.desktop       libreoffice-impress.desktop
   1.144 +	ln -s /usr/lib/libreoffice*/share/xdg/writer.desktop        libreoffice-writer.desktop
   1.145 +	ln -s /usr/lib/libreoffice*/share/xdg/calc.desktop          libreoffice-calc.desktop
   1.146 +	ln -s /usr/lib/libreoffice*/share/xdg/math.desktop          libreoffice-math.desktop
   1.147 +	ln -s /usr/lib/libreoffice*/share/xdg/draw.desktop          libreoffice-draw.desktop
   1.148 +	ln -s /usr/lib/libreoffice*/share/xdg/printeradmin.desktop libreoffice-printeradmin.desktop
   1.149 +	chmod +x /usr/lib/libreoffice*/share/xdg/*.desktop
   1.150 +
   1.151 +	cd \$1/usr/bin
   1.152 +	ln -sf /usr/lib/libreoffice/program/soffice
   1.153 +	ln -sf /usr/lib/libreoffice/program/soffice libreoffice${VERSION%.*}
   1.154 +}
   1.155 +
   1.156 +post_remove()
   1.157 +{
   1.158 +	rm -f \$1/usr/share/applications/libreoffice-*
   1.159 +}
   1.160 +
   1.161 +EOT
   1.162 +status
   1.163 +set +e