public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: media-tv/plex-media-server/, media-tv/plex-media-server/files/
@ 2021-07-16  1:34 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2021-07-16  1:34 UTC (permalink / raw
  To: gentoo-commits

commit:     5dae22ee27cd4a5b6ded79b6c2af26d44ee79411
Author:     Scott Martin <om <AT> organizedmagnetism <DOT> com>
AuthorDate: Thu Jul 15 15:33:24 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 16 01:33:16 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5dae22ee

media-tv/plex-media-server: version bump to 1.23.4.4805

Signed-off-by: Scott Martin <om <AT> organizedmagnetism.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-tv/plex-media-server/Manifest                |  2 +
 media-tv/plex-media-server/files/README.gentoo     |  5 +-
 media-tv/plex-media-server/files/plexmediaserver   |  2 +
 .../plex-media-server-1.23.4.4805.ebuild           | 72 ++++++++++++++++++++++
 4 files changed, 79 insertions(+), 2 deletions(-)

diff --git a/media-tv/plex-media-server/Manifest b/media-tv/plex-media-server/Manifest
index 9a2d023aa8d..9f2154e4a78 100644
--- a/media-tv/plex-media-server/Manifest
+++ b/media-tv/plex-media-server/Manifest
@@ -4,3 +4,5 @@ DIST plexmediaserver_1.23.2.4625-a83d2d0f9_amd64.deb 81773538 BLAKE2B 7b22cdd466
 DIST plexmediaserver_1.23.2.4625-a83d2d0f9_i386.deb 75148422 BLAKE2B 1758529c97b3f743df44321074f95f85ce7003fd9d92e4a849776e9f24bf6034de6e90c123db9c36c8732cffbc65089f6db20fba8ffffac1b6bce238b1595b04 SHA512 0e727d96bc147d7c4457f91c8309e1937bbee49a1599ff376959fb25cdc62fa3df1ae09880cc6ada7d8dfa4cbadccce24c35ad3bd41143f086ea1a0861e010f0
 DIST plexmediaserver_1.23.3.4707-ebb5fe9f3_amd64.deb 81474702 BLAKE2B 8e12a9c39bea8f44e6fa4fa495556cafc9865682b27c64b06072470367d7e9a64eca3147197ddef0b277fbd28970f85b388fc812f3532890d45506c49432324e SHA512 c30e19e1895eeaa699effb1d3d282fbf1f3657aff2d41af61f30f398fc501bac12e8d178abc12c818f52c52c0bc1bf803ad74985521e37f5db6baf60ecc959ab
 DIST plexmediaserver_1.23.3.4707-ebb5fe9f3_i386.deb 74842010 BLAKE2B 36967187241afdd7294ac46e03b5f55c1b22f5f7e2ba974ea322a369c41768cd6b7fd44d82ebf0afae1a98f5178161740e1d40d5f2c17faffa5b4ccb1d811eed SHA512 4625ea0b195fad305679656728c98ba8b15b38b86cbc9a95fbc6b617fb45e7e41b24f2c1ef2bc9736207d888c295d4e423a3d00fe654036ca1865782d88790ac
+DIST plexmediaserver_1.23.4.4805-186bae04e_amd64.deb 81419308 BLAKE2B df205474d640a6e6403e8c33f507a52bf2b1f5fd5352285e71357e0640a3e1ab644b0ed8e7ce2d01c30a4a657fab9601e4bf169bb520567550b0b182b988a1f3 SHA512 6e8febdfe7d3dbd7d00c76b5f8e10a72ec6fe5744602101adca4ea127147b6a0681f5207f1805b621bd9107ae0b15f8286b2e9e0ed96838378f29d888af52fd8
+DIST plexmediaserver_1.23.4.4805-186bae04e_i386.deb 74764294 BLAKE2B c4f1b978acd84d30d1685065e7eab7a87dec5c03d448c9d2ef378c57ed4f2dc9067379279cd97815e58a86690406fc8646be2f9bbdd552288782c14750ee1799 SHA512 55ed319e0a5e2290157cc800967ae26f80dcfa3c8476c0fb770a13069096ef8d88d9dd24cd8b7619828e5f2f17ac2ab2ca4ac0c748843e9af61866d4c60a45fd

diff --git a/media-tv/plex-media-server/files/README.gentoo b/media-tv/plex-media-server/files/README.gentoo
index ec4445ac397..db988e30fe0 100644
--- a/media-tv/plex-media-server/files/README.gentoo
+++ b/media-tv/plex-media-server/files/README.gentoo
@@ -1,7 +1,8 @@
 Plex Media Server is now installed. Please check the configuration file.
 It can be found in /etc/plex/plexmediaserver to verify the default settings.
-Adjust thread counts and memory usage limits in /usr/sbin/start_pms for best
-performance. To start the Plex Server, run 'rc-config start plex-media-server'
+Adjust thread counts and memory usage limits for best performance.
+
+To start the Plex Server, run 'rc-config start plex-media-server'
 You will then be able to access your library at http://localhost:32400/manage
 
 If installing on a remote host you will need to use a ssh tunnel eg,

diff --git a/media-tv/plex-media-server/files/plexmediaserver b/media-tv/plex-media-server/files/plexmediaserver
new file mode 100644
index 00000000000..d1981dc1c6f
--- /dev/null
+++ b/media-tv/plex-media-server/files/plexmediaserver
@@ -0,0 +1,2 @@
+export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=4
+export PLEX_MEDIA_SERVER_MAX_STACK_SIZE=3000

diff --git a/media-tv/plex-media-server/plex-media-server-1.23.4.4805.ebuild b/media-tv/plex-media-server/plex-media-server-1.23.4.4805.ebuild
new file mode 100644
index 00000000000..6a97c242b50
--- /dev/null
+++ b/media-tv/plex-media-server/plex-media-server-1.23.4.4805.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit readme.gentoo-r1 systemd unpacker
+
+MY_PV="${PV}-186bae04e"
+MY_URI="https://downloads.plex.tv/plex-media-server-new"
+
+DESCRIPTION="Free media library that is intended for use with a plex client"
+HOMEPAGE="https://www.plex.tv/"
+SRC_URI="
+	amd64? ( ${MY_URI}/${MY_PV}/debian/plexmediaserver_${MY_PV}_amd64.deb )
+	x86? ( ${MY_URI}/${MY_PV}/debian/plexmediaserver_${MY_PV}_i386.deb )"
+S="${WORKDIR}"
+
+LICENSE="Plex"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="mirror bindist"
+
+DEPEND="
+	acct-group/plex
+	acct-user/plex"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="*"
+QA_MULTILIB_PATHS=(
+	"usr/lib/plexmediaserver/lib/.*"
+	"usr/lib/plexmediaserver/Resources/Python/lib/python2.7/.*"
+	"usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_hashlib.so"
+)
+
+src_install() {
+	# Remove Debian specific files
+	rm -r "usr/share/doc" || die
+
+	# Add startup wrapper
+	dosbin "${FILESDIR}/start_pms"
+
+	# Add user config file
+	mkdir -p "${ED}/etc/default" || die
+	cp "${FILESDIR}/plexmediaserver" "${ED}/etc/default/" || die
+
+	# Copy main files over to image and preserve permissions so it is portable
+	cp -rp usr/ "${ED}" || die
+
+	# Make sure the logging directory is created
+	keepdir /var/log/pms
+	fowners plex:plex /var/log/pms
+
+	keepdir /var/lib/plexmediaserver
+	fowners plex:plex /var/lib/plexmediaserver
+
+	newinitd "${FILESDIR}/${PN}.init.d" ${PN}
+	newconfd "${FILESDIR}/${PN}.conf.d" ${PN}
+
+	systemd_dounit "${ED}"/usr/lib/plexmediaserver/lib/plexmediaserver.service
+	keepdir /var/lib/plexmediaserver
+
+	# Adds the precompiled plex libraries to the revdep-rebuild's mask list
+	# so it doesn't try to rebuild libraries that can't be rebuilt.
+	insinto /etc/revdep-rebuild
+	doins "${FILESDIR}"/80plexmediaserver
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: media-tv/plex-media-server/, media-tv/plex-media-server/files/
@ 2023-02-17  6:27 Sam James
  0 siblings, 0 replies; 2+ messages in thread
From: Sam James @ 2023-02-17  6:27 UTC (permalink / raw
  To: gentoo-commits

commit:     71de81b880d7349ce048fa3e11ba0da762f70bb7
Author:     Joe Kappus <joe <AT> wt <DOT> gd>
AuthorDate: Sun Feb  5 09:57:10 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 17 06:22:24 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71de81b8

media-tv/plex-media-server: readd hardened support, initscript, fix version reporting

These changes will bring us in line with plex-overlay.

- start_pms is hacky and removed, we shouldn't ship it.
- the service
- we had pax marking, someone removed it, but it was requested before so readding.
- openrc and systemd support
- Lift mirror restriction (again): https://bugs.gentoo.org/600696

Co-authored-by: Sam James <sam <AT> cmpct.info>
Signed-off-by: Joe Kappus <joe <AT> wt.gd>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../files/plex-media-server.conf.d                 |  8 +++
 .../files/plex-media-server.init.d                 | 16 +++++
 .../files/plex-media-server.service.patch          | 10 +++
 .../plex-media-server-1.30.2.6563-r1.ebuild        | 84 ++++++++++++++++++++++
 4 files changed, 118 insertions(+)

diff --git a/media-tv/plex-media-server/files/plex-media-server.conf.d b/media-tv/plex-media-server/files/plex-media-server.conf.d
new file mode 100644
index 000000000000..bd683b0063b9
--- /dev/null
+++ b/media-tv/plex-media-server/files/plex-media-server.conf.d
@@ -0,0 +1,8 @@
+# Config file for /etc/init.d/plex-media-server
+
+PLEX_PIDFILE="/var/run/plex-media-server.pid"
+PLEX_OUTLOG="/var/log/pms/out.log"
+PLEX_ERRLOG="/var/log/pms/err.log"
+PLEX_USER="plex"
+# PLEX_SCRIPT="/usr/sbin/start_pms"
+PLEX_SCRIPT="/usr/lib/plexmediaserver/Plex Media Server"

diff --git a/media-tv/plex-media-server/files/plex-media-server.init.d b/media-tv/plex-media-server/files/plex-media-server.init.d
new file mode 100644
index 000000000000..26f3941a3b0e
--- /dev/null
+++ b/media-tv/plex-media-server/files/plex-media-server.init.d
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+
+start() {
+	ebegin "Starting Plex Media Server"
+	start-stop-daemon -S -m -p ${PLEX_PIDFILE} -1 ${PLEX_OUTLOG} -2 ${PLEX_ERRLOG} --quiet -u ${PLEX_USER} -N -5 -b --exec "${PLEX_SCRIPT}"
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping Plex Media Server"
+	kill -- -`cat ${PLEX_PIDFILE}`
+
+	# Remove stale pid file since this is a dirty solution
+	rm ${PLEX_PIDFILE}
+	eend $?
+}

diff --git a/media-tv/plex-media-server/files/plex-media-server.service.patch b/media-tv/plex-media-server/files/plex-media-server.service.patch
new file mode 100644
index 000000000000..a2bf14ed30cd
--- /dev/null
+++ b/media-tv/plex-media-server/files/plex-media-server.service.patch
@@ -0,0 +1,10 @@
+--- ./usr/lib/plexmediaserver/lib/plexmediaserver.service.old	2020-11-22 18:18:21.258165393 +0100
++++ ./usr/lib/plexmediaserver/lib/plexmediaserver.service	2020-11-22 18:18:35.864602444 +0100
+@@ -27,5 +27,6 @@
+ export PLEX_MEDIA_SERVER_INFO_VENDOR="$(grep ^NAME= /etc/os-release | awk -F= "{print \\$2}" | tr -d \\" )"; \
+ export PLEX_MEDIA_SERVER_INFO_DEVICE="PC"; \
+ export PLEX_MEDIA_SERVER_INFO_MODEL="$(uname -m)"; \
+-export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION="$(grep ^VERSION= /etc/os-release | awk -F= "{print \\$2}" | tr -d \\" )"; \
++export GENTOO_PROFILE="`readlink /etc/portage/make.profile`"; \
++export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION="$${GENTOO_PROFILE#.*/profiles/}"; \
+ exec "/usr/lib/plexmediaserver/Plex Media Server"'

diff --git a/media-tv/plex-media-server/plex-media-server-1.30.2.6563-r1.ebuild b/media-tv/plex-media-server/plex-media-server-1.30.2.6563-r1.ebuild
new file mode 100644
index 000000000000..e95da8c48f94
--- /dev/null
+++ b/media-tv/plex-media-server/plex-media-server-1.30.2.6563-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit readme.gentoo-r1 systemd unpacker pax-utils
+
+MY_PV="${PV}-3d4dc0cce"
+MY_URI="https://downloads.plex.tv/plex-media-server-new"
+
+DESCRIPTION="Free media library that is intended for use with a plex client"
+HOMEPAGE="https://www.plex.tv/"
+SRC_URI="
+	amd64? ( ${MY_URI}/${MY_PV}/debian/plexmediaserver_${MY_PV}_amd64.deb )
+	arm64? ( ${MY_URI}/${MY_PV}/debian/plexmediaserver_${MY_PV}_arm64.deb )
+	x86? ( ${MY_URI}/${MY_PV}/debian/plexmediaserver_${MY_PV}_i386.deb )
+"
+S="${WORKDIR}"
+
+LICENSE="Plex"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm64 ~x86"
+RESTRICT="bindist"
+
+DEPEND="
+	acct-group/plex
+	acct-user/plex"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+	"${FILESDIR}/${PN}.service.patch"
+)
+
+QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop"
+QA_PREBUILT="*"
+QA_MULTILIB_PATHS=(
+	"usr/lib/plexmediaserver/lib/.*"
+	"usr/lib/plexmediaserver/Resources/Python/lib/python2.7/.*"
+	"usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_hashlib.so"
+)
+
+BINS_TO_PAX_MARK=(
+	"${ED}/usr/lib/plexmediaserver/Plex Script Host"
+	"${ED}/usr/lib/plexmediaserver/Plex Media Scanner"
+)
+
+src_install() {
+	# Remove Debian specific files
+	rm -r "usr/share/doc" || die
+
+	# Copy main files over to image and preserve permissions so it is portable
+	cp -rp usr/ "${ED}" || die
+
+	# Make sure the logging directory is created
+	keepdir /var/log/pms
+	fowners plex:plex /var/log/pms
+
+	keepdir /var/lib/plexmediaserver
+	fowners plex:plex /var/lib/plexmediaserver
+
+	# Install the OpenRC init/conf files
+	newinitd "${FILESDIR}/${PN}.init.d" ${PN}
+	newconfd "${FILESDIR}/${PN}.conf.d" ${PN}
+
+	# Install systemd service file
+	systemd_newunit "${ED}"/usr/lib/plexmediaserver/lib/plexmediaserver.service "${PN}.service"
+
+	# Add pax markings to some binaries so that they work on hardened setup
+	local f
+	for f in "${BINS_TO_PAX_MARK[@]}"; do
+		pax-mark m "${f}"
+	done
+
+	# Adds the precompiled plex libraries to the revdep-rebuild's mask list
+	# so it doesn't try to rebuild libraries that can't be rebuilt.
+	insinto /etc/revdep-rebuild
+	doins "${FILESDIR}"/80plexmediaserver
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	readme.gentoo_print_elog
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-02-17  6:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-17  6:27 [gentoo-commits] repo/gentoo:master commit in: media-tv/plex-media-server/, media-tv/plex-media-server/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2021-07-16  1:34 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox