1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#!/bin/bash
# Slackware build script for OpenOffice.org (binary repackaging)
# Copyright 2006-2008 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 eroc for the idea to include support for other languages.
PRGNAM=openoffice.org
VERSION=2.4.0
ARCH=i586 # The binaries are built for i586 - leave this alone
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
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:-en-US}
PKG_LANG=$(echo $OOLANG | sed s/-/_/) # Leave this alone
# 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"
# According to Fred Emmott, this is *highly* desirable on 64 bit systems
DISABLE_JAVA=${DISABLE_JAVA:-NO}
# If you want to include the new experimental Optimization Solver,
# download "scsolver.uno.zip" from the following location:
# http://wiki.services.openoffice.org/wiki/Optimization_Solver
# and place it in the same directory as the SlackBuild script ($CWD)
# Set the following variable to "YES" Default is "NO"
ADD_SOLVER=${ADD_SOLVER:-NO}
# Yes, I know there is a Slackware integration file in the desktop-integration
# directory, but it's worthless to us. I mailed the maintainer of this
# module with suggestions on how to make it more compliant with standard
# Slackware packaging, but I received no response. Anyway, to sum up, we're
# not using that file...
set -e # Require the script to exit if any command fails
# Ignore this - it's just to get the toplevel directory name of the
# extracted tarball archive
SOURCEDIR=$(tar -tzf $CWD/OOo_${VERSION}_LinuxIntel_install_${OOLANG}.tar.gz | head -1 | tr -d \/)
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SOURCEDIR
tar xvf $CWD/OOo_${VERSION}_LinuxIntel_install_${OOLANG}.tar.gz
cd $SOURCEDIR/RPMS/
mv desktop-integration/openoffice.org-freedesktop-menus-*.noarch.rpm .
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 and edit the
# included wrapper scripts in /usr/bin to correct the paths
( cd $PKG/usr/bin
for FILE in sbase scalc sdraw simpress smath soffice spadmin swriter unopkg ; do
rm -f $FILE
ln -sf ../../opt/openoffice.org2.4/program/$FILE . ;
done
for i in $(find . -type f) ; do sed -i 's/etc/opt/g' $i ; done
)
# Correct symlinks in /usr/share/applications
( cd $PKG/usr/share/applications
for APP in base calc draw extension impress math printeradmin writer qstart ; do
rm -f openoffice.org2.4-$APP.desktop
ln -sf ../../../opt/openoffice.org2.4/share/xdg/$APP.desktop \
openoffice.org2.4-$APP.desktop ;
done
)
# Fix Exec commands in the desktop files
# See http://bugzilla.xfce.org/show_bug.cgi?id=2430
patch -p1 < $CWD/desktop-file-fix-2.4.0.diff
# Move docs to their correct locations
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
for i in README README.html LICENSE LICENSE.html THIRDPARTYLICENSEREADME.html ; do
mv $PKG/opt/openoffice.org2.4/$i $PKG/usr/doc/$PRGNAM-$VERSION/$i ;
done
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.org2.4/program/javaldx
fi
# Add optimization solver if desired (see above)
if [ "$ADD_SOLVER" = "YES" -a -f "$CWD/scsolver.uno.zip" ]; then
( cd $PKG/opt/openoffice.org2.4
program/unopkg add --shared $CWD/scsolver.uno.zip
)
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
|