We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.

changeset 219:69bf0e308425

added ebuild for emby-server-3.4.1.0 and introduced systemd support
author gsnerf <gsnerf@gsnerf.de>
date Sun, 11 Nov 2018 15:08:42 +0100
parents 68f19d4c4a2e
children 5fc6acd937e1
files media-tv/emby-server/Manifest media-tv/emby-server/emby-server-3.4.1.0.ebuild media-tv/emby-server/files/3.4/emby-server.service media-tv/emby-server/files/3.4/emby-server.service.conf media-tv/emby-server/files/emby-server
diffstat 5 files changed, 161 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/media-tv/emby-server/Manifest	Thu Nov 08 20:49:10 2018 +0100
+++ b/media-tv/emby-server/Manifest	Sun Nov 11 15:08:42 2018 +0100
@@ -1,3 +1,6 @@
+AUX 3.4/emby-server.service 321 BLAKE2B 97a042bf5e75bf439722dda59adff3536ec42155e2228993f6fa3fd5540b7e00633c37e1b84b21f2f5da9359d8611495e7e3eb27f7b26381841f4542a369186a SHA512 6aaa37535148c72e5f9b873871d029a22fd6f65655c5e60164e7b927d183f812bcdbe0e10c86ffcad99eaca3b4dd83df1450e00294b27f3fb111d1c4f90dce60
+AUX 3.4/emby-server.service.conf 170 BLAKE2B 49bf0f3fd4751c1f590ce59a74d17a1dc2ab1489dad8e245a83179c8fa5b954b366d35bbda1a859e2615c707af5983a8230e67a93c5f1724d4d6b71efcd953ea SHA512 a0088a958c9378dc821ff8bd967f86a33c759803825634dd799646629f2b8401afeb8b1bf55e61885826410210babd10e2e397382748641ddb8a431f6bd6f800
+AUX emby-server 258 BLAKE2B fec978e642fa281820b66ff5f990cb2c41f607b8404bf7c0c095b9a2144a16b76ab3dc101bef9a9019287114f348a2a5e07d8badd2599a77b15b50dc49c2c606 SHA512 cbffb7ca80f187532ee54f2e1a698f942d5bfb3c9ac49cb4212a8b7664e2ca37e1f3e6a02274a2817630cab2455fe7167275818b0d30aa2812157fda0bd1e09f
 AUX emby-server.conf 322 BLAKE2B 865cd0d9dbd6b82a8efadfd9ac5931ce58ea188dc6d0077ff389e0a7342354a7cfd6c2b9d11498bdc58c4756f93f6513d050f16e0abbc8246188b2bb491202d5 SHA512 d260f1f6de4af9110e94831b84d756f042ac140fc96640fff06cdaebf4974685f712380afd0cb819f60bcc02bb38c664afcbd6989b65e487494f99bb9a225ac8
 AUX emby-server.init_2 1033 BLAKE2B 57ef2245a0b38dca95c641383378e460f416f59a068b6cf17b19bf3311b6bda014549f34b844d32e011afb5f3b46fd341779824a9b42d35d1d3a2bddb3b854e1 SHA512 52ec07f40109e574818f2417e5e9593c5e8890a94aab5e88c4cb8d0c599d4825d167cc5adb57a6dfe657050dffee2e8f329c7cbef1aa653d84bfbada8080be16
 AUX emby-server.init_3 1034 BLAKE2B a1d757d604d7222e645ee861e82460ed9ff578784ae7cb51ccdc70427e18d994c02989268557c4a31ddbb9aeddb478e99f94203b5b47fdc8901fb38519c0c6c0 SHA512 094f6cb7a8f90e5aefecc62ab6826173ae1ab8e280fe38d047fd80e946cb6f47ff1bf505f340bfba54d77aa551be17682676a80c9a61d6947931e476fd533b24
