Go-oo.org SlackBuild

Here you can post links to your contributed packages.
Post Reply
Antid Oto
Posts: 57
Joined: 6. Jul 2010, 01:28
Location: Bs. As. - Argentina.

Go-oo.org SlackBuild

Post by Antid Oto »

UPDATE 25 Jul 2010: I upgraded the SlackBuild to Go-oo.org 3.2.1 version.

Go-oo.org is a fork of OpenOffice.org suite. Its main achievement is a perfect multimedia support through GStreamer. The only way to achieve this in the original Oo.org is using the Java Media Framework, which really sucks. Go-oo also improves support for SVG graphics and the import of some proprietary file formats.

I modified a SlackBuild created by Leamsi which is a modified version of the Oo.org SlackBuild created by Robby Workman. I modified the code and upgraded all to the latest version 3.2.1 of Go-oo. For the script to work you must follow the following steps:

1. Download the RPM binaries: Easy, download and run the "download-go-oo.py script", on terminal type: python download-go-oo.py
(Please be sure to edit the script and select the desired language. Example: "en_US, fr, it, es, or others") The binaries are downloaded to the folder where you run the script.

2. Compress the RPMs in a single .tar.gz file called "OOo_3.2.1_Linuxi586_install_YOURLANG.tar.gz", following this structure: (Example for binaries in spanish location)
folder "go-oo" -->
ooobasis3.2-base-3.2.1-9505.i586.rpm
ooobasis3.2-binfilter-3.2.1-9505.i586.rpm
ooobasis3.2-calc-3.2.1-9505.i586.rpm
ooobasis3.2-core01-3.2.1-9505.i586.rpm
ooobasis3.2-core02-3.2.1-9505.i586.rpm
ooobasis3.2-core03-3.2.1-9505.i586.rpm
ooobasis3.2-core04-3.2.1-9505.i586.rpm
ooobasis3.2-core05-3.2.1-9505.i586.rpm
ooobasis3.2-core06-3.2.1-9505.i586.rpm
ooobasis3.2-core07-3.2.1-9505.i586.rpm
ooobasis3.2-draw-3.2.1-9505.i586.rpm
ooobasis3.2-es-3.2.1-9505.i586.rpm
ooobasis3.2-es-base-3.2.1-9505.i586.rpm
ooobasis3.2-es-binfilter-3.2.1-9505.i586.rpm
ooobasis3.2-es-calc-3.2.1-9505.i586.rpm
ooobasis3.2-es-draw-3.2.1-9505.i586.rpm
ooobasis3.2-es-help-3.2.1-9505.i586.rpm
ooobasis3.2-es-impress-3.2.1-9505.i586.rpm
ooobasis3.2-es-math-3.2.1-9505.i586.rpm
ooobasis3.2-es-res-3.2.1-9505.i586.rpm
ooobasis3.2-es-writer-3.2.1-9505.i586.rpm
ooobasis3.2-extension-ct2n-3.2.1-9505.i586.rpm
ooobasis3.2-extension-google-docs-3.2.1-9505.i586.rpm
ooobasis3.2-extension-mediawiki-publisher-3.2.1-9505.i586.rpm
ooobasis3.2-extension-nlpsolver-3.2.1-9505.i586.rpm
ooobasis3.2-extension-pdf-import-3.2.1-9505.i586.rpm
ooobasis3.2-extension-presentation-minimizer-3.2.1-9505.i586.rpm
ooobasis3.2-extension-presenter-screen-3.2.1-9505.i586.rpm
ooobasis3.2-extension-report-builder-3.2.1-9505.i586.rpm
ooobasis3.2-gnome-integration-3.2.1-9505.i586.rpm
ooobasis3.2-graphicfilter-3.2.1-9505.i586.rpm
ooobasis3.2-images-3.2.1-9505.i586.rpm
ooobasis3.2-impress-3.2.1-9505.i586.rpm
ooobasis3.2-javafilter-3.2.1-9505.i586.rpm
ooobasis3.2-kde-integration-3.2.1-9505.i586.rpm
ooobasis3.2-math-3.2.1-9505.i586.rpm
ooobasis3.2-ooofonts-3.2.1-9505.i586.rpm
ooobasis3.2-ooolinguistic-3.2.1-9505.i586.rpm
ooobasis3.2-pyuno-3.2.1-9505.i586.rpm
ooobasis3.2-sdk-3.2.1-9505.i586.rpm
ooobasis3.2-testtool-3.2.1-9505.i586.rpm
ooobasis3.2-writer-3.2.1-9505.i586.rpm
ooobasis3.2-xsltfilter-3.2.1-9505.i586.rpm
openoffice.org-ure-1.6.1-9505.i586.rpm
openoffice.org3-3.2.1-9505.i586.rpm
openoffice.org3-base-3.2.1-9505.i586.rpm
openoffice.org3-calc-3.2.1-9505.i586.rpm
openoffice.org3-draw-3.2.1-9505.i586.rpm
openoffice.org3-es-3.2.1-9505.i586.rpm
openoffice.org3-impress-3.2.1-9505.i586.rpm
openoffice.org3-math-3.2.1-9505.i586.rpm
openoffice.org3-writer-3.2.1-9505.i586.rpm
folder: "desktop-integration" --> (inside the go-oo folder)
openoffice.org3.2-freedesktop-menus-3.2-9505.noarch.rpm

