summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Stu Miller <slackbuilds@go4it2day.com>2023-07-28 20:28:26 +0900
committer Andrew Clemons <andrew.clemons@gmail.com>2023-07-28 21:02:46 +0900
commit1e6b40ffa25db6305cff4ed79b572c71f0083eb9 (patch)
tree972fc98ea004c9607eb786b7db015f23af6ecc6f
parent3298151a93e9aa577e467939cfa4d17f4a738dda (diff)
downloadslackbuilds-1e6b40ffa25db6305cff4ed79b572c71f0083eb9.tar.gz
slackbuilds-1e6b40ffa25db6305cff4ed79b572c71f0083eb9.tar.xz
libraries/plexmediaserver: Updated for version 1.32.5.7349_8f4248874.
Signed-off-by: Andrew Clemons <andrew.clemons@gmail.com>
-rw-r--r--libraries/plexmediaserver/README16
-rw-r--r--libraries/plexmediaserver/doinst.sh30
-rw-r--r--libraries/plexmediaserver/plexmediaserver.SlackBuild153
-rw-r--r--libraries/plexmediaserver/plexmediaserver.info10
-rw-r--r--libraries/plexmediaserver/slack-desc19
5 files changed, 228 insertions, 0 deletions
diff --git a/libraries/plexmediaserver/README b/libraries/plexmediaserver/README
new file mode 100644
index 0000000000..3c0e127c73
--- /dev/null
+++ b/libraries/plexmediaserver/README
@@ -0,0 +1,16 @@
+Plex Media Server is the backend for the Plex media system.
+
+Plex's frontend media player, Plex Home Theater, is Windows/Mac only;
+however, you can stream your local files on Linux from your web
+browser. Plex Home Theater allows the user to manage and play video,
+photos, music, and podcasts from a local or remote computer running
+Plex Media Server.
+
+Plex Media Server runs as plex:plex (UID/GID 279) with its $HOME as
+/var/lib/plexmediaserver:
+
+# groupadd -g 279 plex
+# useradd -u 279 -d /var/lib/plexmediaserver -s /bin/false -g plex plex
+
+After installing, grab an account from https://www.plex.tv and visit
+http://localhost:32400/web configure your server.
diff --git a/libraries/plexmediaserver/doinst.sh b/libraries/plexmediaserver/doinst.sh
new file mode 100644
index 0000000000..b295ab1144
--- /dev/null
+++ b/libraries/plexmediaserver/doinst.sh
@@ -0,0 +1,30 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+preserve_perms etc/rc.d/rc.plexmediaserver.new
+config etc/default/plexmediaserver.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/libraries/plexmediaserver/plexmediaserver.SlackBuild b/libraries/plexmediaserver/plexmediaserver.SlackBuild
new file mode 100644
index 0000000000..81bee7fd12
--- /dev/null
+++ b/libraries/plexmediaserver/plexmediaserver.SlackBuild
@@ -0,0 +1,153 @@
+#!/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-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
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "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 COPYRIGHT
+# OWNER OR CONTRIBUTORS 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.
+
+# 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.32.5.7349_8f4248874}
+PKG_VERSION=$(echo $VERSION | tr _ -)
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+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}
+
+if [ "$ARCH" = "i586" ]; then
+ DEBARCH="i386"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ DEBARCH="i386"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ DEBARCH="amd64"
+ LIBDIRSUFFIX="64"
+else
+ echo "Package for $(uname -m) architecture is not available."
+ exit 1
+fi
+
+PLEX_USER=${PLEX_USER:-279}
+PLEX_GROUP=${PLEX_GROUP:-279}
+
+set -e
+
+# Bail if user or group isn't valid on your system
+if ! getent passwd plex 1>/dev/null 2>/dev/null; then
+ cat << EOF
+
+ You must have a plex user to run this script
+
+ # groupadd -g $PLEX_USER plex
+ # useradd -u $PLEX_USER -d /var/lib/$PRGNAM -s /bin/false -g plex plex
+
+EOF
+
+ exit 1
+elif ! getent group plex 1>/dev/null 2>/dev/null; then
+ cat << EOF
+
+ You must have a plex group to run this script
+ # groupadd -g $PLEX_GROUP plex
+
+EOF
+ exit 1
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+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 {} + \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} +
+
+mkdir -p $PKG/usr/lib/
+mv usr/lib/plexmediaserver $PKG/usr/lib
+
+# 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
+
+DESKTOP=usr/share/applications/$PRGNAM.desktop
+install -D -m0644 $DESKTOP $PKG/$DESKTOP
+sed -i -e "s/x-www-browser/xdg-open/" $PKG/$DESKTOP
+
+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
+
+mkdir -p $PKG/var/lib/$PRGNAM
+chown -R $PLEX_USER:$PLEX_GROUP $PKG/var/lib/$PRGNAM
+
+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
diff --git a/libraries/plexmediaserver/plexmediaserver.info b/libraries/plexmediaserver/plexmediaserver.info
new file mode 100644
index 0000000000..108a1e7950
--- /dev/null
+++ b/libraries/plexmediaserver/plexmediaserver.info
@@ -0,0 +1,10 @@
+PRGNAM="plexmediaserver"
+VERSION="1.32.5.7349_8f4248874"
+HOMEPAGE="https://plex.tv/"
+DOWNLOAD="https://downloads.plex.tv/plex-media-server-new/1.32.5.7349-8f4248874/debian/plexmediaserver_1.32.5.7349-8f4248874_i386.deb"
+MD5SUM="b85f34b2c806e350666f3f12f2ed6758"
+DOWNLOAD_x86_64="https://downloads.plex.tv/plex-media-server-new//debian/plexmediaserver_1.32.5.7349-8f4248874_amd64.deb"
+MD5SUM_x86_64="59f38a1d906e195cd9682fba941c04b9"
+REQUIRES=""
+MAINTAINER="Stu Miller"
+EMAIL="slackbuilds@go4it2day.com"
diff --git a/libraries/plexmediaserver/slack-desc b/libraries/plexmediaserver/slack-desc
new file mode 100644
index 0000000000..9f5445e3bd
--- /dev/null
+++ b/libraries/plexmediaserver/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+plexmediaserver: plexmediaserver (media center server)
+plexmediaserver:
+plexmediaserver: Plex is a media player system consisting of a player application
+plexmediaserver: and an associated media server. This package is for the backend
+plexmediaserver: media server. Plex's frontend media player, Plex Home Theater,
+plexmediaserver: allows the user to manage and play video, photos, music and
+plexmediaserver: podcasts from a local or remote computer running Plex Media Server.
+plexmediaserver:
+plexmediaserver: Homepage: https://plex.tv/
+plexmediaserver:
+plexmediaserver: