From a4e2a46beb5e4858ef27bdedbb0ff6d2ced430ad Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Apr 2018 20:02:04 +0100 Subject: gentoo resync : 28.04.2018 --- media-tv/plex-media-server/Manifest | 4 +- .../plex-media-server-1.12.1.ebuild | 2 +- .../plex-media-server-1.12.3.ebuild | 155 +++++++++++++++++++++ 3 files changed, 159 insertions(+), 2 deletions(-) create mode 100644 media-tv/plex-media-server/plex-media-server-1.12.3.ebuild (limited to 'media-tv/plex-media-server') diff --git a/media-tv/plex-media-server/Manifest b/media-tv/plex-media-server/Manifest index 2ea4c1c4b998..627b4fd47f0d 100644 --- a/media-tv/plex-media-server/Manifest +++ b/media-tv/plex-media-server/Manifest @@ -4,6 +4,8 @@ AUX systemd/plex-media-server.service 159 BLAKE2B d4988890f6424e0b9160e90df0125f AUX virtualenv_start_pms.patch 839 BLAKE2B 20d6a53b40a2c714153bc7f04c2bbad568b75197cd450cb52129cc3718fad1db09f9fe2a92e8608e1e95b710e0b4af58a373650ab4017438b63fe61132f13d75 SHA512 55fb8f3234942d10c0d6d1820fbab48b8a9f26f069031946dae551cde8b7d18d61ef36ec994719d2519687dc75e5ec27205702395a8af112bda720b7a62072aa DIST plexmediaserver_1.11.3.4803-c40bba82e_amd64.deb 108830880 BLAKE2B 7ed912756b8bdedb695c4cbf99d0565da53904814cedb8e026614b8db9bb638cbd437f35e05915d6d22221c87ecf1136ea9ae08797bca2ebbe4f2e0a861b4841 SHA512 0bda324e733b1e86e8dba7c10f6bab3e9dad5463113c5998059492bd7d4a49e105068d1d9313c9405d7a3c85c99e6528be6c0f1c9f52db115a1da1545a9485b5 DIST plexmediaserver_1.12.1.4885-1046ba85f_amd64.deb 109238814 BLAKE2B 52f44e4531c3ffb4a7f6d6cc5fdaed97ce3b44a7469074c6c4e81a5a9991b7a371a40a3d4db30f8cab5e10ae6caeb9798822c541dc27b1f5597d464fdd0292c2 SHA512 8125fa8132b6ed928f08660ddbff6dd8855719c0833c4c2b5dc8193674d8d22148f95848ce8b500612b12379efbc6e180ea72b2f90d695e1bf40ba2705def8a4 +DIST plexmediaserver_1.12.3.4973-215c28d86_amd64.deb 109277946 BLAKE2B 6a868943c77a1355dd0a4dbe88323b937d827dbfe84e729cf1f5c5c7d4a7d44e9af7e69121a7e3cf9f5d60786c9877bd3e303d9d5d301c86f08984afb1062730 SHA512 1befe9196926bf4cabd1f9c746e958efc72392479a844f8c3d9161282618fe28e29dbb9c12ddccf5db5b852ae58cd43dc0d988f00732431e16106021c8618347 EBUILD plex-media-server-1.11.3.ebuild 4676 BLAKE2B 61d01851e31c0ee8da3ade91cc5e99db6e8b073eef97558d9afa21a551c22e348beb1ca69b2b76b84be0737580a1ebaba8600eed1f9ead51e663d074af7a04c7 SHA512 ed3c3e5a5737f39b50d30c3c6115787caca16bb0a68899dc787deb1fa03a06d3ca8430249b5057177e75699d9ca786a21f64703b5c5db413bb029fc94889ef47 -EBUILD plex-media-server-1.12.1.ebuild 4737 BLAKE2B 7616fdb0cc751e2f3bc53e0abde76c632d72c7e516a83fbd36c17f22bb4405643cd785716661d104d187f02a3b473a780e1a5fd2e81f7ac88a68820343c82f36 SHA512 3fa4bffc755d2df496c28b4ce9b37ed661f60c4b5fba1f6f5718f6c43135d75086872a18e079932739463cf6e6afd337b1142a5d4ee03140bad9cd63df1aabf6 +EBUILD plex-media-server-1.12.1.ebuild 4736 BLAKE2B 0e73cd36cdde7bde7e33c934e3685a71a0107156ebb614acdb12513854192ab89ff4b371c807e3757776b30f517cf20d3e4be1793971c8871afc42288f9fa180 SHA512 e3e6c456ec19a751ed39b2dc33caef8ca13e3352ec0f314970aeae409364e6128f93337689995ad5e3e86f8e1ef963152dbf3e518bcf85b5c621fa3d15630133 +EBUILD plex-media-server-1.12.3.ebuild 4737 BLAKE2B e71844f154fbae97ef40ac486d71d02d09202fc02639818fd53186bce0536a98b6281df1bf831ed785971675a9dee2fafd46065915043dd44f8b27dcb11d5cdc SHA512 87685141af8041d51d0b6252760644a5ec5105a6722f5f0ee057bfd07bf2c098bea705daea48a81ad1da15d3119f8239b339e98e384207d0abc1a2dd8b330ef4 MISC metadata.xml 272 BLAKE2B 084b8ae019863d5cda604c5cafb2ae06aaa78efedd73224cdddf5089fc709ef783841063c23d2d599dcea7d4c49770158d12dee34738322fc5933ca80fec71c5 SHA512 21fe9d289af64cd556f7c8edb452857c3285dec0e3b83a3be2e8a67dda1da59994ab70de86c78a5d9fe9a3c488ff82dc909f7e5fee946386bffb410b02caafdb diff --git a/media-tv/plex-media-server/plex-media-server-1.12.1.ebuild b/media-tv/plex-media-server/plex-media-server-1.12.1.ebuild index 3997a207e48b..a79b2b6be859 100644 --- a/media-tv/plex-media-server/plex-media-server-1.12.1.ebuild +++ b/media-tv/plex-media-server/plex-media-server-1.12.1.ebuild @@ -21,7 +21,7 @@ SRC_URI="amd64? ( ${URI}/${_FULL_VERSION}/plexmediaserver_${_FULL_VERSION}_amd64 SLOT="0" LICENSE="Plex" RESTRICT="bindist strip" -KEYWORDS="-* ~amd64" +KEYWORDS="-* amd64" REQUIRED_USE="${PYTHON_REQUIRED_USE}" DEPEND=" diff --git a/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild new file mode 100644 index 000000000000..51b3b7f13354 --- /dev/null +++ b/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils user systemd unpacker pax-utils python-single-r1 + +MINOR_VERSION="4973-215c28d86" + +_APPNAME="plexmediaserver" +_USERNAME="plex" +_SHORTNAME="${_USERNAME}" +_FULL_VERSION="${PV}.${MINOR_VERSION}" + +URI="https://downloads.plex.tv/plex-media-server" + +DESCRIPTION="A free media library that is intended for use with a plex client." +HOMEPAGE="http://www.plex.tv/" +SRC_URI="amd64? ( ${URI}/${_FULL_VERSION}/plexmediaserver_${_FULL_VERSION}_amd64.deb )" +SLOT="0" +LICENSE="Plex" +RESTRICT="bindist strip" +KEYWORDS="-* ~amd64" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND=" + sys-apps/fix-gnustack + dev-python/virtualenv[${PYTHON_USEDEP}]" + +RDEPEND=" + net-dns/avahi + ${PYTHON_DEPS}" + +QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop" +QA_PREBUILT="*" +QA_MULTILIB_PATHS=( + "usr/lib/${_APPNAME}/.*" + "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*" +) + +EXECSTACKED_BINS=( "${ED%/}/usr/lib/plexmediaserver/libgnsdk_dsp.so*" ) +BINS_TO_PAX_MARK=( "${ED%/}/usr/lib/plexmediaserver/Plex Script Host" ) + +S="${WORKDIR}" +PATCHES=( "${FILESDIR}/virtualenv_start_pms.patch" ) + +pkg_setup() { + enewgroup ${_USERNAME} + enewuser ${_USERNAME} -1 /bin/bash /var/lib/${_APPNAME} "${_USERNAME},video" + python-single-r1_pkg_setup +} + +src_unpack() { + unpack_deb ${A} +} + +src_install() { + # Move the config to the correct place + local CONFIG_VANILLA="/etc/default/plexmediaserver" + local CONFIG_PATH="/etc/${_SHORTNAME}" + dodir "${CONFIG_PATH}" + insinto "${CONFIG_PATH}" + doins "${CONFIG_VANILLA#/}" + sed -e "s#${CONFIG_VANILLA}#${CONFIG_PATH}/${_APPNAME}#g" -i "${S}"/usr/sbin/start_pms || die + + # Remove Debian specific files + rm -rf "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 + local LOGGING_DIR="/var/log/pms" + dodir "${LOGGING_DIR}" + chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${LOGGING_DIR}" || die + keepdir "${LOGGING_DIR}" + + # Create default library folder with correct permissions + local DEFAULT_LIBRARY_DIR="/var/lib/${_APPNAME}" + dodir "${DEFAULT_LIBRARY_DIR}" + chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${DEFAULT_LIBRARY_DIR}" || die + keepdir "${DEFAULT_LIBRARY_DIR}" + + # Install the OpenRC init/conf files + doinitd "${FILESDIR}/init.d/${PN}" + doconfd "${FILESDIR}/conf.d/${PN}" + + # Disabling due to Bug 644694 + #_handle_multilib + + # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them. + # Plex has its own precompiled libraries. + _mask_plex_libraries_revdep + + # Install systemd service file + local INIT_NAME="${PN}.service" + local INIT="${FILESDIR}/systemd/${INIT_NAME}" + systemd_newunit "${INIT}" "${INIT_NAME}" + + _remove_execstack_markings + _add_pax_markings + + einfo "Configuring virtualenv" + virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"usr/lib/plexmediaserver/Resources/Python || die + pushd "${ED}"usr/lib/plexmediaserver/Resources/Python &>/dev/null || die + find . -type f -exec sed -i -e "s#${D}##g" {} + || die + popd &>/dev/null || die +} + +pkg_postinst() { + einfo "" + elog "Plex Media Server is now installed. Please check the configuration file in /etc/${_SHORTNAME}/${_APPNAME} to verify the default settings." + elog "To start the Plex Server, run 'rc-config start plex-media-server', you will then be able to access your library at http://:32400/web/" +} + +# Disabling the follow function due to Bug 644694. +# We shouldn't register plex libraries in global +# library path since this will cause other packages +# on the system to break. + +# Finds out where the library directory is for this system +# and handles ldflags as to not break library dependencies +# during rebuilds. +_handle_multilib() { + # Prevent revdep-rebuild, @preserved-rebuild breakage + cat > "${T}"/66plex <<-EOF || die + LDPATH="${EPREFIX}/usr/$(get_libdir)/plexmediaserver" + EOF + + doenvd "${T}"/66plex +} + +# 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. +_mask_plex_libraries_revdep() { + dodir /etc/revdep-rebuild/ + echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/$(get_libdir)/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver +} + +# Remove execstack flags from some libraries/executables +# so that it works in hardened setups. +_remove_execstack_markings() { + for f in "${EXECSTACKED_BINS[@]}"; do + # Unquoting 'f' so that expansion works. + fix-gnustack -f ${f} > /dev/null + done +} + +# Add pax markings to some binaries so that they work on hardened setup. +_add_pax_markings() { + for f in "${BINS_TO_PAX_MARK[@]}"; do + pax-mark m "${f}" + done +} -- cgit v1.2.3