From 0d9c4b83944f82c84efd94b32e6729093da444fe Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 11 Dec 2017 11:16:09 +0000 Subject: [PATCH 1/3] bump alpine 3.7, fix continuation lines, linting fixes --- Dockerfile | 61 +++++++++++++++++++------------ root/etc/services.d/tvheadend/run | 2 +- 2 files changed, 38 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index fa5c30d..bfe8228 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,24 +1,24 @@ -FROM lsiobase/alpine:3.6 -MAINTAINER saarg +FROM lsiobase/alpine:3.7 # set version label ARG BUILD_DATE ARG VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" +LABEL maintainer="saarg" # package version ARG ARGTABLE_VER="2.13" ARG TZ="Europe/Oslo" ARG XMLTV_VER="0.5.69" -# Environment settings +# environment settings ENV HOME="/config" # copy patches COPY patches/ /tmp/patches/ -# install build packages RUN \ + echo "**** install build packages ****" && \ apk add --no-cache --virtual=build-dependencies \ autoconf \ automake \ @@ -53,8 +53,7 @@ RUN \ apk add --no-cache --virtual=build-dependencies \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ gnu-libiconv-dev && \ - -# install runtime packages + echo "**** install runtime packages ****" && \ apk add --no-cache \ bsd-compat-headers \ bzip2 \ @@ -135,18 +134,15 @@ RUN \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ gnu-libiconv && \ - -# install perl modules for xmltv + echo "**** install perl modules for xmltv ****" && \ curl -L http://cpanmin.us | perl - App::cpanminus && \ cpanm --installdeps /tmp/patches && \ - -# build dvb-apps + echo "**** build dvb-apps ****" && \ hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \ cd /tmp/dvb-apps && \ make -C lib && \ make -C lib install && \ - -# build tvheadend + echo "**** build tvheadend ****" && \ git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ cd /tmp/tvheadend && \ ./configure \ @@ -166,10 +162,21 @@ RUN \ --mandir=/usr/share/man \ --prefix=/usr \ --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 && \ - -# build XMLTV + echo "**** build XMLTV ****" && \ curl -o \ /tmp/xmtltv-src.tar.bz2 -L \ "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 --strip-components=1 && \ 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 && \ - make && \ + make -j $CPU_CORES && \ make test && \ make install && \ - -# build argtable2 + echo "**** build argtable2 ****" && \ ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ mkdir -p \ /tmp/argtable && \ @@ -196,21 +210,20 @@ RUN \ cd /tmp/argtable && \ ./configure \ --prefix=/usr && \ - make && \ + make -j $CPU_CORES && \ make check && \ make install && \ - -# build comskip + echo "***** build comskip ****" && \ git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \ cd /tmp/comskip && \ ./autogen.sh && \ ./configure \ --bindir=/usr/bin \ --sysconfdir=/config/comskip && \ - make && \ + make -j $CPU_CORES && \ + set +ex && \ make install && \ - -# cleanup + echo "***** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ diff --git a/root/etc/services.d/tvheadend/run b/root/etc/services.d/tvheadend/run index d80b55c..9baffde 100755 --- a/root/etc/services.d/tvheadend/run +++ b/root/etc/services.d/tvheadend/run @@ -1,6 +1,6 @@ #!/usr/bin/with-contenv bash -RUN_ARRAY=(${RUN_OPTS}) +IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS" exec \ s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}" From 53ba6baa5632f690c02cb3d177df3cd84e27c548 Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 11 Dec 2017 11:19:37 +0000 Subject: [PATCH 2/3] bump alpine 3.7, fix continuation lines, linting fixes --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0cb529..cf5da35 100644 --- a/README.md +++ b/README.md @@ -160,6 +160,7 @@ You need to enable minimum advanced view level to see the picons options. ## 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. + **08.07.2017:** Update README with full path for comskip. From d18eb4297c7a4c684c70016565fdf9036be1b378 Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Mon, 11 Dec 2017 11:36:34 +0000 Subject: [PATCH 3/3] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index bfe8228..953bce4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ ARG VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="saarg" -# package version +# package versions ARG ARGTABLE_VER="2.13" ARG TZ="Europe/Oslo" ARG XMLTV_VER="0.5.69"