summaryrefslogtreecommitdiffstats
path: root/multimedia/plexmediaserver/plexmediaserver.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/plexmediaserver/plexmediaserver.SlackBuild')
-rw-r--r--multimedia/plexmediaserver/plexmediaserver.SlackBuild88
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