view:
Image

IMPORTANT: Move the .tar.gz file to the directory where you run the SlackBuild.
NOTE: In my case, I don't include the following rpm to the tar.gz:
ooobasis3.2-ogltrans-3.2.1-9505.i586.rpm (I don't need 3D transitions)
3. Edit the SlackBuild to change the language location and your desired options (example: Disable or enable Java and other things). Here are the scripts you need (put all files on the same folder)

go-oo.SlackBuild:

Code: Select all

#!/bin/sh

# Slackware build script for OpenOffice.org, Go-oo.org fork.
# By Antid Oto, based on Robby's Workman SlackBuild.

# Copyright 2006-2009 Robby Workman, Northport, Alabama, ASA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Thanks to Sandman1, Larhzu, and MacIver for early assistance.
# Thanks to Fred Emmott (http://slamd64.com) for some better code in a few
# places and ideas to include the Optimization Solver and disable javaldx.
# Thanks to hba for the idea to include support for other languages.
# Thanks to Nille Akerstrom for the diff to support w/JRE tarballs
# Thanks to ivo@linvo.org for hints on installing extensions
# Thsnks to necropresto for better x86_64 support

PRGNAM=openoffice.org
VERSION=3.2.1
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}


# This should allow you to either pass a different value of OOLANG when you
# run the script (OOLANG=pt-BR ./openoffice.org.SlackBuild for example) or
# change it in this script. Note that you will need to have the correct
# tarball in the build directory for this to work...
# You can get localized tarballs from the following location:
# ftp://ftp.free.fr/mirrors/ftp.openoffice.org/localized/$OOLANG/$VERSION/
# Thanks to Niki Kovacs for finding this :-)
OOLANG=${OOLANG:-es}
PKG_LANG=${OOLANG//-/_}	# Leave this alone
# Some localized versions only ship with a bundled JRE, and we'd like this
# script to work on those as well...
WJRE=${WJRE:-no}

# If you want to disable java support by removing executable permissions
# form OOo's java loader (this will not affect other apps), set this
# variable to "YES" Default is "NO"
DISABLE_JAVA=${DISABLE_JAVA:-NO}

# Change source package name
if [ "$ARCH" = "x86_64" ]; then
  SRCARCH="x86-64"
  PKGARCH="$ARCH"
elif [ "$ARCH" = "arm" ]; then
  printf "\n$ARCH is unsupported for OOo...\n\n"
  exit 1
else
  SRCARCH="x86"
  PKGARCH="i586"
fi

# Yes, I know there is a Slackware integration file in the desktop-integration
# directory, but it's worthless to us. I'd prefer to do things correctly.

# Ignore this - it's just to get the toplevel directory name of the 
# extracted tarball archive
if [ $WJRE != no ]; then
  SOURCEDIR=$(tar tzf $CWD/OOo_${VERSION}_Linux-${PKGARCH}_install_wJRE_${OOLANG}.tar.gz 2>/dev/null | head -n 1 | tr -d \/)
else
  SOURCEDIR=$(tar tzf $CWD/OOo_${VERSION}_Linux-${PKGARCH}_install_${OOLANG}.tar.gz 2>/dev/null | head -n 1 | tr -d \/)
fi
# If the above operation failed for some reason, unset SOURCEDIR so that
# the "set -eu" below will cause us to bail out with an error
#[ -z $SOURCEDIR ] && unset SOURCEDIR
SOURCEDIR=go-oo

set -eu

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
rm -rf $TMP/$SOURCEDIR

# Handle the tarballs that include a bundled JRE
if [ $WJRE != no ]; then
  tar xvf $CWD/OOo_${VERSION}_Linux${PKGARCH}_install_wJRE_${OOLANG}.tar.gz -C $TMP
  rm -rf $TMP/$SOURCEDIR/{JavaSetup.jar,installdata,setup}
  rm -rf $TMP/$SOURCEDIR/RPMS/{userland,jre-*-linux-i586.rpm}
else
  tar xvf $CWD/OOo_${VERSION}_Linux${PKGARCH}_install_${OOLANG}.tar.gz -C $TMP
fi

cd $TMP/$SOURCEDIR/
pwd

mv desktop-integration/openoffice.org3.2-freedesktop-menus-3.2-9505.noarch.rpm .
#rm *onlineupdate*.rpm # We don't want this
for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done
rm -rf desktop-integration *.rpm
mv opt usr $PKG
cd $PKG

# Create symlinks in /usr/bin to actual binaries
cd $PKG/usr/bin
  for FILE in \
    sbase scalc sdraw simpress smath soffice spadmin swriter unopkg ; do
rm -f $FILE
      ln -sf ../../opt/openoffice.org3/program/$FILE $FILE ;
  done
cd -

# Remove DejaVu and Liberation fonts - these are included in other packages
rm -f opt/openoffice.org/basis3.2/share/fonts/truetype/[DL]*.ttf

# Fix Exec commands in the desktop files
# See http://bugzilla.xfce.org/show_bug.cgi?id=2430
cd $PKG//opt/openoffice.org3/share/xdg/
  for APP in base calc draw impress math writer; do
sed -i 's%Exec=openoffice.org3 -%Exec=s%' $APP.desktop ;
  done
cd -

# Install extensions
UNOPKG_BIN=$PKG/opt/openoffice.org3/program/unopkg
DICT_DIR=$PKG/opt/openoffice.org3/share/extension/install
if [ -x "$UNOPKG_BIN" ]; then
UNOPKG_TMP=$TMP/$$$$$$
  find $DICT_DIR -type f -name "*.oxt" \
    -exec $UNOPKG_BIN add --shared {} \
    "-env:UserInstallation=file:///$UNOPKG_TMP" \;
  rm -rf $UNOPKG_TMP # Clean up after ourselves
fi

# Move docs to their expected locations
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $PKG/opt/openoffice.org3
  mv README* *LICENSE* readmes licenses $PKG/usr/doc/$PRGNAM-$VERSION
cd -
#cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

# Disable Java support if desired (see above)
if [ "$DISABLE_JAVA" = "YES" ]; then
chmod -x $PKG/opt/openoffice.org/ure/bin/javaldx
fi

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh

# Fix ownership and permissions and make the package
chown -R root:root .
find . -type d -exec chmod 755 {} \;
chmod -R u+rw,go+r-w,a-s .
/sbin/makepkg -c n -l y $OUTPUT/$PRGNAM-${VERSION}_${PKG_LANG}-$ARCH-$BUILD$TAG.tgz
doinst.sh (For install the Go-oo menus)

Code: Select all

if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database -q usr/share/applications
fi

if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
fi

if [ -x /usr/bin/gtk-update-icon-cache ]; then
for theme in gnome locolor hicolor ; do
if [ -e usr/share/icons/$theme/icon-theme.cache ]; then
      /usr/bin/gtk-update-icon-cache usr/share/icons/$theme >/dev/null 2>&1
    fi
done
fi
slack-desc: (Edit it to your liking)

Code: Select all

# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.

              |-----handy-ruler-------------------------------------------------------|
openoffice.org: OpenOffice.org (suite ofimática libre basada en Go-oo.org)
openoffice.org:
openoffice.org: OpenOffice.org es una suite ofimática muy completa
openoffice.org: que posee soporte para múltiples formatos.
openoffice.org:
openoffice.org: Éste es un paquete en español creado a partir de los RPMs
openoffice.org: del fork Go-oo.org, que poseen soporte para Gstreamer, SVG
openoffice.org: y algunos formatos propietarios.
openoffice.org:
openoffice.org: Sitio web: http://go-oo.org
openoffice.org:
openoffice.org:
4. Run the SlackBuild as root: ./go-oo.SlackBuild
The package appears in "tmp" directory. Good luck!

Image
Last edited by Antid Oto on 29. Sep 2010, 15:51, edited 6 times in total.
Image
User avatar
JRD
Salix Warrior
Posts: 950
Joined: 7. Jun 2009, 22:52
Location: Lyon, France

Re: Go-oo.org SlackBuild

Post by JRD »

Just to post a note the I received a newsletter from OOo some days ago and it says that the next OOo version will use Gstreamer as backend.
Image
Antid Oto
Posts: 57
Joined: 6. Jul 2010, 01:28
Location: Bs. As. - Argentina.

Re: Go-oo.org SlackBuild

Post by Antid Oto »

Good news, JRD. But go-oo.org already had Gstreamer support from many versions ago. Hopefully the new version of Oo.org impress us with new features.
Image
Alquimista
Posts: 5
Joined: 21. Aug 2010, 15:59

Re: Go-oo.org SlackBuild

Post by Alquimista »

I have an error

go-oo.SlackBuild: line 42: syntax error near unexpected token `)'
go-oo.SlackBuild: line 42: `    i?86) ARCH=i486 ;;'
Antid Oto
Posts: 57
Joined: 6. Jul 2010, 01:28
Location: Bs. As. - Argentina.

Re: Go-oo.org SlackBuild

Post by Antid Oto »

It seems to be a syntax error due to a bad character copied. Attempts to copy the code to a text editor (Ex. mousepad or geany) as plain text. I tested this SlackBuild many times and I assure you it works. Be sure to copy all required files and codes without errors.
Image
Post Reply