1 |
commit: eac3c312380e222b9619c72bb9c50ba48ad28231 |
2 |
Author: Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Mar 5 01:58:07 2017 +0000 |
4 |
Commit: Jonathan Vasquez <fearedbliss <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 5 01:58:31 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eac3c312 |
7 |
|
8 |
media-tv/plex-media-server: version bump to 1.4.3 |
9 |
|
10 |
Package-Manager: Portage-2.3.4, Repoman-2.3.2 |
11 |
|
12 |
media-tv/plex-media-server/Manifest | 1 + |
13 |
.../files/virtualenv_start_pms.patch | 23 ++++ |
14 |
.../plex-media-server-1.4.3.ebuild | 136 +++++++++++++++++++++ |
15 |
3 files changed, 160 insertions(+) |
16 |
|
17 |
diff --git a/media-tv/plex-media-server/Manifest b/media-tv/plex-media-server/Manifest |
18 |
index f21ed25da4e..ad75ad8d4ca 100644 |
19 |
--- a/media-tv/plex-media-server/Manifest |
20 |
+++ b/media-tv/plex-media-server/Manifest |
21 |
@@ -1,2 +1,3 @@ |
22 |
DIST plexmediaserver_1.3.3.3148-b38628e_amd64.deb 101224432 SHA256 3b58d0ad9a9e27e86209c33550be832868102526d512a860d4984ef3daf7cad9 SHA512 fb1d49650a66217df9d13dd0157f6f82b409989eacf2a40e9a92a47c6946e7bedc64429a88d2607a5f689ea7b5fae2ced5c53e2e719c85e7f08f71149844ab71 WHIRLPOOL fa5a0e74e03cc5c357b7c64876b96f265a8b3e74f2002d3d147ce46083f947311ce227a53f61ca1f962e00d89554a4df6ca8e3df7d5b32d13d27118b3d0f34c8 |
23 |
DIST plexmediaserver_1.3.4.3285-b46e0ea_amd64.deb 101356988 SHA256 dc53290c12ea744249f0937e4defdfbf7fb526a63413d41ff21047fc3572ff55 SHA512 46e7ce694f0be880ada03b327fa937e23d3e2412c2b4d04c79f87afb97ad8897b7977e9f5c1ed4cc6883129c911523f03e5db6c70c76b99cbb2d9e1ac4d9275e WHIRLPOOL 515d15782d4189e71501d11a335440853db4ededc42baa748375ca1a833e24b8db4497a8197698bddc8fc0d8689aa9768b1abbff1c8002f846a102f36267936b |
24 |
+DIST plexmediaserver_1.4.3.3433-03e4cfa35_amd64.deb 103128692 SHA256 7ef4efec9e1ecc7fa67cf8284ca7316f715f33457d3e9f6bd3980d22c1de3edc SHA512 4432ffefab379ec57de1e0cf0648223d3a58b253ed43d3879fd967de93fd453b8a3820d20a87851fc98c6e8c77dfdfa81eab7ba66ce3ddf465007586d92d0823 WHIRLPOOL 1884d396c06137702cd23797ff452336847931e761e485910b1e4c3a4927ba6b8397f5aa0a265f81c98c7e3e9bfc121e9952d2f4b8757099ffaafc502f5edf95 |
25 |
|
26 |
diff --git a/media-tv/plex-media-server/files/virtualenv_start_pms.patch b/media-tv/plex-media-server/files/virtualenv_start_pms.patch |
27 |
new file mode 100644 |
28 |
index 00000000000..bb4d575240b |
29 |
--- /dev/null |
30 |
+++ b/media-tv/plex-media-server/files/virtualenv_start_pms.patch |
31 |
@@ -0,0 +1,23 @@ |
32 |
+--- a/usr/sbin/start_pms 2017-03-01 13:35:28.340489280 -0500 |
33 |
++++ b/usr/sbin/start_pms 2017-03-01 13:36:05.574540305 -0500 |
34 |
+@@ -8,16 +8,20 @@ |
35 |
+ export PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR="${HOME}/Library/Application Support" |
36 |
+ if [ -f /etc/default/locale ]; then |
37 |
+ export LANG="`cat /etc/default/locale|awk -F '=' '/LANG=/{print $2}'|sed 's/"//g'`" |
38 |
+ export LC_ALL="$LANG" |
39 |
+ fi |
40 |
+ |
41 |
+ test -f /etc/default/plexmediaserver && . /etc/default/plexmediaserver |
42 |
+ |
43 |
++# Activate python virtualenv |
44 |
++. "${PLEX_MEDIA_SERVER_HOME}"/Resources/Python/bin/activate |
45 |
++ |
46 |
++ |
47 |
+ if [ ! -d "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" ] |
48 |
+ then |
49 |
+ mkdir -p "$PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR" |
50 |
+ if [ ! $? -eq 0 ] |
51 |
+ then |
52 |
+ echo "WARNING COULDN'T CREATE $PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR, MAKE SURE I HAVE PERMISSON TO DO THAT!" |
53 |
+ exit 1 |
54 |
+ fi |
55 |
|
56 |
diff --git a/media-tv/plex-media-server/plex-media-server-1.4.3.ebuild b/media-tv/plex-media-server/plex-media-server-1.4.3.ebuild |
57 |
new file mode 100644 |
58 |
index 00000000000..6ec1479f0b4 |
59 |
--- /dev/null |
60 |
+++ b/media-tv/plex-media-server/plex-media-server-1.4.3.ebuild |
61 |
@@ -0,0 +1,136 @@ |
62 |
+# Copyright 1999-2017 Gentoo Foundation |
63 |
+# Distributed under the terms of the GNU General Public License v2 |
64 |
+ |
65 |
+EAPI=6 |
66 |
+ |
67 |
+PYTHON_COMPAT=( python2_7 ) |
68 |
+inherit eutils user systemd unpacker pax-utils python-single-r1 |
69 |
+ |
70 |
+MINOR1="3433" |
71 |
+MINOR2="03e4cfa35" |
72 |
+ |
73 |
+_APPNAME="plexmediaserver" |
74 |
+_USERNAME="plex" |
75 |
+_SHORTNAME="${_USERNAME}" |
76 |
+_FULL_VERSION="${PV}.${MINOR1}-${MINOR2}" |
77 |
+ |
78 |
+URI="https://downloads.plex.tv/plex-media-server" |
79 |
+ |
80 |
+DESCRIPTION="A free media library that is intended for use with a plex client." |
81 |
+HOMEPAGE="http://www.plex.tv/" |
82 |
+SRC_URI="amd64? ( ${URI}/${_FULL_VERSION}/plexmediaserver_${_FULL_VERSION}_amd64.deb )" |
83 |
+SLOT="0" |
84 |
+LICENSE="Plex" |
85 |
+RESTRICT="mirror bindist strip" |
86 |
+KEYWORDS="-* ~amd64" |
87 |
+ |
88 |
+DEPEND=" |
89 |
+ sys-apps/fix-gnustack |
90 |
+ dev-python/virtualenv[${PYTHON_USEDEP}]" |
91 |
+ |
92 |
+RDEPEND=" |
93 |
+ net-dns/avahi |
94 |
+ ${PYTHON_DEPS}" |
95 |
+ |
96 |
+QA_DESKTOP_FILE="usr/share/applications/plexmediamanager.desktop" |
97 |
+QA_PREBUILT="*" |
98 |
+QA_MULTILIB_PATHS=( |
99 |
+ "usr/lib/${_APPNAME}/.*" |
100 |
+ "usr/lib/${_APPNAME}/Resources/Python/lib/python2.7/.*" |
101 |
+) |
102 |
+ |
103 |
+EXECSTACKED_BINS=( "${ED%/}/usr/lib/plexmediaserver/libgnsdk_dsp.so*" ) |
104 |
+BINS_TO_PAX_MARK=( "${ED%/}/usr/lib/plexmediaserver/Plex Script Host" ) |
105 |
+ |
106 |
+S="${WORKDIR}" |
107 |
+PATCHES=( "${FILESDIR}/virtualenv_start_pms.patch" ) |
108 |
+ |
109 |
+pkg_setup() { |
110 |
+ enewgroup ${_USERNAME} |
111 |
+ enewuser ${_USERNAME} -1 /bin/bash /var/lib/${_APPNAME} "${_USERNAME},video" |
112 |
+ |
113 |
+ python-single-r1_pkg_setup |
114 |
+} |
115 |
+ |
116 |
+src_unpack() { |
117 |
+ unpack_deb ${A} |
118 |
+} |
119 |
+ |
120 |
+src_install() { |
121 |
+ # Move the config to the correct place |
122 |
+ local CONFIG_VANILLA="/etc/default/plexmediaserver" |
123 |
+ local CONFIG_PATH="/etc/${_SHORTNAME}" |
124 |
+ dodir "${CONFIG_PATH}" |
125 |
+ insinto "${CONFIG_PATH}" |
126 |
+ doins "${CONFIG_VANILLA#/}" |
127 |
+ sed -e "s#${CONFIG_VANILLA}#${CONFIG_PATH}#g" -i "${S}"/usr/sbin/start_pms || die |
128 |
+ |
129 |
+ # Remove Debian specific files |
130 |
+ rm -rf "usr/share/doc" || die |
131 |
+ |
132 |
+ # Copy main files over to image and preserve permissions so it is portable |
133 |
+ cp -rp usr/ "${ED}" || die |
134 |
+ |
135 |
+ # Make sure the logging directory is created |
136 |
+ local LOGGING_DIR="/var/log/pms" |
137 |
+ dodir "${LOGGING_DIR}" |
138 |
+ chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${LOGGING_DIR}" || die |
139 |
+ |
140 |
+ # Create default library folder with correct permissions |
141 |
+ local DEFAULT_LIBRARY_DIR="/var/lib/${_APPNAME}" |
142 |
+ dodir "${DEFAULT_LIBRARY_DIR}" |
143 |
+ chown "${_USERNAME}":"${_USERNAME}" "${ED%/}/${DEFAULT_LIBRARY_DIR}" || die |
144 |
+ |
145 |
+ # Install the OpenRC init/conf files |
146 |
+ doinitd "${FILESDIR}/init.d/${PN}" |
147 |
+ doconfd "${FILESDIR}/conf.d/${PN}" |
148 |
+ |
149 |
+ _handle_multilib |
150 |
+ |
151 |
+ # Install systemd service file |
152 |
+ local INIT_NAME="${PN}.service" |
153 |
+ local INIT="${FILESDIR}/systemd/${INIT_NAME}" |
154 |
+ systemd_newunit "${INIT}" "${INIT_NAME}" |
155 |
+ |
156 |
+ _remove_execstack_markings |
157 |
+ _add_pax_markings |
158 |
+ |
159 |
+ einfo "Configuring virtualenv" |
160 |
+ virtualenv -v --no-pip --no-setuptools --no-wheel "${ED}"usr/lib/plexmediaserver/Resources/Python || die |
161 |
+ pushd "${ED}"usr/lib/plexmediaserver/Resources/Python &>/dev/null || die |
162 |
+ find . -type f -exec sed -i -e "s#${D}##g" {} + || die |
163 |
+ popd &>/dev/null || die |
164 |
+} |
165 |
+ |
166 |
+pkg_postinst() { |
167 |
+ einfo "" |
168 |
+ elog "Plex Media Server is now installed. Please check the configuration file in /etc/${_SHORTNAME}/${_APPNAME} to verify the default settings." |
169 |
+ elog "To start the Plex Server, run 'rc-config start plex-media-server', you will then be able to access your library at http://<ip>:32400/web/" |
170 |
+} |
171 |
+ |
172 |
+# Finds out where the library directory is for this system |
173 |
+# and handles ldflags as to not break library dependencies |
174 |
+# during rebuilds. |
175 |
+_handle_multilib() { |
176 |
+ # Prevent revdep-rebuild, @preserved-rebuild breakage |
177 |
+ cat > "${T}"/66plex <<-EOF || die |
178 |
+ LDPATH="${EPREFIX}/usr/$(get_libdir)/plexmediaserver" |
179 |
+ EOF |
180 |
+ |
181 |
+ doenvd "${T}"/66plex |
182 |
+} |
183 |
+ |
184 |
+# Remove execstack flags from some libraries/executables so that it works in hardened setups. |
185 |
+_remove_execstack_markings() { |
186 |
+ for f in "${EXECSTACKED_BINS[@]}"; do |
187 |
+ # Unquoting 'f' so that expansion works. |
188 |
+ fix-gnustack -f ${f} > /dev/null |
189 |
+ done |
190 |
+} |
191 |
+ |
192 |
+# Add pax markings to some binaries so that they work on hardened setup. |
193 |
+_add_pax_markings() { |
194 |
+ for f in "${BINS_TO_PAX_MARK[@]}"; do |
195 |
+ pax-mark m "${f}" |
196 |
+ done |
197 |
+} |