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.
annotate media-tv/plex-media-server/plex-media-server-0.9.16.3.ebuild @ 123:ea4227182a22
updated plex-media-server ebuild to latest public release
author | gsnerf <gsnerf@gsnerf.de> |
---|---|
date | Mon, 28 Mar 2016 22:30:01 +0200 |
parents | |
children |
rev | line source |
---|---|
123
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
1 # Copyright 1999-2011 Gentoo Foundation |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
2 # Distributed under the terms of the GNU General Public License v2 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
3 # $Header: $ |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
4 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
5 EAPI="2" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
6 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
7 inherit eutils user |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
8 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
9 MAGIC="1840-cece46d" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
10 # URI_PRE="http://plexapp.com/repo/pool/main/p/plexmediaserver/plexmediaserver_${PV}.${MAGIC}_" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
11 # this does not seem to work atm(/anymore?) |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
12 URI_PRE="https://downloads.plex.tv/plex-media-server/${PV}.${MAGIC}/plexmediaserver_${PV}.${MAGIC}_" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
13 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
14 DESCRIPTION="Plex Media Server is a free media library that is intended for use with a plex client available for OS X, iOS and Android systems. It is a standalone product which can be used in conjunction with every program, that knows the API. For managing the library a web based interface is provided." |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
15 HOMEPAGE="http://www.plexapp.com/" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
16 KEYWORDS="-* ~x86 ~amd64" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
17 SRC_URI="x86? ( ${URI_PRE}i386.deb ) |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
18 amd64? ( ${URI_PRE}amd64.deb )" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
19 SLOT="0" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
20 LICENSE="PMS-License" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
21 IUSE="" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
22 RESTRICT="mirror" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
23 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
24 RDEPEND="net-dns/avahi" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
25 DEPEND="${RDEPEND}" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
26 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
27 INIT_SCRIPT="${ROOT}/etc/init/plexmediaserver" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
28 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
29 pkg_setup() { |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
30 enewgroup plex |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
31 enewuser plex -1 /bin/bash /var/lib/plexmediaserver "plex" --system |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
32 } |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
33 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
34 pkg_preinst() { |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
35 einfo "unpacking DEB File" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
36 cd ${WORKDIR} |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
37 # ar x ${DISTDIR}/${A} |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
38 mkdir data |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
39 mkdir control |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
40 tar -xzf data.tar.gz -C data |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
41 tar -xzf control.tar.gz -C control |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
42 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
43 einfo "updating init script" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
44 # replace debian specific init scripts with gentoo specific ones |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
45 rm data/etc/init.d/plexmediaserver |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
46 rm -r data/etc/init |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
47 cp "${FILESDIR}"/pms_initd_1 data/etc/init.d/plex-media-server |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
48 chmod 755 data/etc/init.d/plex-media-server |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
49 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
50 einfo "moving config files" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
51 # move the config to the correct place |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
52 mkdir data/etc/plex |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
53 mv data/etc/default/plexmediaserver data/etc/plex/plexmediaserver.conf |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
54 rmdir data/etc/default |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
55 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
56 einfo "cleaning apt config entry" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
57 rm -r data/etc/apt |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
58 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
59 einfo "patching startup" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
60 # apply patch for start_pms to use the new config file |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
61 cd data/usr/sbin |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
62 epatch "${FILESDIR}"/start_pms_1.patch |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
63 cd ../../.. |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
64 # remove debian specific useless files |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
65 rm data/usr/share/doc/plexmediaserver/README.Debian |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
66 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
67 # as the patch doesn't seem to correctly set the permissions on new files do this now |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
68 # now copy to image directory for actual installation |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
69 cp -R data/* ${D} |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
70 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
71 einfo "preparing logging targets" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
72 # make sure the logging directory is created |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
73 mkdir ${D}var |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
74 mkdir ${D}var/log |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
75 mkdir ${D}var/log/pms |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
76 chown plex:plex ${D}var/log/pms |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
77 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
78 einfo "prepare default library destination" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
79 # also make sure the default library folder is pre created with correct permissions |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
80 mkdir ${D}var/lib |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
81 mkdir ${D}var/lib/plexmediaserver |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
82 chown plex:plex ${D}var/lib/plexmediaserver |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
83 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
84 einfo "Stopping running instances of Media Server" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
85 if [ -e "${INIT_SCRIPT}" ]; then |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
86 ${INIT_SCRIPT} stop |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
87 fi |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
88 } |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
89 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
90 pkg_prerm() { |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
91 einfo "Stopping running instances of Media Server" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
92 if [ -e "${INIT_SCRIPT}" ]; then |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
93 ${INIT_SCRIPT} stop |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
94 fi |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
95 } |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
96 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
97 pkg_postinst() { |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
98 einfo "" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
99 elog "Plex Media Server is now fully installed. Please check the configuration file in /etc/plex if the defaults please your needs." |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
100 elog "To start please call '/etc/init.d/plex-media-server start'. You can manage your library afterwards by navigating to http://<ip>:32400/web/" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
101 einfo "" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
102 |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
103 ewarn "Please note, that the URL to the library management has changed from http://<ip>:32400/manage to http://<ip>:32400/web!" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
104 ewarn "If the new management interface forces you to log into myPlex and afterwards gives you an error that you need to be a plex-pass subscriber please delete the folder WebClient.bundle inside the Plug-Ins folder found in your library!" |
ea4227182a22
updated plex-media-server ebuild to latest public release
gsnerf <gsnerf@gsnerf.de>
parents:
diff
changeset
|
105 } |