Cleaner use of environment variables. Removed the need for vars.sh

This commit is contained in:
Joe Groocock 2016-08-26 23:03:01 +01:00
parent 6b32d155d9
commit aa4cc38b80

View File

@ -1,9 +1,8 @@
FROM alpine:3.4 FROM alpine:3.4
MAINTAINER Adam Dodman <adam.dodman@gmx.com> MAINTAINER Adam Dodman <adam.dodman@gmx.com>
ENV UID=787 UNAME=plex GID=990 GNAME=media ENV UID=787 UNAME=plex GID=990 GNAME=media DESTDIR="/plex"
ENV debs "libc6 libgcc1 libstdc++6 plexmediaserver" ENV GLIBC_LIBRARY_PATH="/plex/lib" GLIBC_LD_LINUX_SO="/plex/lib/ld-linux-x86-64.so.2"
ENV destdir "/plex"
ADD start_pms.patch /tmp/start_pms.patch ADD start_pms.patch /tmp/start_pms.patch
@ -20,7 +19,7 @@ RUN addgroup -g $GID $GNAME \
&& wget http://ftp.debian.org/debian/pool/main/g/gcc-4.9/libstdc++6_4.9.2-10_amd64.deb \ && wget http://ftp.debian.org/debian/pool/main/g/gcc-4.9/libstdc++6_4.9.2-10_amd64.deb \
&& wget -O plexmediaserver.deb 'https://plex.tv/downloads/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu' \ && wget -O plexmediaserver.deb 'https://plex.tv/downloads/latest/1?channel=8&build=linux-ubuntu-x86_64&distro=ubuntu' \
&& for pkg in $debs; do \ && for pkg in libc6 libgcc1 libstdc++6 plexmediaserver; do \
mkdir $pkg; \ mkdir $pkg; \
cd $pkg; \ cd $pkg; \
ar x ../$pkg*.deb; \ ar x ../$pkg*.deb; \
@ -28,17 +27,11 @@ RUN addgroup -g $GID $GNAME \
cd ..; \ cd ..; \
done \ done \
&& mkdir -p $destdir/lib \ && mkdir -p $GLIBC_LIBRARY_PATH \
&& mv libc6/lib/x86_64-linux-gnu/* $destdir/lib \ && mv libc6/lib/x86_64-linux-gnu/* $GLIBC_LIBRARY_PATH \
&& mv libgcc1/lib/x86_64-linux-gnu/* $destdir/lib \ && mv libgcc1/lib/x86_64-linux-gnu/* $GLIBC_LIBRARY_PATH \
&& mv libstdc++6/usr/lib/x86_64-linux-gnu/* $destdir/lib \ && mv libstdc++6/usr/lib/x86_64-linux-gnu/* $GLIBC_LIBRARY_PATH \
&& echo "export GLIBC_LIBRARY_PATH=/plex/lib" >"$destdir/lib/vars.sh" \
&& echo "export GLIBC_LD_LINUX_SO=/plex/lib/ld-linux-x86-64.so.2" >>"$destdir/lib/vars.sh" \
&& chmod +x $destdir/lib/vars.sh \
&& . $destdir/lib/vars.sh \
&& find plexmediaserver/usr/lib/plexmediaserver -type f -perm /0111 -exec sh -c "file --brief \"{}\" | grep -q "ELF" && patchelf --set-interpreter \"$GLIBC_LD_LINUX_SO\" \"{}\" " \; \ && find plexmediaserver/usr/lib/plexmediaserver -type f -perm /0111 -exec sh -c "file --brief \"{}\" | grep -q "ELF" && patchelf --set-interpreter \"$GLIBC_LD_LINUX_SO\" \"{}\" " \; \
@ -46,10 +39,10 @@ RUN addgroup -g $GID $GNAME \
&& cd plexmediaserver/usr/sbin/ \ && cd plexmediaserver/usr/sbin/ \
&& patch < start_pms.patch \ && patch < start_pms.patch \
&& cd /tmp \ && cd /tmp \
&& sed -i "s|<destdir>|$destdir|" plexmediaserver/usr/sbin/start_pms \ && sed -i "s|<destdir>|$DESTDIR|" plexmediaserver/usr/sbin/start_pms \
&& mv plexmediaserver/usr/sbin/start_pms $destdir/ \ && mv plexmediaserver/usr/sbin/start_pms $DESTDIR/ \
&& mv plexmediaserver/usr/lib/plexmediaserver $destdir/plex-media-server \ && mv plexmediaserver/usr/lib/plexmediaserver $DESTDIR/plex-media-server \
&& apk del --no-cache xz binutils patchelf file \ && apk del --no-cache xz binutils patchelf file \
&& rm -rf /tmp/* && rm -rf /tmp/*