@@ -5,7 +8,10 @@
 DIST 3.0.8500.tar.gz 53827125 BLAKE2B 33fd237a1c12b8afa1e9a194cfa218cf4df1da3e22208e32d25f5ce2eb9bc3b00ec2b7250d8a36b1969fa15262e66bd4a3c1e4e4b4ff0955e37e9228f828eefa SHA512 90689e27628c7d7748022e67de23bb7b45bd8465a18096450a7b17d01764f3fb1a6d22d291a5e7fd5c905f0081bc45f6e1ade1dadd1131e4d36a756ca1fa9541
 DIST 3.1.5.tar.gz 41451142 BLAKE2B 8cf3640036e3de0072bb6ceb0bf78ad4585602ef696fe7376a266274722445c4a964d742086b30eb25c8fbd91651b4a75e742925ff61d32552dab7c8f9759d85 SHA512 7506c01db74fa81dfea3fe15ab8e32fe974c38a570df1e87468e097606814677ee09fe607707ad5cc00f484b7d35a2ea823fda8c7f98443a90c753c150be6ca4
 DIST 3.2.70.0.tar.gz 69456965 BLAKE2B 5a177db3c0ebcb340e7fea276e277506f14dba4d0b28921a6ad1f7874de4e7d69d2ab9fb5e37f27043f26f7d382d2be7d402655517068e64612107c803db3c87 SHA512 ed7f6fd15a648575b110c76aa04ef1cb62144a5a0b4884f9f12d0e4382900159392a727efaa3d1275eb6b98f15f186efc169b878321ae328794f0b77f38b1073
+DIST 3.4.1.0.tar.gz 70748346 BLAKE2B 1f2ec738d339f485cc6cadc91ce7a18b72cc1722e133b89848c8eaba524d74b49a23c19da0b6041adf5c6606c1550a9d0e5b3ec8151057bd9927d4e32e0cffde SHA512 a50120b5268fff248e430af6f2c5fdc4145a520f3838841479c7f2e02a93abeda50d7338b1ed2a610a7df63a2d236af2ec9cf8efd829c184796cf67981efa955
 EBUILD emby-server-3.0.8500.ebuild 3930 BLAKE2B a0f11601c99235d26203ac20c10045cb6eabd7f641b26f768ee192beffda5d013b6f303f3632a17bf4ec2235924b7c7251484fa0b394d7e79e78405bcc29ccdd SHA512 a70675b9944f382efe78a868c9bbb1bf761d6b05daf22d38373f3c294a37ada0fd7b2a0285c3e06a880abf7c807a195dea61fa4d0f7661aa3ce92d9ab00082af
 EBUILD emby-server-3.1.5.ebuild 3966 BLAKE2B ed4c71642dd168d1e1215115a2e32bef38c9dd549c60cdf86c67115e9ef0dae912c85564df4b74aa652e32bf1e05ce4d0395e8a97395406129a45f5f185411bd SHA512 61c4c14d1f0cd5732ae14d3162bacf60510560ae678fc956b1eb8684ff5b9366ffe95f03d258f64e54b0af883a97aa59649b9be91dde08dcd8ec1654a78bad3f
 EBUILD emby-server-3.2.70.0-r1.ebuild 4216 BLAKE2B bd714c808750642ce6f06295f929415b9725f6e873449755f95cd1077dc781a0011705a1ae071f83ca4a540a53a011e4e36865020e1c088ed85743f0daf2424d SHA512 aca53e5f77686807f2d7bef66a3fbcaddebb0a6c7d003ff243944b154d536f23446c1aba85273d4a071ba7db64bb1f664325fa73c7e0509acf392369bc66a0cf
+EBUILD emby-server-3.4.1.0.ebuild 4676 BLAKE2B 6e948498f8b5e283a48e52e777427164b6877d79442da5e2368f5383542965c268180b8131b2b8770701a42f1bc10d5e8b81afc4d7cb22ddb195d662a60588da SHA512 1b9db6c22f15378beeea3ab0cf648f2967c8cd04ac5a3687a6ecd818b146a957a5de38d9637366aa5ebbc0244c4688a207432623951e961593eb5e21221a6a8b
 EBUILD emby-server-9999.ebuild 3079 BLAKE2B b15ba2a9bcfbd0eb10640f89106eb931820b98d42ea2b7746d057d6bf06ef55e04dfc5cd721aab3965e3235076eb2a6c28d659d363d94166cdf383b978c71746 SHA512 1febd22bfe38090668cc391fbebee8cd5a71f9ec678a224a9ed0bf29f76a9940c3016b7d20b5209d9e8d871cdd185c0ab0f2642ce4653407497233f1e3b9207e
+MISC emby-server-3.5.2.0.ebuild.broken 4363 BLAKE2B 7e1cb9e6cd1bd88a9184e26c90e0e958fe7dc3d5ef3bf8d4888085bae4f3f1d747c3a2d76cc751f849da627ffce51c4d1f0e44a85651ffc8441fe9b2ecd5930c SHA512 716de594f905d4e9237e7406c22b9ec90966d9048984dc73b68e9184de73ef8bd5766a3b38187446cc62ca718030fb025ee6f7d78f5d86b470d233f684c9f506
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/emby-server/emby-server-3.4.1.0.ebuild	Sun Nov 11 15:08:42 2018 +0100
@@ -0,0 +1,127 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="5"
+
+inherit eutils user git-r3 dotnet systemd
+
+DESCRIPTION="Emby Server (formerly known as MediaBrowser Server) is a software that indexes a lot of different kinds of media and allows for them to be retrieved and played through the DLNA protocol on any device capable of processing them."
+HOMEPAGE="http://emby.media/"
+KEYWORDS="-* ~arm ~amd64 ~x86"
+SRC_URI="https://github.com/MediaBrowser/Emby/archive/${PV}.tar.gz"
+SLOT="0"
+LICENSE="GPL-2"
+RESTRICT="mirror test"
+
+RDEPEND=">=dev-lang/mono-5.4.0
+	>=media-video/ffmpeg-2[vpx]
+	media-gfx/imagemagick[jpeg,jpeg2k,webp,png]
+	!media-tv/mediabrowser-server
+	>=dev-db/sqlite-3.0.0
+	dev-dotnet/referenceassemblies-pcl
+	app-misc/ca-certificates"
+DEPEND="app-arch/unzip
+	${RDEPEND}"
+
+INSTALL_DIR="/opt/emby-server"
+DATA_DIR="/var/lib/emby-server"
+STARTUP_LOG="/var/log/emby-server_start.log"
+INIT_SCRIPT="${ROOT}/etc/init.d/emby-server"
+
+# INSTALL
+# #######################################################################################################
+
+pkg_setup() {
+	einfo "creating user for Emby"
+	enewgroup emby
+	enewuser emby -1 /bin/bash ${INSTALL_DIR} "emby"
+
+	einfo "updating root certificates for mono certificate store"
+        addwrite "/usr/share/.mono/keypairs"
+	dotnet_pkg_setup
+        cert-sync /etc/ssl/certs/ca-certificates.crt
+}
+
+# gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
+src_unpack() {
+        unpack ${A}
+        mv Emby-${PV} emby-server-${PV}
+}
+
+src_prepare() {
+	# the user can define the quality of the imagemagic himself, here we try to figure out the correct files to use in our configuration
+	MAGICKWAND=$(ldconfig -p | grep MagickWand.*.so$ | cut -d" " -f4)
+	MAGICKWAND=${MAGICKWAND##*/}
+	einfo "adapting to imagemagick library to: ${MAGICKWAND}"
+	sed -i -e "s/\"libMagickWand-6.Q8.so\"/\"${MAGICKWAND}\"/" MediaBrowser.Server.Mono/ImageMagickSharp.dll.config || die "could not update libMagickWand reference!"
+}
+
+
+src_compile() {
+	addpredict "/etc/mono/registry"
+	xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.sln || die "building failed"
+}
+
+src_install() {
+	einfo "installing compiled files"
+	diropts -oemby -gemby
+	dodir ${INSTALL_DIR}
+	cp -R ${S}/MediaBrowser.Server.Mono/bin/Release/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
+	cp "${FILESDIR}"/emby-server ${D}${INSTALL_DIR}/
+	chown emby:emby -R ${D}${INSTALL_DIR}
+
+	einfo "prepare data directory"
+	dodir ${DATA_DIR}
+
+	einfo "preparing basic configuration"
+	newconfd "${FILESDIR}"/emby-server.conf ${PN}
+
+	einfo "preparing init scripts"
+	newinitd "${FILESDIR}"/emby-server.init_3  ${PN}
+	systemd_dounit "${FILESDIR}/3.4/emby-server.service"
+	systemd_install_serviced "${FILESDIR}/3.4/emby-server.service.conf"
+
+	einfo "preparing startup log file"
+	dodir /var/log/
+	touch ${D}${STARTUP_LOG}
+	chown emby:emby ${D}${STARTUP_LOG}
+}
+
+pkg_postinst() {
+	einfo "emby-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
+	einfo "All data generated and used by Emby can be found at ${DATA_DIR} after the first start."
+	einfo ""
+
+	if systemd_is_booted; then
+		ewarn "You seem to be running on systemd, to configure the service please refer to \"/etc/systemd/system/emby-server.service.d/00gentoo.conf\"."
+		ewarn "Changing /etc/conf.d/emby-server.conf will have no effect!"
+	fi
+
+	if [[ -d "/usr/lib/mediabrowser-server" || -h "/usr/lib/mediabrowser-server" ]]; then
+		ewarn "ATTENTION: You seem to have moved from the former mediabrowser-server package:"
+		ewarn "don't forget to migrate your original data directory before the first start!"
+		ewarn "To do that move"
+		ewarn "     /usr/lib/mediabrowser-server"
+		ewarn "to"
+		ewarn "     ${DATA_DIR}"
+		ewarn "and change owner status from mediabrowser:mediabrowser to emby:emby!"
+		ewarn "     chown -R emby:emby ${DATA_DIR}"
+	fi
+
+	if [[ -d "/usr/lib/emby-server" || -h "/usr/lib/emby-server"  ]]; then
+		ewarn "ATTENTION: You seem to have existing program data at /usr/lib/emby-server!"
+		ewarn "Please move that folder to ${DATA_DIR} before the first start and make sure the folder is owned by emby:emby"
+		ewarn "The folder /usr/lib/emby-server will be repurposed in one of the next releases, so make sure to clean that directory up!"
+	fi
+}
+
+# UNINSTALL
+# #######################################################################################################
+
+pkg_prerm() {
+	einfo "Stopping running instances of Emby Server"
+	if [ -e "${INIT_SCRIPT}" ]; then
+		${INIT_SCRIPT} stop
+	fi
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/emby-server/files/3.4/emby-server.service	Sun Nov 11 15:08:42 2018 +0100
@@ -0,0 +1,13 @@
+[Unit]
+Description=Emby Server is a personal media server with apps on just about every device.
+After=network.target
+
+[Service]
+Environment="PROGRAMDATA=/var/lib/emby-server"
+WorkingDirectory=/opt/emby-server
+ExecStart=/opt/emby-server/emby-server
+RestartForceExitStatus=3
+User=emby
+
+[Install]
+WantedBy=multi-user.target
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/emby-server/files/3.4/emby-server.service.conf	Sun Nov 11 15:08:42 2018 +0100
@@ -0,0 +1,4 @@
+# use these configuration options to override the data directory (PROGRAMDATA) or the user to run as
+[Service]
+#Environment="PROGRAMDATA=/var/lib/emby-server"
+#User=emby
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/media-tv/emby-server/files/emby-server	Sun Nov 11 15:08:42 2018 +0100
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+if [ -z $PROGRAMDATA ]; then
+    export PROGRAMDATA=/var/lib/emby-server
+fi
+
+mono /opt/emby-server/MediaBrowser.Server.Mono.exe \
+    -programdata $PROGRAMDATA \
+    -ffmpeg /usr/bin/ffmpeg \
+    -ffprobe /usr/bin/ffprobe \
+    -restartexitcode 3