#!/bin/bash # Slackware build script for LibreOffice Language Packs # Copyright 2010-2014 Niels Horn, Rio de Janeiro, RJ, Brazil # Copyright 2014-2024 Willy Sudiarto Raharjo # 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. cd $(dirname $0) ; CWD=$(pwd) PRGNAM=libreoffice-langpack VERSION=${VERSION:-"24.8.3"} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} LOLANG=${LOLANG:-en-GB} PKG_LANG=${LOLANG//-/_} ALIEN=${ALIEN:-no} # I'll leave this line here, as I always have to change it with every release SRCVERSION=$VERSION SRCSHORT=$(echo $VERSION | cut -f1-2 -d.) if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac fi # Change source package name if [ "$ARCH" = "x86_64" ]; then SRCARCH="x86-64" PKGARCH="$ARCH" LIBDIRSUFFIX=64 elif [ "$ARCH" = "arm" ]; then printf "\n$ARCH is unsupported for LibreOffice...\n\n" exit 1 else SRCARCH="x86" PKGARCH="i586" LIBDIRSUFFIX="" fi # If the variable PRINT_PACKAGE_NAME is set, then this script will report what # the name of the created package would be, and then exit. This information # could be useful to other scripts. if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then echo "${PRGNAM}_${PKG_LANG}-$VERSION-$PKGARCH-$BUILD$TAG.$PKGTYPE" exit 0 fi TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} set -e # Concatenate all parts to get the full name of the tarball TARBALL="LibreOffice_${SRCVERSION}_Linux_${SRCARCH}_rpm_langpack_${LOLANG}.tar.gz" if [ ! -r $TARBALL ]; then echo "$TARBALL not found" exit 1 fi # Get "base" directory of tarball SOURCEDIR=$(tar tzf $CWD/$TARBALL 2>/dev/null | head -n 1 | tr -d \/) rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT rm -rf $TMP/$SOURCEDIR tar xvf $CWD/$TARBALL -C $TMP cd $TMP/$SOURCEDIR/RPMS/ for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done mv opt $PKG cd $PKG # Move docs to their expected locations mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cd $PKG/opt/libreoffice$SRCSHORT mv readmes $PKG/usr/doc/$PRGNAM-$VERSION cd - cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc # Fix ownership and permissions and make the package chown -R root:root . find . -type d -exec chmod 755 {} \; find -L . \ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ -o -perm 511 \) -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; if [ "$ALIEN" == "yes" ]; then cd $PKG/opt mkdir -p ../usr/lib${LIBDIRSUFFIX} mv libreoffice$SRCSHORT ../usr/lib${LIBDIRSUFFIX} cd .. rmdir opt cd usr/lib${LIBDIRSUFFIX} cd $PKG fi /sbin/makepkg -l y -c n $OUTPUT/${PRGNAM}_${PKG_LANG}-${VERSION}-$PKGARCH-$BUILD$TAG.$PKGTYPE