megacoffee.net Gentoo overlay - legacy mirror
We have moved to Git. This repository is only provided for compatibility with old installations. Learn how to migrate your installation here.
changeset 95:ae751affb613
reworked init and config scripts for emby server as well as location of program files
author | gsnerf <gsnerf@gsnerf.de> |
---|---|
date | Sun, 12 Apr 2015 18:27:31 +0200 |
parents | c822d78a4b9e |
children | 425573eab5cd |
files | media-tv/emby-server/Manifest media-tv/emby-server/emby-server-3.0.5572.0-r2.ebuild media-tv/emby-server/files/emby-server.conf media-tv/emby-server/files/emby-server.init_2 |
diffstat | 4 files changed, 155 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/media-tv/emby-server/Manifest Sun Apr 12 14:37:29 2015 +0200 +++ b/media-tv/emby-server/Manifest Sun Apr 12 18:27:31 2015 +0200 @@ -1,5 +1,8 @@ +AUX emby-server.conf 322 SHA256 e830272092f843f91c370bb6a929247af92b211f735a831d20adaad611738612 SHA512 d260f1f6de4af9110e94831b84d756f042ac140fc96640fff06cdaebf4974685f712380afd0cb819f60bcc02bb38c664afcbd6989b65e487494f99bb9a225ac8 WHIRLPOOL eeb0819813a346d67899271f7ff8aa5401d14528d4866025b0cf030c3e67da73609c655e6cd52823098aeb8474896aff6cb43335925e3c6206ffaaf951c81de1 +AUX emby-server.init_2 1033 SHA256 4bb0fe86afa09e1ed65b47f23b8b001f4ecb9da6e0a2c26b64fd492b1fa0f722 SHA512 52ec07f40109e574818f2417e5e9593c5e8890a94aab5e88c4cb8d0c599d4825d167cc5adb57a6dfe657050dffee2e8f329c7cbef1aa653d84bfbada8080be16 WHIRLPOOL 0981b7a6c1a0cf2d0e4cad6253975a8e77b1b70e773fe54fee93525d8e8f14e8c8f8c4a26f212a836c69e19fb077b20f43ea391bd6de520ff52fc4165afbbd35 AUX initd_1 1085 SHA256 bb18bb92069d149d817b1253617c42e820dcbfdb6f9bf6cbbe5428b89904e2d7 SHA512 d842dfb42c926b0be11d950b71ba91fd56906cfda018d4be401da4aed509e1c3fa9fb0c8516d053a3de29f50651e81420341fd3e032131ae4deb5b0f735aa5ec WHIRLPOOL 8c3a3b4a2ba8ac1db26afed4a936712ff45704be0bac7ee1a4ca67d32b2b5f370ff0b059686e92b0ff3a76895a48510819d7bb35270bfdb1c79b95bcf125a7aa DIST 3.0.5572.0.tar.gz 55425944 SHA256 2c9a58469092e6d46168b9c882867644966345ef30e8cc198ea4f0e9a6728662 SHA512 77b038e2d6a0c71891fb79c5b0d5246d8ac13c619c5338e059f015625fcf08b6f87be055c95932abb8be55ee16ace8582ec881289e15219858a92ae0c9b10c43 WHIRLPOOL a16f7bd9d1f1267944a3ca2f5d19337301a3523cfc1099acccd15ba9777b477f65c9e417e4c6d025310291eb2a0b16fca912e2afda87049b16b49f8a4c9c70ac EBUILD emby-server-3.0.5572.0-r1.ebuild 3248 SHA256 ce1e4839154a5f3d28ac195ff057b28e41167960dff400f8e64c94f5f59e0b76 SHA512 66c71f47f4ea3a6d0ae5ed6ef51186e87ea5ec245f027006701bb862cd2b634e135b6de09fa98f9143b2ed8535bf169b8ebd82793f450247a5c2cac2253e6fb5 WHIRLPOOL 5e667fe917dc2e05c6d4b3acaeff2eebc20459a32f78597d4b59cb9403306d206ca1a7dfbf9c6279c412acfdba81be4efbc08dee263f6e2493df836e143b917e +EBUILD emby-server-3.0.5572.0-r2.ebuild 3962 SHA256 454b4d0807ad75f3507c424eedc6fe3accfcaa91b0ae640fb8151add5857699a SHA512 7000759f30a80e6947c8e985e44803d99eddd54a719a1a6928039ffd03258997108014fda4314192b54282bac8efb13e99d34404db420e42ff2e97fc8c54acc3 WHIRLPOOL a1ea56ab84b26320af5880f1ea2058a158ea37371bd57aee6349c74c636acdf71f6441c3c1440e8012c3728071296b483d67598dc6a5123f2b14ca366487df4e EBUILD emby-server-3.0.5572.0.ebuild 2909 SHA256 72a45277fbbca7c20813af53f5ac72225e592952cd4fb0bfb128946cc87e2d2b SHA512 1393f63d757e1be38e3a88a28da9785e858518dc830743f5d5d946f0cf84126dff225c2c01cd0ed0f6706ba0ae98c17ce41b484a8e3d5fc7c40dbe610ffff53d WHIRLPOOL d3e09ff060f5239725f2efb35243d112a220056e4cf0e09c912f3af02a3503e9fc141e11e2b2b3b6a6569348d1767d5e7cc6b6812ac333340b8bca063320d900 EBUILD emby-server-9999.ebuild 3090 SHA256 2d3a651257b4a7eb4135457f14e1387feadf3cb16bff5fbd3d6cc731fc24cc02 SHA512 a495e053c3b70b16d9dceac055cbfa239a416e371bd0c0c35c04b4de297bb859b0cb27c81f623a47a731b09d946407b7f51fecc705ebfca122b98576dbbb082f WHIRLPOOL 7ad1354506bf16f00be73e3ed577c483070cc10c301be1ce29d7a98769246feb3b54d52242d9effadc5fc56024aac5f508d4790497036b195592c59cd4a18aa9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-tv/emby-server/emby-server-3.0.5572.0-r2.ebuild Sun Apr 12 18:27:31 2015 +0200 @@ -0,0 +1,114 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="5" + +inherit eutils user git-r3 + +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/MediaBrowser/archive/${PV}.tar.gz" +SLOT="0" +LICENSE="GPL-2" +IUSE="" +RESTRICT="mirror test" + +RDEPEND=">=dev-lang/mono-3.2.7 + >=media-video/ffmpeg-2[vpx] + >=media-libs/libmediainfo-0.7 + media-gfx/imagemagick[jpeg,jpeg2k,webp,png] + !media-tv/mediabrowser-server" +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" --system +} + +# 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 MediaBrowser-${PV} emby-server-${PV} +} + +src_prepare() { + 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() { + einfo "updating root certificates for mono certificate store" + mozroots --import --sync + einfo "now actually compile" + xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed" +} + +src_install() { + einfo "preparing startup scripts" + newinitd "${FILESDIR}"/emby-server.init_2 ${PN} + newconfd "${FILESDIR}"/emby-server.conf ${PN} + + einfo "preparing startup log file" + dodir /var/log/ + touch ${D}${STARTUP_LOG} + chown emby:emby ${D}${STARTUP_LOG} + + einfo "installing compiled files" + diropts -oemby -gemby + dodir ${INSTALL_DIR} + cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?" + chown emby:emby -R ${D}${INSTALL_DIR} + + # as we use the system libraries, we delete the local ones now as we couldn't do it before + rm -R ${D}${INSTALL_DIR}/MediaInfo + + einfo "prepare data directory" + dodir ${DATA_DIR} +} + +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 [[ -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" + 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/emby-server.conf Sun Apr 12 18:27:31 2015 +0200 @@ -0,0 +1,8 @@ +# this is the place where emby stores it's files +PROGRAMDATA="/var/lib/emby-server" + +# the user emby-server should be started as, be aware: +# - this is username and groupname as well +# - the folder defined in PROGRAMDATA needs to be owned by that user +# - /opt/emby-server needs be readable by this user! +EXEC_USER="emby"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/media-tv/emby-server/files/emby-server.init_2 Sun Apr 12 18:27:31 2015 +0200 @@ -0,0 +1,30 @@ +#!/sbin/runscript + +PIDFILE="/tmp/emby-server.pid" +#EXEC="mono-service2 -d /opt/emby-server/ -m emby-server -n emby-server /opt/emby-server/MediaBrowser.Server.Mono.exe -programdata ${PROGRAMDATA}" +#EXEC="/opt/emby-server/start.sh" +EXEC="./MediaBrowser.Server.Mono.exe -programdata ${PROGRAMDATA} -ffmpeg /usr/bin/ffmpeg -ffprobe /usr/bin/ffprobe" +EXEC_DIR="/opt/emby-server/" +LOG_FILE="/var/log/emby-server_start.log" + +start() { + ebegin "Starting Emby-Server" + # we are starting the service (-x): + # - in background with the given pid file (-m -p -b) + # - as a specific user (-u) + #start-stop-daemon -S -m -p $PIDFILE -b -u ${EXEC_USER} -d ${EXEC_DIR} -x ${EXEC} -1 ${LOG_FILE} -2 ${LOG_FILE} + start-stop-daemon -S -m -p $PIDFILE -b -u ${EXEC_USER} -d ${EXEC_DIR} -1 ${LOG_FILE} -2 ${LOG_FILE} -x mono -- ${EXEC} + eend $? +} + +stop() { + ebegin "Stopping Emby-Server" + start-stop-daemon -K -p ${PIDFILE} + eend $? +} + +restart() { + stop + sleep 3 + start +}