diff options
Diffstat (limited to 'multimedia/plexmediaserver/plexmediaserver.SlackBuild')
-rw-r--r-- | multimedia/plexmediaserver/plexmediaserver.SlackBuild | 88 |
1 files changed, 47 insertions, 41 deletions
diff --git a/multimedia/plexmediaserver/plexmediaserver.SlackBuild b/multimedia/plexmediaserver/plexmediaserver.SlackBuild index 1678f6879e..43ffc8b238 100644 --- a/multimedia/plexmediaserver/plexmediaserver.SlackBuild +++ b/multimedia/plexmediaserver/plexmediaserver.SlackBuild @@ -1,10 +1,11 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for "plexmediaserver". # Copyright 2014-2015 Lionel Young <lionelyoung@gmail.com> # Copyright 2015-2017 Marcel Saegebarth <marc@mos6581.de> -# Copyright 2017-2019 Kevin Matthew <kevin@kevinmatthew.com> +# Copyright 2017-2020 Kevin Matthew <kevin@kevinmatthew.com> +# Copyright 2020-2023 Stu Miller <slackbuilds@go4it2day.com> # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -26,11 +27,20 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# 20230528 bkw: modified by SlackBuilds.org: +# - use standard ARCH (not i386). note that this is cosmetic (the package +# contents do not change, only the filename of the .tgz package). +# - speed up find and strip stuff (build now runs ~3.2x faster). +# - fix permission on .desktop file. + +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=plexmediaserver -VERSION=${VERSION:-1.18.2.2041_3d469cb32} +VERSION=${VERSION:-1.40.1.8227_c0dd5a73e} PKG_VERSION=$(echo $VERSION | tr _ -) BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -40,7 +50,11 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} @@ -48,15 +62,12 @@ OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then DEBARCH="i386" LIBDIRSUFFIX="" - ARCH="i386" elif [ "$ARCH" = "i686" ]; then DEBARCH="i386" LIBDIRSUFFIX="" - ARCH="i386" elif [ "$ARCH" = "x86_64" ]; then DEBARCH="amd64" LIBDIRSUFFIX="64" - ARCH="x86_64" else echo "Package for $(uname -m) architecture is not available." exit 1 @@ -91,37 +102,42 @@ fi rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT -cd $PKG -rm -rf $PRGNAM-$PKG_VERSION -ar xv $CWD/${PRGNAM}_${PKG_VERSION}_${DEBARCH}.deb -tar xvf data.tar.?z -rm -f debian-binary control.tar.?z data.tar.?z -rm -rf $PKG/etc/apt/ $PKG/etc/init $PKG/etc/init.d +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +ar xv $CWD/${PRGNAM}_${PKG_VERSION}_${DEBARCH}.deb data.tar.xz +tar xvf data.tar.xz -C $PRGNAM-$VERSION +rm -f data.tar.xz +cd $PRGNAM-$VERSION 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 \ + -o -perm 511 \) -exec chmod 755 {} + \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} + -mkdir -p $PKG/opt/$PRGNAM/bin/ -mv $PKG/usr/lib/plexmediaserver $PKG/opt/$PRGNAM/lib +mkdir -p $PKG/usr/lib/ +mv usr/lib/plexmediaserver $PKG/usr/lib -mv usr/sbin/start_pms $PKG/opt/$PRGNAM/bin/ -sed -i -e "s#/usr/lib/plexmediaserver#/opt/$PRGNAM/lib#" \ - $PKG/opt/$PRGNAM/bin/start_pms -mkdir -p $PKG/usr/bin/ -ln -s /opt/$PRGNAM/bin/start_pms \ - $PKG/usr/bin/start_pms +# 20230528 bkw: This strip command is *way* faster than the find|grep|xargs +# stuff (runs in about 1 sec, vs. over a minute) and has the same effect. +strip --strip-unneeded \ + $PKG/usr/lib/$PRGNAM/* \ + $PKG/usr/lib/$PRGNAM/lib/*.so* \ + $PKG/usr/lib/$PRGNAM/Resources/Python/lib/python*/site-packages/*/*.so \ + 2>/dev/null || true -mv usr/share/applications/plexmediaserver.desktop $PKG/opt/$PRGNAM/ -sed -i -e "s/x-www-browser/xdg-open/" \ - $PKG/opt/$PRGNAM/plexmediaserver.desktop -mkdir -p $PKG/usr/share/applications -ln -s /opt/$PRGNAM/plexmediaserver.desktop \ - $PKG/usr/share/applications/plexmediaserver.desktop +DESKTOP=usr/share/applications/$PRGNAM.desktop +install -D -m0644 $DESKTOP $PKG/$DESKTOP +sed -i -e "s/x-www-browser/xdg-open/" $PKG/$DESKTOP -rm -rf $PKG/etc/systemd $PKG/usr/share/doc $PKG/usr/sbin $PKG/usr/lib +mkdir -p $PKG/etc/rc.d +cat $PKG/usr/lib/$PRGNAM/lib/$PRGNAM.init > $PKG/etc/rc.d/rc.$PRGNAM.new +chmod 0644 $PKG/etc/rc.d/rc.$PRGNAM.new + +mkdir -p $PKG/etc/default +cat $PKG/usr/lib/plexmediaserver/lib/plexmediaserver.default > $PKG/etc/default/$PRGNAM.new +chmod 0644 $PKG/etc/default/$PRGNAM.new mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -129,19 +145,9 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/var/lib/$PRGNAM chown -R $PLEX_USER:$PLEX_GROUP $PKG/var/lib/$PRGNAM -mkdir -p $PKG/etc/rc.d/ -cat $CWD/rc.$PRGNAM > $PKG/etc/rc.d/rc.$PRGNAM.new -chmod 0644 $PKG/etc/rc.d/rc.$PRGNAM.new - -# cleanup -( - cd $PKG - rm -rf _gpgplex lib -) - mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |