From 21435953e16cda318a82334ddbadb3b5c36d9ea7 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 15 Jan 2020 15:51:32 +0000 Subject: gentoo resync : 15.01.2020 --- media-tv/plex-media-server/Manifest | 12 +- .../add_gentoo_profile_as_platform_version.patch | 12 ++ .../files/init.d/plex-media-server | 0 .../files/plexmediamanager.desktop.new.patch | 8 ++ .../plex-media-server-1.11.3.ebuild | 153 -------------------- .../plex-media-server-1.12.3.ebuild | 155 --------------------- .../plex-media-server-1.18.3.ebuild | 135 ++++++++++++++++++ .../plex-media-server-1.18.4.ebuild | 135 ++++++++++++++++++ 8 files changed, 298 insertions(+), 312 deletions(-) create mode 100644 media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch mode change 100755 => 100644 media-tv/plex-media-server/files/init.d/plex-media-server create mode 100644 media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch delete mode 100644 media-tv/plex-media-server/plex-media-server-1.11.3.ebuild delete mode 100644 media-tv/plex-media-server/plex-media-server-1.12.3.ebuild create mode 100644 media-tv/plex-media-server/plex-media-server-1.18.3.ebuild create mode 100644 media-tv/plex-media-server/plex-media-server-1.18.4.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 e79ba761089d..c3380d5647b7 100644 --- a/media-tv/plex-media-server/Manifest +++ b/media-tv/plex-media-server/Manifest @@ -1,16 +1,20 @@ +AUX add_gentoo_profile_as_platform_version.patch 616 BLAKE2B 5331ad91139aa69944aa5c263609985c87315a67f3d5633e8f3976aa010f39f50e563d0b3b5259ebd1ce3437560ba8d95a71e304712a35bb8150ac0684a56107 SHA512 53e99d8a24a23f0c530ab955f5a4a9938c4e06056d3107f899883094690dd9426d0951ea695628351afa3e971a4f59827b6c8dcae323718d24450c74bd78769a AUX conf.d/plex-media-server 216 BLAKE2B 094d0f6f7cdfa696ae47d7879c7459be5755dfe02a12c3ee986c1078ae0a46d974adc25dce252a49c3fd72e0dfe1ba65c49d575e12036fba44ce9b0390da64ec SHA512 d3d68fa58a1c1064803a9607708123302890571e823e5bc26de741bb15bd51db19234636672ff01757cbbcdb984c60663545689fa915761c78c3cf49e6da0f95 AUX init.d/plex-media-server 413 BLAKE2B f60fe9f653c591cddaf77a0ebcb47218681a63235e82bc016c7d2ee9180df7f6ff24f3784216ea370bdc2d493531492f196200b6ec56ff8b303e69adaa0f108d SHA512 aeb873a00081f20abd27cc76d395908ae0643bd8aa665557adafef2ed97edbe93c18b55818b49227746f9c3ce4b7a81ceb9132f07d8d873bc7b5a932b944a402 +AUX plexmediamanager.desktop.new.patch 350 BLAKE2B f52186623be0ee3e4e1414639c69a39cd83f4a45af4854a6bf2c4f6e3d51dab3d16539d554f80dbb432dcb97f6171097677ae9e24486167802d2cf93fe4c2f63 SHA512 e7e97ef8d39ff0e9220026d282febaa2613f8cc96253a9f801f1f2af5c60c3780391cdada98f921cf0226156a2347db982cf814e6aa446b07e9ae6b1b96c9525 AUX systemd/plex-media-server.service 159 BLAKE2B d4988890f6424e0b9160e90df0125fbcb32e86443c5b869f66ac6e28c3701fdaa3dd819823edd0c8675792bf4e24e7fcf3bb8894e55539ad8fc5eb9ac9a550fc SHA512 9066840efa43b127dd0d4b26ea0552894db97bf48f89003258095986e7d4728e05bee2f49de856777ed3d0b5ec41654c14505bc9867b227b754aeecd0529abd6 AUX virtualenv_start_pms.patch 839 BLAKE2B 20d6a53b40a2c714153bc7f04c2bbad568b75197cd450cb52129cc3718fad1db09f9fe2a92e8608e1e95b710e0b4af58a373650ab4017438b63fe61132f13d75 SHA512 55fb8f3234942d10c0d6d1820fbab48b8a9f26f069031946dae551cde8b7d18d61ef36ec994719d2519687dc75e5ec27205702395a8af112bda720b7a62072aa AUX virtualenv_start_pms_2019.patch 430 BLAKE2B 397f059ab4a401bb92dc71a763a3c2ce385bcb0d3fc001629b5b9c2a740b862c086bb9d62592897e39e9fa8849671a2b961b8653de27d8c80e66c4b749a34982 SHA512 e6611cf2831701dabba08c4e9cdb8a8689da4cabcc720d4236b8c193ef7bd97e68451c82573f062cd0fdfd8d758cb0f4b7be5f09514b5e08313001e4ad68489b -DIST plexmediaserver_1.11.3.4803-c40bba82e_amd64.deb 108830880 BLAKE2B 7ed912756b8bdedb695c4cbf99d0565da53904814cedb8e026614b8db9bb638cbd437f35e05915d6d22221c87ecf1136ea9ae08797bca2ebbe4f2e0a861b4841 SHA512 0bda324e733b1e86e8dba7c10f6bab3e9dad5463113c5998059492bd7d4a49e105068d1d9313c9405d7a3c85c99e6528be6c0f1c9f52db115a1da1545a9485b5 -DIST plexmediaserver_1.12.3.4973-215c28d86_amd64.deb 109277946 BLAKE2B 6a868943c77a1355dd0a4dbe88323b937d827dbfe84e729cf1f5c5c7d4a7d44e9af7e69121a7e3cf9f5d60786c9877bd3e303d9d5d301c86f08984afb1062730 SHA512 1befe9196926bf4cabd1f9c746e958efc72392479a844f8c3d9161282618fe28e29dbb9c12ddccf5db5b852ae58cd43dc0d988f00732431e16106021c8618347 DIST plexmediaserver_1.13.2.5154-fd05be322_amd64.deb 111093662 BLAKE2B 26b1161107a8f9223f7065ff4119a32470c06794a159a42181b9278107a6d14f9fbb582e515223aaa659e9007d9b18299cd65b2a068e1d7dd934d52552a44cd1 SHA512 548c033272d56f6c54ab073536327b285fdbda3192c203a3ea3ff2b6c7afbc79ba7d56d7251f623ca1e09db572c92000d7baa7a8a555d853d85fdb9d1dfb8479 DIST plexmediaserver_1.14.1.5488-cc260c476_amd64.deb 105175642 BLAKE2B 59f7cc130115ae2179bcf0ddf5ef4583886c11447c423ada2b1da62f83c3840c89aa2b6d9c56e3a358d1da03bc9a6bd340cae7fee1b6da102e9bc785de4f8e27 SHA512 48f25ac27a8dc5d1a4ae74a04793994bb21431ed3069a9808373e0c5a424fd53f577d0912e1e46a155133b094bdafb7edeb5b6c9ef428a08e07e24e055267e86 DIST plexmediaserver_1.16.4.1469-6d5612c2f_amd64.deb 74427444 BLAKE2B f90973aaadaf8e11fbcaa0aaa817a11b62049b1eaa22c04daf65d4fc21e73eb90d982e3faa66b482fdb4e7b53467246e20845c432920718334c5419c760e85bd SHA512 0753e82d4cd2c5a35f8f62329c3013eff297edd1bf9afcfd1444c3f3f85d33b3aec4a553c70931182d3a45df44dd26ce10ddbee9b59755914c988f0edbe5aa70 -EBUILD plex-media-server-1.11.3.ebuild 4677 BLAKE2B a383ba8725a3b464d4f26df41db9823b6f63d704d7071723a92d03e07b3e40619afefeb64991e4a9051a47c0d2943416aa3da906cccd9033fbb8d91d29a1fab0 SHA512 b2b97885dc31e520aac8278df291c03c81169931940ec65aa5197957dee2bffb18ac32e11c1e049b14a196a9b5c096f210b439efd7800e9cac8d7e3743193682 -EBUILD plex-media-server-1.12.3.ebuild 4737 BLAKE2B a08d70d804e55777bdda1b67ed3438cb94013f93c2020a1c175c4839c0dc3d6f2727045be262a8ff01225666d006899dd11817f9d2309ea6b788744c8ee1c4de SHA512 18e182da95d918349f59bec88f860442dd4bef8778abbde77db8d7cd88db9c83dfb6f654afff9554101880a87542e7309f2e3411a70e159990e1417d86f97af3 +DIST plexmediaserver_1.18.3.2156-349e9837e_amd64.deb 87197768 BLAKE2B 1dfb42a0258c5a4ff93ac38ab4abad5c17ba3c0a26db85554fa43c72ad46416bcd15bea2a33114a17ed59a73c1b4b74953560f15db3df7eb8e00f3aeb090d4d4 SHA512 82920a25b6a73d929ee2dc776ae025d427248513b1590cef80224a2173c70f6354ec32a27d3e8e49d5f67ff3c77c57531a55d031a03fbd82034c301aa99a71ac +DIST plexmediaserver_1.18.3.2156-349e9837e_i386.deb 74116200 BLAKE2B fd5b152704c9c646fce9e2a139c0ac9d500d2514e2fc050d788bd5a65df55df4d7db8b17b0160623738add3f8ca29d3566741cf3c47866d09ac96f4e035e9fa0 SHA512 4a489b807e5f6b0624a879e29eac6816a3dbd31eb8286c76263904c59c7be481dfd6754a5e14ba6ee2247c851cfd0762ca3e4a3004ca5b343bf53a5a1e143552 +DIST plexmediaserver_1.18.4.2171-ac2afe5f8_amd64.deb 86833802 BLAKE2B a59b1ff4f4475b87464e6a7fe441258c95e19db86649bfb5110a1f1a2a5382c847a9d146dec48b726bd8d34622da04dfc31d460f9c91f44f551ab5a87e8ff4ec SHA512 b2106a43996ebbddd179101ab7c054ca7576f6cd60892c78354106875a13e22283fdcddfe39041acc2dc60690a40029edd213651938b04f002fe3680da13d707 +DIST plexmediaserver_1.18.4.2171-ac2afe5f8_i386.deb 73659238 BLAKE2B 3be12b14359f0e7f46f40328414855ece7c36d4cdd0c01dc30cf225ec3e7aef06504b8c2117f634e4ea0960aa387e2d2cfacb2e697d788befa1b76bc973aebf8 SHA512 9641ff170ea3379cf0b6351167206b2923194e831868b1c2245da7bd3a63af12f17ba27c42bd4b4cb8f00bb844e1be6b7427912d1f06096c6e701f579f918d66 EBUILD plex-media-server-1.13.2-r1.ebuild 5111 BLAKE2B a695cebc1611c173f517c3618efd7733eaadc365d8a9d9519321d55fa0e34cf3101ecc630baf5614387cd3216d1aaf8d2eb76ccc904845d64918a4dde0ea4096 SHA512 9b31ceffb0f1de25250d865e11543851a08f53ba2568f2108bc98b069d295d97ea300baae50a5f9ce2a63aa36242f0162896dfdd6e9b9a428f0effe4a5de4348 EBUILD plex-media-server-1.14.1.ebuild 5107 BLAKE2B 045768a008b2c7a20ec999bb7a04703aa86020c17cd7038255476793e5633873a239edff0580770d3b8d7d644dec336edae9380af5ae18c0949f8d87f636647a SHA512 a66db8f7a13c4d45b94f4c2f1f29d61c22eabcaf035d00226c860fcb44aba68d709cb9304ca85e0fc530cffe870668c7acba57fc11ea7ce483fbebef21d04802 EBUILD plex-media-server-1.16.4.ebuild 4067 BLAKE2B bfc37ad99b0bada0e859a83c23a906944209d7c6b38da471f79802dca89716a274513ce85e84f4fd2a083b723733a9191262755356dd30429f5dc47307699685 SHA512 cfd87eba01fc50238bdcd94ca01d74e74281b58f9d4f71d6bd1e8e97189ab7a6077bb1640f5f23cb62febc27701d2c332da2bc4460af595fd74d93f0032b3d13 +EBUILD plex-media-server-1.18.3.ebuild 4433 BLAKE2B d2f1488336132a93aa99d408587d04cac5058b641d698529c10d4034daab6f84782f5a6367f8feb07547f6054e7dc6e3371587f0a6a9aa0025dba6e1fbdbc7e8 SHA512 913127571255dc119a7544087b69a34531b5d64be14abe9a6085cfa0d790efdd80f59e06318a4a918f00190ceec557409484f59b905600d323e7deb7e3fb6e43 +EBUILD plex-media-server-1.18.4.ebuild 4433 BLAKE2B ac17d0c743950abc3fdcdbff7b006b7b2a2d99eaa1b9058c665cbca469a95b9c827073a35ad26b953fd7209634aca36e253c7af83b11ce2aa3c16b51dd31ab84 SHA512 ba54d4449d13e425e7d36bfdb8091aeb47327a37ef539232daf129821e4a28e09cc5cdc84d4ad8723802e9a8aa830de0e1713eddc3124bca559da5cc3acb576e MISC metadata.xml 367 BLAKE2B 0d52124daec02b05aa2c729fcc943a29b74d871de0dccf8cafb9947908a4eea58b2d893a454cb76230d1a24eecdd4b9ef752c40d52961488bd5722dfba57f2c8 SHA512 9feb86f493b8ba2cf3a3bf8c146e55bbd7701e58bf62ab576a71fecdac0ad0522bfe45650d84f6b0ec94be2fbf07c6db143cce5c69e80a32101084e372e86eb0 diff --git a/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch b/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch new file mode 100644 index 000000000000..eaf49067bf2c --- /dev/null +++ b/media-tv/plex-media-server/files/add_gentoo_profile_as_platform_version.patch @@ -0,0 +1,12 @@ +--- a/usr/sbin/start_pms ++++ b/usr/sbin/start_pms +@@ -4,7 +4,8 @@ + 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 \" )" ++GENTOO_PROFILE="`readlink /etc/portage/make.profile`" ++export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION="${GENTOO_PROFILE#.*/profiles/}" + + # change these parameters in /etc/plex/plexmediaserver + export PLEX_MEDIA_SERVER_MAX_PLUGIN_PROCS=6 diff --git a/media-tv/plex-media-server/files/init.d/plex-media-server b/media-tv/plex-media-server/files/init.d/plex-media-server old mode 100755 new mode 100644 diff --git a/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch b/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch new file mode 100644 index 000000000000..a7f86de369ae --- /dev/null +++ b/media-tv/plex-media-server/files/plexmediamanager.desktop.new.patch @@ -0,0 +1,8 @@ +--- ./usr/share/applications/plexmediaserver.desktop 2019-01-02 13:53:51.000000000 +0100 ++++ ./usr/share/applications/plexmediaserver.desktop 2019-01-04 07:52:25.910331212 +0100 +@@ -6,4 +6,4 @@ + Icon=plexmediaserver + Terminal=false + Type=Application +-Categories=Audio;Music;Video;Player;Media; ++Categories=Audio;Music;Video;Player;AudioVideo;X-Media diff --git a/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild deleted file mode 100644 index 0d8c34abcbf4..000000000000 --- a/media-tv/plex-media-server/plex-media-server-1.11.3.ebuild +++ /dev/null @@ -1,153 +0,0 @@ -# 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="4803-c40bba82e" - -_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="https://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 - - # 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 - - # 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 -} 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 deleted file mode 100644 index 9269358d163c..000000000000 --- a/media-tv/plex-media-server/plex-media-server-1.12.3.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# 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="https://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 -} diff --git a/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild new file mode 100644 index 000000000000..d4dc6a7ad1a1 --- /dev/null +++ b/media-tv/plex-media-server/plex-media-server-1.18.3.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils systemd unpacker pax-utils python-single-r1 + +MINOR_VERSION="2156-349e9837e" + +_APPNAME="plexmediaserver" +_USERNAME="plex" +_SHORTNAME="${_USERNAME}" +_FULL_VERSION="${PV}.${MINOR_VERSION}" + +URI="https://downloads.plex.tv/plex-media-server-new" + +DESCRIPTION="A free media library that is intended for use with a plex client" +HOMEPAGE="https://www.plex.tv/" +SRC_URI=" + amd64? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_amd64.deb ) + x86? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_i386.deb ) +" +SLOT="0" +LICENSE="Plex" +RESTRICT="bindist strip" +KEYWORDS="-* ~amd64 ~x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]" +BDEPEND="dev-util/patchelf" + +RDEPEND=" + acct-group/plex + acct-user/plex + 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/.*" +) + +BINS_TO_PAX_MARK=( + "${ED}/usr/lib/plexmediaserver/Plex Script Host" + "${ED}/usr/lib/plexmediaserver/Plex Media Scanner" +) + +S="${WORKDIR}" +PATCHES=( + "${FILESDIR}/virtualenv_start_pms_2019.patch" + "${FILESDIR}/plexmediamanager.desktop.new.patch" + "${FILESDIR}/add_gentoo_profile_as_platform_version.patch" +) + +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 -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 + local logging_dir="/var/log/pms" + dodir "${logging_dir}" + fowners "${_USERNAME}":"${_USERNAME}" "${logging_dir}" + keepdir "${logging_dir}" + + # Create default library folder with correct permissions + local default_library_dir="/var/lib/${_APPNAME}" + dodir "${default_library_dir}" + fowners "${_USERNAME}":"${_USERNAME}" "${default_library_dir}" + keepdir "${default_library_dir}" + + # Install the OpenRC init/conf files + doinitd "${FILESDIR}/init.d/${PN}" + doconfd "${FILESDIR}/conf.d/${PN}" + + # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them. + # Plex has its own precompiled libraries. + _mask_plex_libraries_revdep + + # Fix RPATH + patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../../../../../../lib' "${ED}"/usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_codecs_kr.so || die + + # Install systemd service file + systemd_newunit "${FILESDIR}/systemd/${PN}.service" "${PN}.service" + + # Add pax markings to some binaries so that they work on hardened setup + for f in "${BINS_TO_PAX_MARK[@]}"; do + pax-mark m "${f}" + done + + 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() { + elog "Plex Media Server is now installed. Please check the configuration" + elog "file in /etc/${_SHORTNAME}/${_APPNAME}" + elog "to verify the default settings." + elog "To start the Plex Server, run 'rc-config start plex-media-server'," + elog "you will then be able to access your library at" + elog "http://:32400/web/" +} + +# 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/ + + # Bug: 659702. The upstream plex binary installs its precompiled package to /usr/lib. + # Due to profile 17.1 splitting /usr/lib and /usr/lib64, we can no longer rely + # on the implicit symlink automatically satisfying our revdep requirement when we use $(get_libdir). + # Thus we will match upstream's directory automatically. If upstream switches their location, + # then so should we. + echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/lib/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver +} diff --git a/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild b/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild new file mode 100644 index 000000000000..994795f17759 --- /dev/null +++ b/media-tv/plex-media-server/plex-media-server-1.18.4.ebuild @@ -0,0 +1,135 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils systemd unpacker pax-utils python-single-r1 + +MINOR_VERSION="2171-ac2afe5f8" + +_APPNAME="plexmediaserver" +_USERNAME="plex" +_SHORTNAME="${_USERNAME}" +_FULL_VERSION="${PV}.${MINOR_VERSION}" + +URI="https://downloads.plex.tv/plex-media-server-new" + +DESCRIPTION="A free media library that is intended for use with a plex client" +HOMEPAGE="https://www.plex.tv/" +SRC_URI=" + amd64? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_amd64.deb ) + x86? ( ${URI}/${_FULL_VERSION}/debian/plexmediaserver_${_FULL_VERSION}_i386.deb ) +" +SLOT="0" +LICENSE="Plex" +RESTRICT="bindist strip" +KEYWORDS="-* ~amd64 ~x86" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="dev-python/virtualenv[${PYTHON_USEDEP}]" +BDEPEND="dev-util/patchelf" + +RDEPEND=" + acct-group/plex + acct-user/plex + 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/.*" +) + +BINS_TO_PAX_MARK=( + "${ED}/usr/lib/plexmediaserver/Plex Script Host" + "${ED}/usr/lib/plexmediaserver/Plex Media Scanner" +) + +S="${WORKDIR}" +PATCHES=( + "${FILESDIR}/virtualenv_start_pms_2019.patch" + "${FILESDIR}/plexmediamanager.desktop.new.patch" + "${FILESDIR}/add_gentoo_profile_as_platform_version.patch" +) + +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 -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 + local logging_dir="/var/log/pms" + dodir "${logging_dir}" + fowners "${_USERNAME}":"${_USERNAME}" "${logging_dir}" + keepdir "${logging_dir}" + + # Create default library folder with correct permissions + local default_library_dir="/var/lib/${_APPNAME}" + dodir "${default_library_dir}" + fowners "${_USERNAME}":"${_USERNAME}" "${default_library_dir}" + keepdir "${default_library_dir}" + + # Install the OpenRC init/conf files + doinitd "${FILESDIR}/init.d/${PN}" + doconfd "${FILESDIR}/conf.d/${PN}" + + # Mask Plex libraries so that revdep-rebuild doesn't try to rebuild them. + # Plex has its own precompiled libraries. + _mask_plex_libraries_revdep + + # Fix RPATH + patchelf --force-rpath --set-rpath '$ORIGIN:$ORIGIN/../../../../../../lib' "${ED}"/usr/lib/plexmediaserver/Resources/Python/lib/python2.7/lib-dynload/_codecs_kr.so || die + + # Install systemd service file + systemd_newunit "${FILESDIR}/systemd/${PN}.service" "${PN}.service" + + # Add pax markings to some binaries so that they work on hardened setup + for f in "${BINS_TO_PAX_MARK[@]}"; do + pax-mark m "${f}" + done + + 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() { + elog "Plex Media Server is now installed. Please check the configuration" + elog "file in /etc/${_SHORTNAME}/${_APPNAME}" + elog "to verify the default settings." + elog "To start the Plex Server, run 'rc-config start plex-media-server'," + elog "you will then be able to access your library at" + elog "http://:32400/web/" +} + +# 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/ + + # Bug: 659702. The upstream plex binary installs its precompiled package to /usr/lib. + # Due to profile 17.1 splitting /usr/lib and /usr/lib64, we can no longer rely + # on the implicit symlink automatically satisfying our revdep requirement when we use $(get_libdir). + # Thus we will match upstream's directory automatically. If upstream switches their location, + # then so should we. + echo "SEARCH_DIRS_MASK=\"${EPREFIX}/usr/lib/plexmediaserver\"" > "${ED}"/etc/revdep-rebuild/80plexmediaserver +} -- cgit v1.2.3