forked from Ivasoft/docker-tvheadend
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3dbea6d9a5 | ||
|
|
d18eb4297c | ||
|
|
53ba6baa56 | ||
|
|
0d9c4b8394 | ||
|
|
3a054b8a57 | ||
|
|
6d486e90d0 |
71
Dockerfile
71
Dockerfile
@@ -1,24 +1,24 @@
|
|||||||
FROM lsiobase/alpine:3.6
|
FROM lsiobase/alpine:3.7
|
||||||
MAINTAINER saarg
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
# package version
|
# package versions
|
||||||
ARG ARGTABLE_VER="2.13"
|
ARG ARGTABLE_VER="2.13"
|
||||||
ARG TZ="Europe/Oslo"
|
ARG TZ="Europe/Oslo"
|
||||||
ARG XMLTV_VER="0.5.69"
|
ARG XMLTV_VER="0.5.69"
|
||||||
|
|
||||||
# Environment settings
|
# environment settings
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches
|
||||||
COPY patches/ /tmp/patches/
|
COPY patches/ /tmp/patches/
|
||||||
|
|
||||||
# install build packages
|
|
||||||
RUN \
|
RUN \
|
||||||
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
autoconf \
|
autoconf \
|
||||||
automake \
|
automake \
|
||||||
@@ -34,10 +34,12 @@ RUN \
|
|||||||
libhdhomerun-dev \
|
libhdhomerun-dev \
|
||||||
libressl-dev \
|
libressl-dev \
|
||||||
libtool \
|
libtool \
|
||||||
|
libvpx-dev \
|
||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
make \
|
make \
|
||||||
mercurial \
|
mercurial \
|
||||||
|
opus-dev \
|
||||||
patch \
|
patch \
|
||||||
pcre2-dev \
|
pcre2-dev \
|
||||||
perl-dev \
|
perl-dev \
|
||||||
@@ -45,12 +47,13 @@ RUN \
|
|||||||
sdl-dev \
|
sdl-dev \
|
||||||
uriparser-dev \
|
uriparser-dev \
|
||||||
wget \
|
wget \
|
||||||
|
x264-dev \
|
||||||
|
x265-dev \
|
||||||
zlib-dev && \
|
zlib-dev && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
gnu-libiconv-dev && \
|
gnu-libiconv-dev && \
|
||||||
|
echo "**** install runtime packages ****" && \
|
||||||
# install runtime packages
|
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
bsd-compat-headers \
|
bsd-compat-headers \
|
||||||
bzip2 \
|
bzip2 \
|
||||||
@@ -63,9 +66,11 @@ RUN \
|
|||||||
libhdhomerun-libs \
|
libhdhomerun-libs \
|
||||||
libressl \
|
libressl \
|
||||||
libssl1.0 \
|
libssl1.0 \
|
||||||
|
libvpx \
|
||||||
libxml2 \
|
libxml2 \
|
||||||
libxslt \
|
libxslt \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
opus \
|
||||||
pcre2 \
|
pcre2 \
|
||||||
perl \
|
perl \
|
||||||
perl-archive-zip \
|
perl-archive-zip \
|
||||||
@@ -123,22 +128,21 @@ RUN \
|
|||||||
tar \
|
tar \
|
||||||
uriparser \
|
uriparser \
|
||||||
wget \
|
wget \
|
||||||
|
x264 \
|
||||||
|
x265 \
|
||||||
zlib && \
|
zlib && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
--repository http://nl.alpinelinux.org/alpine/edge/testing \
|
||||||
gnu-libiconv && \
|
gnu-libiconv && \
|
||||||
|
echo "**** install perl modules for xmltv ****" && \
|
||||||
# install perl modules for xmltv
|
|
||||||
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
curl -L http://cpanmin.us | perl - App::cpanminus && \
|
||||||
cpanm --installdeps /tmp/patches && \
|
cpanm --installdeps /tmp/patches && \
|
||||||
|
echo "**** build dvb-apps ****" && \
|
||||||
# build dvb-apps
|
|
||||||
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
|
||||||
cd /tmp/dvb-apps && \
|
cd /tmp/dvb-apps && \
|
||||||
make -C lib && \
|
make -C lib && \
|
||||||
make -C lib install && \
|
make -C lib install && \
|
||||||
|
echo "**** build tvheadend ****" && \
|
||||||
# build tvheadend
|
|
||||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||||
cd /tmp/tvheadend && \
|
cd /tmp/tvheadend && \
|
||||||
./configure \
|
./configure \
|
||||||
@@ -158,10 +162,21 @@ RUN \
|
|||||||
--mandir=/usr/share/man \
|
--mandir=/usr/share/man \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--sysconfdir=/config && \
|
--sysconfdir=/config && \
|
||||||
make && \
|
echo "**** attempt to set number of cores available for make to use ****" && \
|
||||||
|
set -ex && \
|
||||||
|
CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \
|
||||||
|
if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \
|
||||||
|
: ;\
|
||||||
|
if [ "$CPU_CORES" -gt 7 ]; then \
|
||||||
|
CPU_CORES=$(( CPU_CORES - 3 )); \
|
||||||
|
elif [ "$CPU_CORES" -gt 5 ]; then \
|
||||||
|
CPU_CORES=$(( CPU_CORES - 2 )); \
|
||||||
|
elif [ "$CPU_CORES" -gt 3 ]; then \
|
||||||
|
CPU_CORES=$(( CPU_CORES - 1 )); fi \
|
||||||
|
else CPU_CORES="1"; fi && \
|
||||||
|
make -j $CPU_CORES && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "**** build XMLTV ****" && \
|
||||||
# build XMLTV
|
|
||||||
curl -o \
|
curl -o \
|
||||||
/tmp/xmtltv-src.tar.bz2 -L \
|
/tmp/xmtltv-src.tar.bz2 -L \
|
||||||
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
|
||||||
@@ -169,12 +184,19 @@ RUN \
|
|||||||
/tmp/xmtltv-src.tar.bz2 -C \
|
/tmp/xmtltv-src.tar.bz2 -C \
|
||||||
/tmp --strip-components=1 && \
|
/tmp --strip-components=1 && \
|
||||||
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
cd "/tmp/xmltv-${XMLTV_VER}" && \
|
||||||
|
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||||
|
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||||
|
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||||
|
sed "s/\(lib\/set_share_dir.pl';\)/.\/\1/" -i grab/it/tv_grab_it.PL && \
|
||||||
|
sed "s/\(filter\/Grep.pm';\)/.\/\1/" -i filter/tv_grep.PL && \
|
||||||
|
sed "s/\(lib\/XMLTV.pm.in';\)/.\/\1/" -i lib/XMLTV.pm.PL && \
|
||||||
|
sed "s/\(lib\/Ask\/Term.pm';\)/.\/\1/" -i Makefile.PL && \
|
||||||
|
PERL5LIB=`pwd` && \
|
||||||
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
|
||||||
make && \
|
make -j $CPU_CORES && \
|
||||||
make test && \
|
make test && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "**** build argtable2 ****" && \
|
||||||
# build argtable2
|
|
||||||
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/tmp/argtable && \
|
/tmp/argtable && \
|
||||||
@@ -188,21 +210,20 @@ RUN \
|
|||||||
cd /tmp/argtable && \
|
cd /tmp/argtable && \
|
||||||
./configure \
|
./configure \
|
||||||
--prefix=/usr && \
|
--prefix=/usr && \
|
||||||
make && \
|
make -j $CPU_CORES && \
|
||||||
make check && \
|
make check && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "***** build comskip ****" && \
|
||||||
# build comskip
|
|
||||||
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
|
||||||
cd /tmp/comskip && \
|
cd /tmp/comskip && \
|
||||||
./autogen.sh && \
|
./autogen.sh && \
|
||||||
./configure \
|
./configure \
|
||||||
--bindir=/usr/bin \
|
--bindir=/usr/bin \
|
||||||
--sysconfdir=/config/comskip && \
|
--sysconfdir=/config/comskip && \
|
||||||
make && \
|
make -j $CPU_CORES && \
|
||||||
|
set +ex && \
|
||||||
make install && \
|
make install && \
|
||||||
|
echo "***** cleanup ****" && \
|
||||||
# cleanup
|
|
||||||
apk del --purge \
|
apk del --purge \
|
||||||
build-dependencies && \
|
build-dependencies && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
|
|||||||
@@ -160,6 +160,8 @@ You need to enable minimum advanced view level to see the picons options.
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
+ **11.12.2017:** Rebase to alpine 3.7, linting fixes.
|
||||||
|
+ **02.09.2017:** Add codec dependencies.
|
||||||
+ **13.07.2017:** Increase uniformity across all archs.
|
+ **13.07.2017:** Increase uniformity across all archs.
|
||||||
+ **08.07.2017:** Update README with full path for comskip.
|
+ **08.07.2017:** Update README with full path for comskip.
|
||||||
+ **02.07.2017:** Move to one branch for all 4.2 releases.
|
+ **02.07.2017:** Move to one branch for all 4.2 releases.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
RUN_ARRAY=(${RUN_OPTS})
|
IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS"
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"
|
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"
|
||||||
|
|||||||
Reference in New Issue
Block a user