forked from Ivasoft/docker-tvheadend
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3dbea6d9a5 | ||
|
|
d18eb4297c | ||
|
|
53ba6baa56 | ||
|
|
0d9c4b8394 |
63
Dockerfile
63
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 \
|
||||||
@@ -53,8 +53,7 @@ RUN \
|
|||||||
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 \
|
||||||
@@ -135,18 +134,15 @@ RUN \
|
|||||||
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 \
|
||||||
@@ -166,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" && \
|
||||||
@@ -177,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 && \
|
||||||
@@ -196,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,7 @@ 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.
|
+ **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.
|
||||||
|
|||||||
@@ -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