#!/bin/sh # Slackware build script for openoffice.org # Copyright 2018 Donald Cooley South Haven, Indiana USA # With help from Ekin Akoglu to fix missing menu icons and script cleanup, # and a diff from Dominik Drobek to remove unnecessary RPM cruft. # Ryan P.C. McQuen | Everett, WA | ryanpcmcquen@member.fsf.org # Originally written by Niki Kovacs /dev/null | head -n 1 | tr -d \/) # 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 # Normally SOURCEDIR=en-US [ -z $SOURCEDIR ] && unset SOURCEDIR rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT mkdir -p $PKG/usr/bin/ mkdir -p $PKG/usr/share/applications/ rm -rf $TMP/$SOURCEDIR tar xvf $CWD/$TARNAME -C $TMP cd $TMP/$SOURCEDIR/RPMS chown -R root:root . 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 {} \; # We don't want this, so we delete the *onlineupdate*.rpm rm -f *onlineupdate*.rpm # Extract the files from the *.rpm for FILE in *.rpm ; do rpm2cpio < $FILE | cpio -imdv ; done cd desktop-integration rpm2cpio < openoffice$VERSION-freedesktop-menus-$VERSION-9789.noarch.rpm | cpio -imdv cd - mv opt $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 -sfv ../../opt/${SRCNAM}${SRCSHORT}/program/$FILE open-$FILE ; done cd - ## fix desktop files, so they can launch cat < $PKG/usr/bin/${SRCNAM}4 #!/bin/sh /opt/${SRCNAM}${SRCSHORT}/program/soffice "\$@" EOT chmod 755 $PKG/usr/bin/${SRCNAM}4 ## desktop files! for APP in base calc draw impress math writer; do cp -av $PKG/opt/${SRCNAM}${SRCSHORT}/share/xdg/$APP.desktop $PKG/usr/share/applications/open-$APP.desktop ; done ## menu icons! cp -R $TMP/$SOURCEDIR/RPMS/desktop-integration/usr/share/icons $PKG/usr/share/ ## Move docs to their expected locations mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cd $PKG/opt/${SRCNAM}${SRCSHORT} mv README* share/readme/* $PKG/usr/doc/$PRGNAM-$VERSION rmdir share/readme cd - cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh rm -rf $TMP/$OOLANG/RPMS mv $TMP/$OOLANG $PKG/opt/${SRCNAM}${SRCSHORT}/lang/ # 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 -l y -c n $OUTPUT/$PRGNAM-${VERSION}_${PKG_LANG}-$PKGARCH-$BUILD$TAG.${PKGTYPE:-tgz}