From c1d27489dfd129e475e7783c3b38f768b2c4492c Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 23 Feb 2023 16:24:53 +0000 Subject: [PATCH 1/5] Rebase to 3.17, migrate to s6v3 --- Dockerfile | 542 +++++++++--------- Dockerfile.aarch64 | 536 +++++++++-------- Dockerfile.armhf | 537 +++++++++-------- README.md | 1 + readme-vars.yml | 1 + .../dependencies.d/init-video-config | 0 .../dependencies.d/init-config | 0 .../s6-rc.d/init-tvheadend-config/run} | 15 +- .../s6-rc.d/init-tvheadend-config/type | 1 + .../s6-rc.d/init-tvheadend-config/up | 1 + .../dependencies.d/init-tvheadend-config | 0 .../s6-rc.d/init-video-config/run} | 1 + .../s6-overlay/s6-rc.d/init-video-config/type | 1 + .../s6-overlay/s6-rc.d/init-video-config/up | 1 + .../dependencies.d/init-services | 0 .../s6-rc.d/svc-tvheadend/notification-fd | 1 + .../s6-rc.d/svc-tvheadend}/run | 2 + .../etc/s6-overlay/s6-rc.d/svc-tvheadend/type | 1 + .../user/contents.d/init-tvheadend-config | 0 .../s6-rc.d/user/contents.d/svc-tvheadend | 0 20 files changed, 810 insertions(+), 831 deletions(-) create mode 100644 root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-video-config create mode 100644 root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/dependencies.d/init-config rename root/etc/{cont-init.d/30-config => s6-overlay/s6-rc.d/init-tvheadend-config/run} (80%) mode change 100644 => 100755 create mode 100644 root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/up create mode 100644 root/etc/s6-overlay/s6-rc.d/init-video-config/dependencies.d/init-tvheadend-config rename root/etc/{cont-init.d/50-gid-video => s6-overlay/s6-rc.d/init-video-config/run} (96%) mode change 100644 => 100755 create mode 100644 root/etc/s6-overlay/s6-rc.d/init-video-config/type create mode 100644 root/etc/s6-overlay/s6-rc.d/init-video-config/up create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-tvheadend/dependencies.d/init-services create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-tvheadend/notification-fd rename root/etc/{services.d/tvheadend => s6-overlay/s6-rc.d/svc-tvheadend}/run (53%) create mode 100644 root/etc/s6-overlay/s6-rc.d/svc-tvheadend/type create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/init-tvheadend-config create mode 100644 root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-tvheadend diff --git a/Dockerfile b/Dockerfile index 576d499..ab6c602 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as buildstage +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage ############## build stage ############## # package versions @@ -6,7 +8,7 @@ ARG ARGTABLE_VER="2.13" ARG XMLTV_VER="v1.0.0" # environment settings -ARG TZ="Europe/Oslo" +ARG TZ="Etc/UTC" ARG TVHEADEND_COMMIT ENV HOME="/config" @@ -14,209 +16,200 @@ ENV HOME="/config" COPY patches/ /tmp/patches/ RUN \ - echo "**** install build packages ****" && \ - apk add --no-cache \ - autoconf \ - automake \ - bsd-compat-headers \ - bzip2 \ - cmake \ - curl \ - ffmpeg-dev \ - file \ - findutils \ - g++ \ - gcc \ - gettext-dev \ - git \ - gnu-libiconv-dev \ - gzip \ - jq \ - libcurl \ - libdvbcsa-dev \ - libgcrypt-dev \ - libhdhomerun-dev \ - libtool \ - libva-dev \ - libvpx-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - openssl-dev \ - opus-dev \ - patch \ - pcre2-dev \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-dev \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - pkgconf \ - pngquant \ - python3 \ - sdl-dev \ - tar \ - uriparser-dev \ - wget \ - x264-dev \ - x265-dev \ - zlib-dev + echo "**** install build packages ****" && \ + apk add --no-cache \ + autoconf \ + automake \ + bsd-compat-headers \ + build-base \ + cmake \ + ffmpeg4-dev \ + file \ + findutils \ + gettext-dev \ + git \ + gnu-libiconv-dev \ + libdvbcsa-dev \ + libgcrypt-dev \ + libhdhomerun-dev \ + libtool \ + libva-dev \ + libvpx-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + openssl-dev \ + opus-dev \ + patch \ + pcre2-dev \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-dev \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + pkgconf \ + pngquant \ + python3 \ + sdl2-dev \ + uriparser-dev \ + x264-dev \ + x265-dev \ + zlib-dev RUN \ - echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ - rm -rf /usr/include/iconv.h && \ - cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h + echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ + rm -rf /usr/include/iconv.h && \ + cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h RUN \ - echo "**** install perl modules for xmltv ****" && \ - curl -s -L https://cpanmin.us | perl - App::cpanminus && \ - cpanm --installdeps /tmp/patches + echo "**** install perl modules for xmltv ****" && \ + curl -s -L https://cpanmin.us | perl - App::cpanminus && \ + cpanm --installdeps /tmp/patches RUN \ - echo "**** compile XMLTV ****" && \ - git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ - cd /tmp/xmltv && \ - git checkout ${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 -j 2 && \ - make test && \ - make DESTDIR=/tmp/xmltv-build install + echo "**** compile XMLTV ****" && \ + git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ + cd /tmp/xmltv && \ + git checkout ${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 -j 2 && \ + make test && \ + make DESTDIR=/tmp/xmltv-build install RUN \ - echo "**** compile tvheadend ****" && \ - if [ -z ${TVHEADEND_COMMIT+x} ]; then \ - TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ - | jq -r '. | .sha'); \ - fi && \ - mkdir -p \ - /tmp/tvheadend && \ - git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ - cd /tmp/tvheadend && \ - git checkout ${TVHEADEND_COMMIT} && \ - ./configure \ - `#Encoding` \ - --disable-ffmpeg_static \ - --disable-libfdkaac_static \ - --disable-libtheora_static \ - --disable-libopus_static \ - --disable-libvorbis_static \ - --disable-libvpx_static \ - --disable-libx264_static \ - --disable-libx265_static \ - --disable-libfdkaac \ - --enable-libopus \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libx264 \ - --enable-libx265 \ - \ - `#Options` \ - --disable-avahi \ - --disable-dbus_1 \ - --disable-bintray_cache \ - --disable-execinfo \ - --disable-hdhomerun_static \ - --enable-hdhomerun_client \ - --enable-libav \ - --enable-pngquant \ - --enable-trace \ - --enable-vaapi \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --prefix=/usr \ - --python=python3 \ - --sysconfdir=/config && \ - make -j 2 && \ - make DESTDIR=/tmp/tvheadend-build install + echo "**** compile tvheadend ****" && \ + if [ -z ${TVHEADEND_COMMIT+x} ]; then \ + TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ + | jq -r '. | .sha'); \ + fi && \ + mkdir -p \ + /tmp/tvheadend && \ + git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ + cd /tmp/tvheadend && \ + git checkout ${TVHEADEND_COMMIT} && \ + ./configure \ + `#Encoding` \ + --disable-ffmpeg_static \ + --disable-libfdkaac_static \ + --disable-libtheora_static \ + --disable-libopus_static \ + --disable-libvorbis_static \ + --disable-libvpx_static \ + --disable-libx264_static \ + --disable-libx265_static \ + --disable-libfdkaac \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265 \ + \ + `#Options` \ + --disable-avahi \ + --disable-dbus_1 \ + --disable-bintray_cache \ + --disable-execinfo \ + --disable-hdhomerun_static \ + --enable-hdhomerun_client \ + --enable-libav \ + --enable-pngquant \ + --enable-trace \ + --enable-vaapi \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --python=python3 \ + --sysconfdir=/config && \ + make -j 2 && \ + make DESTDIR=/tmp/tvheadend-build install RUN \ - echo "**** compile argtable2 ****" && \ - ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ - mkdir -p \ - /tmp/argtable && \ - curl -s -o \ - /tmp/argtable-src.tar.gz -L \ - "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ - tar xf \ - /tmp/argtable-src.tar.gz -C \ - /tmp/argtable --strip-components=1 && \ - cp /tmp/patches/config.* /tmp/argtable && \ - cd /tmp/argtable && \ - ./configure \ - --prefix=/usr && \ - make -j 2 && \ - make check && \ - make DESTDIR=/tmp/argtable-build install && \ - echo "**** copy to /usr for comskip dependency ****" && \ - cp -pr /tmp/argtable-build/usr/* /usr/ + echo "**** compile argtable2 ****" && \ + ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ + mkdir -p \ + /tmp/argtable && \ + curl -s -o \ + /tmp/argtable-src.tar.gz -L \ + "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ + tar xf \ + /tmp/argtable-src.tar.gz -C \ + /tmp/argtable --strip-components=1 && \ + cp /tmp/patches/config.* /tmp/argtable && \ + cd /tmp/argtable && \ + ./configure \ + --prefix=/usr && \ + make -j 2 && \ + make check && \ + make DESTDIR=/tmp/argtable-build install && \ + echo "**** copy to /usr for comskip dependency ****" && \ + cp -pr /tmp/argtable-build/usr/* /usr/ RUN \ - echo "***** compile comskip ****" && \ - git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ - cd /tmp/comskip && \ - ./autogen.sh && \ - ./configure \ - --bindir=/usr/bin \ - --sysconfdir=/config/comskip && \ - make -j 2 && \ - make DESTDIR=/tmp/comskip-build install + echo "***** compile comskip ****" && \ + git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ + cd /tmp/comskip && \ + ./autogen.sh && \ + ./configure \ + --bindir=/usr/bin \ + --sysconfdir=/config/comskip && \ + make -j 2 && \ + make DESTDIR=/tmp/comskip-build install ############## picons stage ############## # built by https://github.com/linuxserver/picons-builder @@ -224,7 +217,7 @@ FROM ghcr.io/linuxserver/picons-builder as piconsstage ############## runtime stage ############## -FROM ghcr.io/linuxserver/baseimage-alpine:3.15 +FROM ghcr.io/linuxserver/baseimage-alpine:3.17 # set version label ARG BUILD_DATE @@ -236,91 +229,82 @@ LABEL maintainer="saarg" ENV HOME="/config" RUN \ - echo "**** install runtime packages ****" && \ - apk add --no-cache \ - bsd-compat-headers \ - bzip2 \ - curl \ - ffmpeg \ - ffmpeg-libs \ - gnu-libiconv \ - gzip \ - libcrypto1.1 \ - libcurl \ - libdvbcsa \ - libhdhomerun-libs \ - libssl1.1 \ - libva \ - libva-intel-driver \ - intel-media-driver \ - mesa-dri-ati \ - libvpx \ - libxml2 \ - libxslt \ - linux-headers \ - openssl \ - opus \ - pcre2 \ - perl \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - py3-requests \ - python3 \ - tar \ - uriparser \ - wget \ - x264 \ - x265 \ - zlib + echo "**** install runtime packages ****" && \ + apk add --no-cache \ + bsd-compat-headers \ + ffmpeg4 \ + ffmpeg4-libs \ + gnu-libiconv \ + libdvbcsa \ + libhdhomerun-libs \ + libva \ + libva-intel-driver \ + intel-media-driver \ + mesa \ + libvpx \ + libxml2 \ + libxslt \ + linux-headers \ + opus \ + pcre2 \ + perl \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + py3-requests \ + python3 \ + uriparser \ + x264 \ + x265 \ + zlib # copy local files and buildstage artifacts COPY --from=buildstage /tmp/argtable-build/usr/ /usr/ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 35c26e5..c211c72 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as buildstage +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17 as buildstage ############## build stage ############## # package versions @@ -6,7 +8,7 @@ ARG ARGTABLE_VER="2.13" ARG XMLTV_VER="v1.0.0" # environment settings -ARG TZ="Europe/Oslo" +ARG TZ="Etc/UTC" ARG TVHEADEND_COMMIT ENV HOME="/config" @@ -14,207 +16,200 @@ ENV HOME="/config" COPY patches/ /tmp/patches/ RUN \ - echo "**** install build packages ****" && \ - apk add --no-cache \ - autoconf \ - automake \ - bsd-compat-headers \ - bzip2 \ - cmake \ - curl \ - ffmpeg-dev \ - file \ - findutils \ - g++ \ - gcc \ - gettext-dev \ - git \ - gnu-libiconv-dev \ - gzip \ - jq \ - libcurl \ - libdvbcsa-dev \ - libgcrypt-dev \ - libhdhomerun-dev \ - libtool \ - libvpx-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - openssl-dev \ - opus-dev \ - patch \ - pcre2-dev \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-dev \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - pkgconf \ - pngquant \ - python3 \ - sdl-dev \ - tar \ - uriparser-dev \ - wget \ - x264-dev \ - x265-dev \ - zlib-dev + echo "**** install build packages ****" && \ + apk add --no-cache \ + autoconf \ + automake \ + bsd-compat-headers \ + build-base \ + cmake \ + ffmpeg4-dev \ + file \ + findutils \ + gettext-dev \ + git \ + gnu-libiconv-dev \ + libdvbcsa-dev \ + libgcrypt-dev \ + libhdhomerun-dev \ + libtool \ + libva-dev \ + libvpx-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + openssl-dev \ + opus-dev \ + patch \ + pcre2-dev \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-dev \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + pkgconf \ + pngquant \ + python3 \ + sdl2-dev \ + uriparser-dev \ + x264-dev \ + x265-dev \ + zlib-dev RUN \ - echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ - rm -rf /usr/include/iconv.h && \ - cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h + echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ + rm -rf /usr/include/iconv.h && \ + cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h RUN \ - echo "**** install perl modules for xmltv ****" && \ - curl -L https://cpanmin.us | perl - App::cpanminus && \ - cpanm --installdeps /tmp/patches + echo "**** install perl modules for xmltv ****" && \ + curl -s -L https://cpanmin.us | perl - App::cpanminus && \ + cpanm --installdeps /tmp/patches RUN \ - echo "**** compile XMLTV ****" && \ - git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ - cd /tmp/xmltv && \ - git checkout ${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 -j 2 && \ - make test && \ - make DESTDIR=/tmp/xmltv-build install + echo "**** compile XMLTV ****" && \ + git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ + cd /tmp/xmltv && \ + git checkout ${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 -j 2 && \ + make test && \ + make DESTDIR=/tmp/xmltv-build install RUN \ - echo "**** compile tvheadend ****" && \ - if [ -z ${TVHEADEND_COMMIT+x} ]; then \ - TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ - | jq -r '. | .sha'); \ - fi && \ - mkdir -p \ - /tmp/tvheadend && \ - git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ - cd /tmp/tvheadend && \ - git checkout ${TVHEADEND_COMMIT} && \ - ./configure \ - `#Encoding` \ - --disable-ffmpeg_static \ - --disable-libfdkaac_static \ - --disable-libtheora_static \ - --disable-libopus_static \ - --disable-libvorbis_static \ - --disable-libvpx_static \ - --disable-libx264_static \ - --disable-libx265_static \ - --disable-libfdkaac \ - --enable-libopus \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libx264 \ - --enable-libx265 \ - \ - `#Options` \ - --disable-avahi \ - --disable-dbus_1 \ - --disable-bintray_cache \ - --disable-execinfo \ - --disable-hdhomerun_static \ - --enable-hdhomerun_client \ - --enable-libav \ - --enable-pngquant \ - --enable-trace \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --prefix=/usr \ - --python=python3 \ - --sysconfdir=/config && \ - make -j 2 && \ - make DESTDIR=/tmp/tvheadend-build install + echo "**** compile tvheadend ****" && \ + if [ -z ${TVHEADEND_COMMIT+x} ]; then \ + TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ + | jq -r '. | .sha'); \ + fi && \ + mkdir -p \ + /tmp/tvheadend && \ + git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ + cd /tmp/tvheadend && \ + git checkout ${TVHEADEND_COMMIT} && \ + ./configure \ + `#Encoding` \ + --disable-ffmpeg_static \ + --disable-libfdkaac_static \ + --disable-libtheora_static \ + --disable-libopus_static \ + --disable-libvorbis_static \ + --disable-libvpx_static \ + --disable-libx264_static \ + --disable-libx265_static \ + --disable-libfdkaac \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265 \ + \ + `#Options` \ + --disable-avahi \ + --disable-dbus_1 \ + --disable-bintray_cache \ + --disable-execinfo \ + --disable-hdhomerun_static \ + --enable-hdhomerun_client \ + --enable-libav \ + --enable-pngquant \ + --enable-trace \ + --enable-vaapi \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --python=python3 \ + --sysconfdir=/config && \ + make -j 2 && \ + make DESTDIR=/tmp/tvheadend-build install RUN \ - echo "**** compile argtable2 ****" && \ - ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ - mkdir -p \ - /tmp/argtable && \ - curl -o \ - /tmp/argtable-src.tar.gz -L \ - "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ - tar xf \ - /tmp/argtable-src.tar.gz -C \ - /tmp/argtable --strip-components=1 && \ - cp /tmp/patches/config.* /tmp/argtable && \ - cd /tmp/argtable && \ - ./configure \ - --prefix=/usr && \ - make -j 2 && \ - make check && \ - make DESTDIR=/tmp/argtable-build install && \ - echo "**** copy to /usr for comskip dependency ****" && \ - cp -pr /tmp/argtable-build/usr/* /usr/ + echo "**** compile argtable2 ****" && \ + ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ + mkdir -p \ + /tmp/argtable && \ + curl -s -o \ + /tmp/argtable-src.tar.gz -L \ + "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ + tar xf \ + /tmp/argtable-src.tar.gz -C \ + /tmp/argtable --strip-components=1 && \ + cp /tmp/patches/config.* /tmp/argtable && \ + cd /tmp/argtable && \ + ./configure \ + --prefix=/usr && \ + make -j 2 && \ + make check && \ + make DESTDIR=/tmp/argtable-build install && \ + echo "**** copy to /usr for comskip dependency ****" && \ + cp -pr /tmp/argtable-build/usr/* /usr/ RUN \ - echo "***** compile comskip ****" && \ - git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ - cd /tmp/comskip && \ - ./autogen.sh && \ - ./configure \ - --bindir=/usr/bin \ - --sysconfdir=/config/comskip && \ - make -j 2 && \ - make DESTDIR=/tmp/comskip-build install + echo "***** compile comskip ****" && \ + git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ + cd /tmp/comskip && \ + ./autogen.sh && \ + ./configure \ + --bindir=/usr/bin \ + --sysconfdir=/config/comskip && \ + make -j 2 && \ + make DESTDIR=/tmp/comskip-build install ############## picons stage ############## # built by https://github.com/linuxserver/picons-builder @@ -222,7 +217,7 @@ FROM ghcr.io/linuxserver/picons-builder as piconsstage ############## runtime stage ############## -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17 # set version label ARG BUILD_DATE @@ -234,87 +229,82 @@ LABEL maintainer="saarg" ENV HOME="/config" RUN \ - echo "**** install runtime packages ****" && \ - apk add --no-cache \ - bsd-compat-headers \ - bzip2 \ - curl \ - ffmpeg \ - ffmpeg-libs \ - gnu-libiconv \ - gzip \ - libcrypto1.1 \ - libcurl \ - libdvbcsa \ - libhdhomerun-libs \ - libssl1.1 \ - libvpx \ - libxml2 \ - libxslt \ - linux-headers \ - openssl \ - opus \ - pcre2 \ - perl \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - py3-requests \ - python3 \ - tar \ - uriparser \ - wget \ - x264 \ - x265 \ - zlib + echo "**** install runtime packages ****" && \ + apk add --no-cache \ + bsd-compat-headers \ + ffmpeg4 \ + ffmpeg4-libs \ + gnu-libiconv \ + libdvbcsa \ + libhdhomerun-libs \ + libva \ + libva-intel-driver \ + intel-media-driver \ + mesa \ + libvpx \ + libxml2 \ + libxslt \ + linux-headers \ + opus \ + pcre2 \ + perl \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + py3-requests \ + python3 \ + uriparser \ + x264 \ + x265 \ + zlib # copy local files and buildstage artifacts COPY --from=buildstage /tmp/argtable-build/usr/ /usr/ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 192f178..dd0bc8e 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,6 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as buildstage +# syntax=docker/dockerfile:1 + +FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17 as buildstage ############## build stage ############## # package versions @@ -6,7 +8,7 @@ ARG ARGTABLE_VER="2.13" ARG XMLTV_VER="v1.0.0" # environment settings -ARG TZ="Europe/Oslo" +ARG TZ="Etc/UTC" ARG TVHEADEND_COMMIT ENV HOME="/config" @@ -14,208 +16,200 @@ ENV HOME="/config" COPY patches/ /tmp/patches/ RUN \ - echo "**** install build packages ****" && \ - apk add --no-cache \ - autoconf \ - automake \ - bsd-compat-headers \ - bzip2 \ - cmake \ - curl \ - ffmpeg-dev \ - file \ - findutils \ - g++ \ - gcc \ - gettext-dev \ - git \ - gnu-libiconv-dev \ - gzip \ - jq \ - libcurl \ - libdvbcsa-dev \ - libgcrypt-dev \ - libhdhomerun-dev \ - libtool \ - libvpx-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - make \ - openssl-dev \ - opus-dev \ - patch \ - pcre2-dev \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-dev \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - pkgconf \ - pngquant \ - python3 \ - sdl-dev \ - tar \ - uriparser-dev \ - wget \ - x264-dev \ - x265-dev \ - zlib-dev + echo "**** install build packages ****" && \ + apk add --no-cache \ + autoconf \ + automake \ + bsd-compat-headers \ + build-base \ + cmake \ + ffmpeg4-dev \ + file \ + findutils \ + gettext-dev \ + git \ + gnu-libiconv-dev \ + libdvbcsa-dev \ + libgcrypt-dev \ + libhdhomerun-dev \ + libtool \ + libva-dev \ + libvpx-dev \ + libxml2-dev \ + libxslt-dev \ + linux-headers \ + openssl-dev \ + opus-dev \ + patch \ + pcre2-dev \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-dev \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + pkgconf \ + pngquant \ + python3 \ + sdl2-dev \ + uriparser-dev \ + x264-dev \ + x265-dev \ + zlib-dev RUN \ - echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ - rm -rf /usr/include/iconv.h && \ - cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h + echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ + rm -rf /usr/include/iconv.h && \ + cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h RUN \ - echo "**** install perl modules for xmltv ****" && \ - curl -L https://cpanmin.us | perl - App::cpanminus && \ - cpanm --installdeps /tmp/patches + echo "**** install perl modules for xmltv ****" && \ + curl -s -L https://cpanmin.us | perl - App::cpanminus && \ + cpanm --installdeps /tmp/patches RUN \ - echo "**** compile XMLTV ****" && \ - git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ - cd /tmp/xmltv && \ - git checkout ${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 -j 2 && \ - make test && \ - make DESTDIR=/tmp/xmltv-build install + echo "**** compile XMLTV ****" && \ + git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ + cd /tmp/xmltv && \ + git checkout ${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 -j 2 && \ + make test && \ + make DESTDIR=/tmp/xmltv-build install RUN \ - echo "**** compile tvheadend ****" && \ - if [ -z ${TVHEADEND_COMMIT+x} ]; then \ - TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ - | jq -r '. | .sha'); \ - fi && \ - mkdir -p \ - /tmp/tvheadend && \ - git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ - cd /tmp/tvheadend && \ - git checkout ${TVHEADEND_COMMIT} && \ - ./configure \ - `#Encoding` \ - --disable-ffmpeg_static \ - --disable-libfdkaac_static \ - --disable-libtheora_static \ - --disable-libopus_static \ - --disable-libvorbis_static \ - --disable-libvpx_static \ - --disable-libx264_static \ - --disable-libx265_static \ - --disable-libfdkaac \ - --enable-libopus \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libx264 \ - --enable-libx265 \ - \ - `#Options` \ - --disable-avahi \ - --disable-dbus_1 \ - --disable-bintray_cache \ - --disable-execinfo \ - --disable-hdhomerun_static \ - --enable-hdhomerun_client \ - --enable-libav \ - --enable-pngquant \ - --enable-trace \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --nowerror \ - --prefix=/usr \ - --python=python3 \ - --sysconfdir=/config && \ - make -j 2 && \ - make DESTDIR=/tmp/tvheadend-build install + echo "**** compile tvheadend ****" && \ + if [ -z ${TVHEADEND_COMMIT+x} ]; then \ + TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ + | jq -r '. | .sha'); \ + fi && \ + mkdir -p \ + /tmp/tvheadend && \ + git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ + cd /tmp/tvheadend && \ + git checkout ${TVHEADEND_COMMIT} && \ + ./configure \ + `#Encoding` \ + --disable-ffmpeg_static \ + --disable-libfdkaac_static \ + --disable-libtheora_static \ + --disable-libopus_static \ + --disable-libvorbis_static \ + --disable-libvpx_static \ + --disable-libx264_static \ + --disable-libx265_static \ + --disable-libfdkaac \ + --enable-libopus \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libx264 \ + --enable-libx265 \ + \ + `#Options` \ + --disable-avahi \ + --disable-dbus_1 \ + --disable-bintray_cache \ + --disable-execinfo \ + --disable-hdhomerun_static \ + --enable-hdhomerun_client \ + --enable-libav \ + --enable-pngquant \ + --enable-trace \ + --enable-vaapi \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --mandir=/usr/share/man \ + --prefix=/usr \ + --python=python3 \ + --sysconfdir=/config && \ + make -j 2 && \ + make DESTDIR=/tmp/tvheadend-build install RUN \ - echo "**** compile argtable2 ****" && \ - ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ - mkdir -p \ - /tmp/argtable && \ - curl -o \ - /tmp/argtable-src.tar.gz -L \ - "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ - tar xf \ - /tmp/argtable-src.tar.gz -C \ - /tmp/argtable --strip-components=1 && \ - cp /tmp/patches/config.* /tmp/argtable && \ - cd /tmp/argtable && \ - ./configure \ - --prefix=/usr && \ - make -j 2 && \ - make check && \ - make DESTDIR=/tmp/argtable-build install && \ - echo "**** copy to /usr for comskip dependency ****" && \ - cp -pr /tmp/argtable-build/usr/* /usr/ + echo "**** compile argtable2 ****" && \ + ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ + mkdir -p \ + /tmp/argtable && \ + curl -s -o \ + /tmp/argtable-src.tar.gz -L \ + "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ + tar xf \ + /tmp/argtable-src.tar.gz -C \ + /tmp/argtable --strip-components=1 && \ + cp /tmp/patches/config.* /tmp/argtable && \ + cd /tmp/argtable && \ + ./configure \ + --prefix=/usr && \ + make -j 2 && \ + make check && \ + make DESTDIR=/tmp/argtable-build install && \ + echo "**** copy to /usr for comskip dependency ****" && \ + cp -pr /tmp/argtable-build/usr/* /usr/ RUN \ - echo "***** compile comskip ****" && \ - git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ - cd /tmp/comskip && \ - ./autogen.sh && \ - ./configure \ - --bindir=/usr/bin \ - --sysconfdir=/config/comskip && \ - make -j 2 && \ - make DESTDIR=/tmp/comskip-build install + echo "***** compile comskip ****" && \ + git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ + cd /tmp/comskip && \ + ./autogen.sh && \ + ./configure \ + --bindir=/usr/bin \ + --sysconfdir=/config/comskip && \ + make -j 2 && \ + make DESTDIR=/tmp/comskip-build install ############## picons stage ############## # built by https://github.com/linuxserver/picons-builder @@ -223,7 +217,7 @@ FROM ghcr.io/linuxserver/picons-builder as piconsstage ############## runtime stage ############## -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 +FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17 # set version label ARG BUILD_DATE @@ -235,87 +229,82 @@ LABEL maintainer="saarg" ENV HOME="/config" RUN \ - echo "**** install runtime packages ****" && \ - apk add --no-cache \ - bsd-compat-headers \ - bzip2 \ - curl \ - ffmpeg \ - ffmpeg-libs \ - gnu-libiconv \ - gzip \ - libcrypto1.1 \ - libcurl \ - libdvbcsa \ - libhdhomerun-libs \ - libssl1.1 \ - libvpx \ - libxml2 \ - libxslt \ - linux-headers \ - openssl \ - opus \ - pcre2 \ - perl \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - py3-requests \ - python3 \ - tar \ - uriparser \ - wget \ - x264 \ - x265 \ - zlib + echo "**** install runtime packages ****" && \ + apk add --no-cache \ + bsd-compat-headers \ + ffmpeg4 \ + ffmpeg4-libs \ + gnu-libiconv \ + libdvbcsa \ + libhdhomerun-libs \ + libva \ + libva-intel-driver \ + intel-media-driver \ + mesa \ + libvpx \ + libxml2 \ + libxslt \ + linux-headers \ + opus \ + pcre2 \ + perl \ + perl-archive-zip \ + perl-boolean \ + perl-capture-tiny \ + perl-cgi \ + perl-compress-raw-zlib \ + perl-date-manip \ + perl-datetime \ + perl-datetime-format-strptime \ + perl-datetime-timezone \ + perl-dbd-sqlite \ + perl-dbi \ + perl-digest-sha1 \ + perl-doc \ + perl-file-slurp \ + perl-file-temp \ + perl-file-which \ + perl-getopt-long \ + perl-html-parser \ + perl-html-tree \ + perl-http-cookies \ + perl-io \ + perl-io-html \ + perl-io-socket-ssl \ + perl-io-stringy \ + perl-json \ + perl-json-xs \ + perl-libwww \ + perl-lingua-en-numbers-ordinate \ + perl-lingua-preferred \ + perl-list-moreutils \ + perl-lwp-useragent-determined \ + perl-module-build \ + perl-module-pluggable \ + perl-net-ssleay \ + perl-parse-recdescent \ + perl-path-class \ + perl-scalar-list-utils \ + perl-term-progressbar \ + perl-term-readkey \ + perl-test-exception \ + perl-test-requires \ + perl-timedate \ + perl-try-tiny \ + perl-unicode-string \ + perl-xml-libxml \ + perl-xml-libxslt \ + perl-xml-parser \ + perl-xml-sax \ + perl-xml-treepp \ + perl-xml-twig \ + perl-xml-writer \ + py3-requests \ + python3 \ + uriparser \ + x264 \ + x265 \ + zlib # copy local files and buildstage artifacts COPY --from=buildstage /tmp/argtable-build/usr/ /usr/ diff --git a/README.md b/README.md index 3978724..d08e2df 100644 --- a/README.md +++ b/README.md @@ -301,6 +301,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3. * **31.08.22:** - Update sample env vars and how RUN_OPTS are handled. * **19.08.22:** - Switch to new picons builder. * **16.04.22:** - Added URL XMLTV grabber. diff --git a/readme-vars.yml b/readme-vars.yml index 377003d..e85a591 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -124,6 +124,7 @@ app_setup_block: | # changelog changelogs: + - { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3." } - { date: "31.08.22:", desc: "Update sample env vars and how RUN_OPTS are handled." } - { date: "19.08.22:", desc: "Switch to new picons builder." } - { date: "16.04.22:", desc: "Added URL XMLTV grabber." } diff --git a/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-video-config b/root/etc/s6-overlay/s6-rc.d/init-config-end/dependencies.d/init-video-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/dependencies.d/init-config b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/dependencies.d/init-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/30-config b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/run old mode 100644 new mode 100755 similarity index 80% rename from root/etc/cont-init.d/30-config rename to root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/run index f569900..4742975 --- a/root/etc/cont-init.d/30-config +++ b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/run @@ -1,24 +1,29 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash # make folders mkdir -p \ /config/comskip # copy config -[[ ! -e /config/dvr/config ]] && \ +if [[ ! -e /config/dvr/config ]]; then (mkdir -p /config/dvr/config && cp /defaults/7a5edfbe189851e5b1d1df19c93962f0 /config/dvr/config/7a5edfbe189851e5b1d1df19c93962f0) -[[ ! -e /config/comskip/comskip.ini ]] && \ +fi +if [[ ! -e /config/comskip/comskip.ini ]]; then cp /defaults/comskip.ini.org /config/comskip/comskip.ini -[[ ! -e /config/config ]] && \ - (cp /defaults/config /config/config) +fi +if [[ ! -e /config/config ]]; then + (cp /defaults/config /config/config) +fi # extract picons on first run -[[ -f /picons.tar.bz2 ]] && \ +if [[ -f /picons.tar.bz2 ]]; then mkdir -p /picons tar xf \ /picons.tar.bz2 -C \ /picons && rm -f /picons.tar.bz2 +fi # function to randomly sample 5 files for their owner and only chown if not abc chowner () { diff --git a/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/type b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/up b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/up new file mode 100644 index 0000000..28be1ed --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-tvheadend-config/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-tvheadend-config/run diff --git a/root/etc/s6-overlay/s6-rc.d/init-video-config/dependencies.d/init-tvheadend-config b/root/etc/s6-overlay/s6-rc.d/init-video-config/dependencies.d/init-tvheadend-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/cont-init.d/50-gid-video b/root/etc/s6-overlay/s6-rc.d/init-video-config/run old mode 100644 new mode 100755 similarity index 96% rename from root/etc/cont-init.d/50-gid-video rename to root/etc/s6-overlay/s6-rc.d/init-video-config/run index ea2bc1a..bb451b2 --- a/root/etc/cont-init.d/50-gid-video +++ b/root/etc/s6-overlay/s6-rc.d/init-video-config/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null) diff --git a/root/etc/s6-overlay/s6-rc.d/init-video-config/type b/root/etc/s6-overlay/s6-rc.d/init-video-config/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-video-config/type @@ -0,0 +1 @@ +oneshot diff --git a/root/etc/s6-overlay/s6-rc.d/init-video-config/up b/root/etc/s6-overlay/s6-rc.d/init-video-config/up new file mode 100644 index 0000000..be0df9d --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/init-video-config/up @@ -0,0 +1 @@ +/etc/s6-overlay/s6-rc.d/init-video-config/run diff --git a/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/dependencies.d/init-services b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/dependencies.d/init-services new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/notification-fd b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/notification-fd @@ -0,0 +1 @@ +3 diff --git a/root/etc/services.d/tvheadend/run b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/run similarity index 53% rename from root/etc/services.d/tvheadend/run rename to root/etc/s6-overlay/s6-rc.d/svc-tvheadend/run index 708714c..1151871 100755 --- a/root/etc/services.d/tvheadend/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/run @@ -1,4 +1,6 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash exec \ + s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 9981" \ s6-setuidgid abc /usr/bin/tvheadend -C -c /config $RUN_OPTS diff --git a/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/type b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/root/etc/s6-overlay/s6-rc.d/svc-tvheadend/type @@ -0,0 +1 @@ +longrun diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-tvheadend-config b/root/etc/s6-overlay/s6-rc.d/user/contents.d/init-tvheadend-config new file mode 100644 index 0000000..e69de29 diff --git a/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-tvheadend b/root/etc/s6-overlay/s6-rc.d/user/contents.d/svc-tvheadend new file mode 100644 index 0000000..e69de29 From 61f785a2782010a7dc732e688851ce53403953b9 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 23 Feb 2023 16:36:42 +0000 Subject: [PATCH 2/5] Remove missing intel video packages for arm --- Dockerfile.aarch64 | 2 -- Dockerfile.armhf | 2 -- 2 files changed, 4 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index c211c72..79e40d2 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -238,8 +238,6 @@ RUN \ libdvbcsa \ libhdhomerun-libs \ libva \ - libva-intel-driver \ - intel-media-driver \ mesa \ libvpx \ libxml2 \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index dd0bc8e..5216e11 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -238,8 +238,6 @@ RUN \ libdvbcsa \ libhdhomerun-libs \ libva \ - libva-intel-driver \ - intel-media-driver \ mesa \ libvpx \ libxml2 \ From 3f60a0285baa9ad49d9d61aa78fc93b54f9d99f7 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 23 Feb 2023 16:50:24 +0000 Subject: [PATCH 3/5] Remove more unsupported arm packages --- Dockerfile.aarch64 | 4 ---- Dockerfile.armhf | 4 ---- 2 files changed, 8 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 79e40d2..8d88a6e 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -33,7 +33,6 @@ RUN \ libgcrypt-dev \ libhdhomerun-dev \ libtool \ - libva-dev \ libvpx-dev \ libxml2-dev \ libxslt-dev \ @@ -169,7 +168,6 @@ RUN \ --enable-libav \ --enable-pngquant \ --enable-trace \ - --enable-vaapi \ --infodir=/usr/share/info \ --localstatedir=/var \ --mandir=/usr/share/man \ @@ -237,8 +235,6 @@ RUN \ gnu-libiconv \ libdvbcsa \ libhdhomerun-libs \ - libva \ - mesa \ libvpx \ libxml2 \ libxslt \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 5216e11..a50fc67 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -33,7 +33,6 @@ RUN \ libgcrypt-dev \ libhdhomerun-dev \ libtool \ - libva-dev \ libvpx-dev \ libxml2-dev \ libxslt-dev \ @@ -169,7 +168,6 @@ RUN \ --enable-libav \ --enable-pngquant \ --enable-trace \ - --enable-vaapi \ --infodir=/usr/share/info \ --localstatedir=/var \ --mandir=/usr/share/man \ @@ -237,8 +235,6 @@ RUN \ gnu-libiconv \ libdvbcsa \ libhdhomerun-libs \ - libva \ - mesa \ libvpx \ libxml2 \ libxslt \ From 87da9eae9bdbf8d7cdabb9264332bb480850cf8b Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 23 Feb 2023 17:08:03 +0000 Subject: [PATCH 4/5] Try not building armhf --- Dockerfile.aarch64 | 4 +++ Jenkinsfile | 69 +++++----------------------------------------- jenkins-vars.yml | 1 + 3 files changed, 12 insertions(+), 62 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8d88a6e..79e40d2 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -33,6 +33,7 @@ RUN \ libgcrypt-dev \ libhdhomerun-dev \ libtool \ + libva-dev \ libvpx-dev \ libxml2-dev \ libxslt-dev \ @@ -168,6 +169,7 @@ RUN \ --enable-libav \ --enable-pngquant \ --enable-trace \ + --enable-vaapi \ --infodir=/usr/share/info \ --localstatedir=/var \ --mandir=/usr/share/man \ @@ -235,6 +237,8 @@ RUN \ gnu-libiconv \ libdvbcsa \ libhdhomerun-libs \ + libva \ + mesa \ libvpx \ libxml2 \ libxslt \ diff --git a/Jenkinsfile b/Jenkinsfile index 37da88e..fee5332 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -167,7 +167,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } @@ -190,7 +190,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } @@ -213,7 +213,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } else { env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST } @@ -499,40 +499,6 @@ pipeline { --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } - stage('Build ARMHF') { - agent { - label 'ARMHF' - } - steps { - echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' - sh "docker build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-tvheadend\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-tvheadend\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Tvheadend\" \ - --label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - retry(5) { - sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - } - sh '''docker rmi \ - ${IMAGE}:arm32v7-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :''' - } - } stage('Build ARM64') { agent { label 'ARM64' @@ -696,9 +662,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi docker run --rm \ @@ -814,8 +778,6 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi @@ -823,47 +785,35 @@ pipeline { docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-latest - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-latest - docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-latest docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker manifest push --purge ${MANIFESTIMAGE}:latest || : - docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest - docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 if [ -n "${SEMVER}" ]; then docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi docker manifest push --purge ${MANIFESTIMAGE}:latest @@ -881,21 +831,16 @@ pipeline { ${DELETEIMAGE}:amd64-${META_TAG} \ ${DELETEIMAGE}:amd64-latest \ ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-latest \ - ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ ${DELETEIMAGE}:arm64v8-${META_TAG} \ ${DELETEIMAGE}:arm64v8-latest \ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : if [ -n "${SEMVER}" ]; then docker rmi \ ${DELETEIMAGE}:amd64-${SEMVER} \ - ${DELETEIMAGE}:arm32v7-${SEMVER} \ ${DELETEIMAGE}:arm64v8-${SEMVER} || : fi done docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : ''' } diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 45af6ad..7556076 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -6,6 +6,7 @@ external_type: github_commit release_type: stable release_tag: latest ls_branch: master +build_armhf: false repo_vars: - EXT_GIT_BRANCH = 'master' - EXT_USER = 'tvheadend' From 79481854219e79fc5770799797b3b426bb5c4a98 Mon Sep 17 00:00:00 2001 From: TheSpad Date: Thu, 23 Feb 2023 17:57:09 +0000 Subject: [PATCH 5/5] Drop armhf --- .github/ISSUE_TEMPLATE/issue.bug.yml | 1 - Dockerfile.armhf | 315 --------------------------- README.md | 4 +- readme-vars.yml | 3 +- 4 files changed, 3 insertions(+), 320 deletions(-) delete mode 100644 Dockerfile.armhf diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index 59a10f5..ce3d19a 100755 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -53,7 +53,6 @@ body: options: - x86-64 - arm64 - - armhf validations: required: true - type: textarea diff --git a/Dockerfile.armhf b/Dockerfile.armhf deleted file mode 100644 index a50fc67..0000000 --- a/Dockerfile.armhf +++ /dev/null @@ -1,315 +0,0 @@ -# syntax=docker/dockerfile:1 - -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17 as buildstage -############## build stage ############## - -# package versions -ARG ARGTABLE_VER="2.13" -ARG XMLTV_VER="v1.0.0" - -# environment settings -ARG TZ="Etc/UTC" -ARG TVHEADEND_COMMIT -ENV HOME="/config" - -# copy patches -COPY patches/ /tmp/patches/ - -RUN \ - echo "**** install build packages ****" && \ - apk add --no-cache \ - autoconf \ - automake \ - bsd-compat-headers \ - build-base \ - cmake \ - ffmpeg4-dev \ - file \ - findutils \ - gettext-dev \ - git \ - gnu-libiconv-dev \ - libdvbcsa-dev \ - libgcrypt-dev \ - libhdhomerun-dev \ - libtool \ - libvpx-dev \ - libxml2-dev \ - libxslt-dev \ - linux-headers \ - openssl-dev \ - opus-dev \ - patch \ - pcre2-dev \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-dev \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - pkgconf \ - pngquant \ - python3 \ - sdl2-dev \ - uriparser-dev \ - x264-dev \ - x265-dev \ - zlib-dev - -RUN \ - echo "**** remove musl iconv.h and replace with gnu-iconv.h ****" && \ - rm -rf /usr/include/iconv.h && \ - cp /usr/include/gnu-libiconv/iconv.h /usr/include/iconv.h - -RUN \ - echo "**** install perl modules for xmltv ****" && \ - curl -s -L https://cpanmin.us | perl - App::cpanminus && \ - cpanm --installdeps /tmp/patches - -RUN \ - echo "**** compile XMLTV ****" && \ - git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \ - cd /tmp/xmltv && \ - git checkout ${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 -j 2 && \ - make test && \ - make DESTDIR=/tmp/xmltv-build install - -RUN \ - echo "**** compile tvheadend ****" && \ - if [ -z ${TVHEADEND_COMMIT+x} ]; then \ - TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/master \ - | jq -r '. | .sha'); \ - fi && \ - mkdir -p \ - /tmp/tvheadend && \ - git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ - cd /tmp/tvheadend && \ - git checkout ${TVHEADEND_COMMIT} && \ - ./configure \ - `#Encoding` \ - --disable-ffmpeg_static \ - --disable-libfdkaac_static \ - --disable-libtheora_static \ - --disable-libopus_static \ - --disable-libvorbis_static \ - --disable-libvpx_static \ - --disable-libx264_static \ - --disable-libx265_static \ - --disable-libfdkaac \ - --enable-libopus \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libx264 \ - --enable-libx265 \ - \ - `#Options` \ - --disable-avahi \ - --disable-dbus_1 \ - --disable-bintray_cache \ - --disable-execinfo \ - --disable-hdhomerun_static \ - --enable-hdhomerun_client \ - --enable-libav \ - --enable-pngquant \ - --enable-trace \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --prefix=/usr \ - --python=python3 \ - --sysconfdir=/config && \ - make -j 2 && \ - make DESTDIR=/tmp/tvheadend-build install - -RUN \ - echo "**** compile argtable2 ****" && \ - ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ - mkdir -p \ - /tmp/argtable && \ - curl -s -o \ - /tmp/argtable-src.tar.gz -L \ - "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ - tar xf \ - /tmp/argtable-src.tar.gz -C \ - /tmp/argtable --strip-components=1 && \ - cp /tmp/patches/config.* /tmp/argtable && \ - cd /tmp/argtable && \ - ./configure \ - --prefix=/usr && \ - make -j 2 && \ - make check && \ - make DESTDIR=/tmp/argtable-build install && \ - echo "**** copy to /usr for comskip dependency ****" && \ - cp -pr /tmp/argtable-build/usr/* /usr/ - -RUN \ - echo "***** compile comskip ****" && \ - git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \ - cd /tmp/comskip && \ - ./autogen.sh && \ - ./configure \ - --bindir=/usr/bin \ - --sysconfdir=/config/comskip && \ - make -j 2 && \ - make DESTDIR=/tmp/comskip-build install - -############## picons stage ############## -# built by https://github.com/linuxserver/picons-builder -FROM ghcr.io/linuxserver/picons-builder as piconsstage - - -############## runtime stage ############## -FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17 - -# set version label -ARG BUILD_DATE -ARG VERSION -LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="saarg" - -# environment settings -ENV HOME="/config" - -RUN \ - echo "**** install runtime packages ****" && \ - apk add --no-cache \ - bsd-compat-headers \ - ffmpeg4 \ - ffmpeg4-libs \ - gnu-libiconv \ - libdvbcsa \ - libhdhomerun-libs \ - libvpx \ - libxml2 \ - libxslt \ - linux-headers \ - opus \ - pcre2 \ - perl \ - perl-archive-zip \ - perl-boolean \ - perl-capture-tiny \ - perl-cgi \ - perl-compress-raw-zlib \ - perl-date-manip \ - perl-datetime \ - perl-datetime-format-strptime \ - perl-datetime-timezone \ - perl-dbd-sqlite \ - perl-dbi \ - perl-digest-sha1 \ - perl-doc \ - perl-file-slurp \ - perl-file-temp \ - perl-file-which \ - perl-getopt-long \ - perl-html-parser \ - perl-html-tree \ - perl-http-cookies \ - perl-io \ - perl-io-html \ - perl-io-socket-ssl \ - perl-io-stringy \ - perl-json \ - perl-json-xs \ - perl-libwww \ - perl-lingua-en-numbers-ordinate \ - perl-lingua-preferred \ - perl-list-moreutils \ - perl-lwp-useragent-determined \ - perl-module-build \ - perl-module-pluggable \ - perl-net-ssleay \ - perl-parse-recdescent \ - perl-path-class \ - perl-scalar-list-utils \ - perl-term-progressbar \ - perl-term-readkey \ - perl-test-exception \ - perl-test-requires \ - perl-timedate \ - perl-try-tiny \ - perl-unicode-string \ - perl-xml-libxml \ - perl-xml-libxslt \ - perl-xml-parser \ - perl-xml-sax \ - perl-xml-treepp \ - perl-xml-twig \ - perl-xml-writer \ - py3-requests \ - python3 \ - uriparser \ - x264 \ - x265 \ - zlib - -# copy local files and buildstage artifacts -COPY --from=buildstage /tmp/argtable-build/usr/ /usr/ -COPY --from=buildstage /tmp/comskip-build/usr/ /usr/ -COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/ -COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/ -COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/ -COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/ -COPY --from=piconsstage /picons.tar.bz2 /picons.tar.bz2 -COPY root/ / - -# ports and volumes -EXPOSE 9981 9982 -VOLUME /config diff --git a/README.md b/README.md index d08e2df..5a59fb6 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ The architectures supported by this image are: | :----: | :----: | ---- | | x86-64 | ✅ | amd64-\ | | arm64 | ✅ | arm64v8-\ | -| armhf | ✅ | arm32v7-\ | +| armhf | ❌ | | ## Application Setup @@ -301,7 +301,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions -* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3. +* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3, drop armhf support. * **31.08.22:** - Update sample env vars and how RUN_OPTS are handled. * **19.08.22:** - Switch to new picons builder. * **16.04.22:** - Added URL XMLTV grabber. diff --git a/readme-vars.yml b/readme-vars.yml index e85a591..b328962 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -15,7 +15,6 @@ project_blurb_optional_extras_enabled: false available_architectures: - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - - { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} # development version # development version @@ -124,7 +123,7 @@ app_setup_block: | # changelog changelogs: - - { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3." } + - { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3, drop armhf support." } - { date: "31.08.22:", desc: "Update sample env vars and how RUN_OPTS are handled." } - { date: "19.08.22:", desc: "Switch to new picons builder." } - { date: "16.04.22:", desc: "Added URL XMLTV grabber." }