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

annotate media-tv/emby-server/emby-server-3.0.5818.ebuild @ 118:9d726bd603c0

updated plex and emby ebuilds
author gsnerf <gsnerf@gsnerf.de>
date Tue, 26 Jan 2016 20:59:48 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
118
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
1 # Copyright 1999-2015 Gentoo Foundation
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
2 # Distributed under the terms of the GNU General Public License v2
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
3 # $Header: $
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
4
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
5 EAPI="5"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
6
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
7 inherit eutils user git-r3
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
8
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
9 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."
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
10 HOMEPAGE="http://emby.media/"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
11 KEYWORDS="-* ~arm ~amd64 ~x86"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
12 SRC_URI="https://github.com/MediaBrowser/Emby/archive/${PV}.tar.gz"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
13 SLOT="0"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
14 LICENSE="GPL-2"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
15 IUSE=""
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
16 RESTRICT="mirror test"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
17
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
18 RDEPEND=">=dev-lang/mono-3.2.7
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
19 >=media-video/ffmpeg-2[vpx]
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
20 media-gfx/imagemagick[jpeg,jpeg2k,webp,png]
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
21 !media-tv/mediabrowser-server
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
22 >=dev-db/sqlite-3.0.0"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
23 DEPEND="app-arch/unzip ${RDEPEND}"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
24
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
25 INSTALL_DIR="/opt/emby-server"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
26 DATA_DIR="/var/lib/emby-server"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
27 STARTUP_LOG="/var/log/emby-server_start.log"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
28 INIT_SCRIPT="${ROOT}/etc/init.d/emby-server"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
29
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
30 # INSTALL
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
31 # #######################################################################################################
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
32
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
33 pkg_setup() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
34 einfo "creating user for Emby"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
35 enewgroup emby
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
36 enewuser emby -1 /bin/bash ${INSTALL_DIR} "emby" --system
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
37 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
38
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
39 # gentoo expects a specific subfolder in the working directory for the extracted source, so simply extracting won't work here
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
40 src_unpack() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
41 unpack ${A}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
42 mv Emby-${PV} emby-server-${PV}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
43 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
44
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
45 src_prepare() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
46 MAGICKWAND=$(ldconfig -p | grep MagickWand.*.so$ | cut -d" " -f4)
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
47 MAGICKWAND=${MAGICKWAND##*/}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
48 einfo "adapting to imagemagick library to: ${MAGICKWAND}"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
49 sed -i -e "s/\"libMagickWand-6.Q8.so\"/\"${MAGICKWAND}\"/" MediaBrowser.Server.Mono/ImageMagickSharp.dll.config || die "could not update libMagickWand reference!"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
50 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
51
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
52
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
53 src_compile() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
54 einfo "updating root certificates for mono certificate store"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
55 mozroots --import --sync
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
56 einfo "now actually compile"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
57 xbuild /p:Configuration="Release Mono" /p:Platform="Any CPU" MediaBrowser.Mono.sln || die "building failed"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
58 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
59
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
60 src_install() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
61 einfo "preparing startup scripts"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
62 newinitd "${FILESDIR}"/emby-server.init_2 ${PN}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
63 newconfd "${FILESDIR}"/emby-server.conf ${PN}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
64
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
65 einfo "preparing startup log file"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
66 dodir /var/log/
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
67 touch ${D}${STARTUP_LOG}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
68 chown emby:emby ${D}${STARTUP_LOG}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
69
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
70 einfo "installing compiled files"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
71 diropts -oemby -gemby
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
72 dodir ${INSTALL_DIR}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
73 cp -R ${S}/MediaBrowser.Server.Mono/bin/Release\ Mono/* ${D}${INSTALL_DIR}/ || die "install failed, possibly compile did not succeed earlier?"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
74 chown emby:emby -R ${D}${INSTALL_DIR}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
75
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
76 # as we use the system libraries, we delete the local ones now as we couldn't do it before
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
77 rm -R ${D}${INSTALL_DIR}/MediaInfo
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
78
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
79 einfo "prepare data directory"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
80 dodir ${DATA_DIR}
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
81 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
82
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
83 pkg_postinst() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
84 einfo "emby-server was installed to ${INSTALL_DIR}, to start please use the init script provided."
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
85 einfo "All data generated and used by Emby can be found at ${DATA_DIR} after the first start."
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
86 einfo ""
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
87
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
88 if [[ -d "/usr/lib/mediabrowser-server" || -h "/usr/lib/mediabrowser-server" ]]; then
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
89 ewarn "ATTENTION: You seem to have moved from the former mediabrowser-server package:"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
90 ewarn "don't forget to migrate your original data directory before the first start!"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
91 ewarn "To do that move"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
92 ewarn " /usr/lib/mediabrowser-server"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
93 ewarn "to"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
94 ewarn " ${DATA_DIR}"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
95 ewarn "and change owner status from mediabrowser:mediabrowser to emby:emby!"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
96 ewarn " chown -R emby:emby ${DATA_DIR}"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
97 fi
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
98
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
99 if [[ -d "/usr/lib/emby-server" || -h "/usr/lib/emby-server" ]]; then
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
100 ewarn "ATTENTION: You seem to have existing program data at /usr/lib/emby-server!"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
101 ewarn "Please move that folder to ${DATA_DIR} before the first start and make sure the folder is owned by emby:emby"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
102 ewarn "The folder /usr/lib/emby-server will be repurposed in one of the next releases, so make sure to clean that directory up!"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
103 fi
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
104 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
105
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
106 # UNINSTALL
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
107 # #######################################################################################################
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
108
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
109 pkg_prerm() {
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
110 einfo "Stopping running instances of Emby Server"
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
111 if [ -e "${INIT_SCRIPT}" ]; then
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
112 ${INIT_SCRIPT} stop
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
113 fi
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
114 }
9d726bd603c0 updated plex and emby ebuilds
gsnerf <gsnerf@gsnerf.de>
parents:
diff changeset
115