# HG changeset patch # User Stanislas Leduc # Date 1708635314 -3600 # Node ID e7e95f90ff16dec6b7086e9526fe7f35ff003cfb # Parent ed5716f72579ec56deac12adf05c355303e97432 Add receipt for OpenOffice4 diff -r ed5716f72579 -r e7e95f90ff16 get-OpenOffice4/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/get-OpenOffice4/receipt Thu Feb 22 21:55:14 2024 +0100 @@ -0,0 +1,24 @@ +# SliTaz package receipt. + +PACKAGE="get-OpenOffice4" +VERSION="1.20" +CATEGORY="office" +TAGS="office word excel ppt openoffice" +SHORT_DESC="Productivity suite." +MAINTAINER="maintainer@slitaz.org" +LICENSE="GPL3" +WEB_SITE="https://openoffice.org" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + mkdir -p $fs/usr/bin + install -o root -g root -m755 stuff/get-OpenOffice4 $fs/usr/bin + ln -s get-OpenOffice4 $fs/usr/bin/get-openoffice +} + +post_install() +{ + echo "Now you may enter: +get-openoffice" +} diff -r ed5716f72579 -r e7e95f90ff16 get-OpenOffice4/stuff/get-OpenOffice4 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/get-OpenOffice4/stuff/get-OpenOffice4 Thu Feb 22 21:55:14 2024 +0100 @@ -0,0 +1,328 @@ +#!/bin/sh +# get-OpenOffice4 - create and install SliTaz package OpenOffice +# excluding KDE and GNOME integration and test suite. +# +# (C) 2020 SliTaz - GNU General Public License v3. +# Author : Ben Arnold +# via : get-OpenOffice3 (Eric Joseph-Alexandre ) +# modified by Hans-Günter Theisgen on 2019-04-07 +# modified by Hans-Günter Theisgen on 2020-03-17 +# modified by Hans-Günter Theisgen on 2020-07-24 +# modified by Hans-Günter Theisgen on 2022-06-15 +# modified by shann on 2024-02-22 +# + +# === Initialisations === + +PKGS_DB="/var/lib/tazpkg" # packages database directory +PACKAGE="OpenOffice" # package to create and install +CATEGORY="office" +SHORT_DESC="Productivity suite." +WEB_SITE="https://www.openoffice.org" +LICENCE="MPL v2.0" + +SUFFIX="Linux_x86_install-rpm_en-US.tar.gz" +PREFIX="https://downloads.apache.org/openoffice" + +DEPENDS="cups" +EXCLUDE="kde|gnome|test" + +# Declare functions check_root, status, ... +. /lib/libtaz.sh +# and make commandline options (if any) available as variables + +is_installed() +{ + if [ -d $root$PKGS_DB/installed/$PACKAGE ] + then #package is deemed to be installed + return 0 + else + return 1 + fi +} + +# Show available commandline options, if requested by --help +if [ "$help" = "yes" ] + then + echo "Available commandline options: + $0 + --version= + --lang= + --root= + --install=yes|no + --keep=no|yes + --srcdir= + --tmpdir=" + exit +fi + +# Check for system administrator privileges +check_root + +title "Package $PACKAGE will be build as SliTaz package and installed" + +# Fetch latest $DIR version, unless version is set by option --version +#[ -z "$version" ] && version="latest" +[ -z "$version" ] && version="4.1.15" && + echo "Newer versions than 4.1.15 are not available in 32-bit flavour!" + +# Fetch language pack according to $LANG, unless otherwise set by option --lang +[ -z "$lang" ] && lang="automatic" + +# Install SliTaz package, unless inhibited by option --install=no +[ -z "$install" ] && install="yes" + +# Delete SliTaz package file $PACKAGE-$VERSION.tazpkg after installation, +# unless option --keep=yes is given +[ -z "$keep" ] && keep="no" + +# Directory for temporary files +[ -z "$tempdir" ] && TEMP_DIR="/tmp/get-$PACKAGE" + +# Directory for source archives +[ -z "$srcdir" ] && SOURCE_DIR="/tmp/src-$PACKAGE" + +# Logging file +LOG="/tmp/$(basename $0 .sh).log" + +cat <].*//' | tac)" + if [ -z "$VERSIONS" ] + then + echo "Can't detect an appropriate version. The version numbering or URL may have changed. Exiting." + exit 1 + fi + else + PREFIX="https://downloads.apache.org/openoffice" + VERSIONS="$version" +fi + +for VERSION in $VERSIONS + do # foreach VERSION + + VER="${VERSION/\-/}" # without hyphens + TARBALL="Apache_OpenOffice_${VER}_${SUFFIX}" + WGET_URL="$PREFIX/${VERSION}/binaries/en-US/${TARBALL}" + + # Set LANG_URL to fetch language package + if [ "$lang" = "automatic" ] + then # use language from $LANG of running process + LOCS=${LANG/_/-} + for LOC in ${LOCS%.*} + do + L_SUFFIX="Linux_x86_langpack-rpm_$LOC.tar.gz" + L_TARBALL="Apache_OpenOffice_${VER}_${L_SUFFIX}" + LANG_URL="$PREFIX/${VERSION}/binaries/$LOC/${L_TARBALL}" + busybox wget -s $LANG_URL 2> /dev/null || continue + echo "Added language pack for $LANG ($LOC)." + break + done + else + L_SUFFIX="Linux_x86_langpack-rpm_$lang.tar.gz" + L_TARBALL="Apache_OpenOffice_${VER}_${L_SUFFIX}" + LANG_URL="$PREFIX/${VERSION}/binaries/$lang/${L_TARBALL}" + busybox wget -s $LANG_URL 2> /dev/null && + echo "Added language pack for $lang." + fi + + CUR_DIR=$(pwd) + mkdir -p $TEMP_DIR + cd $TEMP_DIR + + if [ -f $SOURCE_DIR/$TARBALL ] + then + echo "Using existing archive file $TARBALL" + else + action "Fetching the archives..." + newline + # Check if $SOURCE_DIR exists + [ -d $SOURCE_DIR ] || mkdir -p $SOURCE_DIR + wget -c $WGET_URL -O $SOURCE_DIR/$TARBALL || continue + if [ -n $L_TARBALL ] # language pack required? + then + wget -c $LANG_URL -O $SOURCE_DIR/$L_TARBALL + fi + status + fi + + break + + done # foreach VERSION + +if [ ! -f $SOURCE_DIR/$TARBALL ] + then + rm -rf $SOURCE_DIR + echo "Could not get $TARBALL. Exiting." + exit 1 +fi + +# === Extract files from archives === +action "Extracting the archives..." +newline +mkdir -p $TEMP_DIR +for TB in $TARBALL $L_TARBALL + do + tar xvzf $SOURCE_DIR/$TB -C $TEMP_DIR > $LOG 2>&1 || + (echo "Failed to extract $TB" ; exit 1) + done + +# === Create SliTaz package === + +# Prepare metadata for SliTaz package + +# Merge language pack into main package +if [ -n $L_TARBALL ] # language pack required? + then + locale=$(echo ${L_TARBALL/.tar.gz} | awk -F '-rpm_' '{print $2}') + mv -f $TEMP_DIR/$locale/RPMS/*.rpm \ + $TEMP_DIR/en-US/RPMS/ +fi +status + +# Extracted archives can be removed +rm -rf $SOURCE_DIR + +# Extract almost everything from RPMS directory +action "Extracting RPMs..." +newline +cd $TEMP_DIR/en-US/RPMS +for i in *.rpm + do + if (! echo $i | egrep -qi $EXCLUDE) + then + echo -n "." + (rpm2cpio $i | cpio -id >> $LOG 2>&1 ) && rm -f $i + fi + done +rpm2cpio desktop-integration/*freedesktop*.rpm | cpio -id >> $LOG 2>&1 +rm -rf *integration* +status + +# Move files to package tree $PACKAGE-$VERSION/fs/ +action "Preparing package..." +mkdir -p $PACKAGE-$VERSION/fs/usr/lib/openoffice +mkdir -p $PACKAGE-$VERSION/fs/usr/share + +# use mv instead of 'cp -a' to save space +mv opt/openoffice* $PACKAGE-$VERSION/fs/usr/lib/openoffice +mv usr/share/mime $PACKAGE-$VERSION/fs/usr/share +mv usr/share/icons $PACKAGE-$VERSION/fs/usr/share +mv usr/share/applications $PACKAGE-$VERSION/fs/usr/share +mv usr/bin $PACKAGE-$VERSION/fs/usr + +# relocalised libexec directory +bin=$PACKAGE-$VERSION/fs/usr/bin/openoffice${VERSION:0:1} +if [ -L $bin ] + then + target=$(readlink $bin) + rm -f $bin + ln -s ${target/opt/usr\/lib\/openoffice} $bin + else + sed -i 's#/opt/#/usr/lib/openoffice/#' $bin +fi + +# Create recipe for SliTaz package +cat > $PACKAGE-$VERSION/receipt <