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.5675.1.ebuild @ 103:568302471ac1

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