forked from Ivasoft/docker-tvheadend
Initial j0nny test branch commit
This commit is contained in:
474
Dockerfile
474
Dockerfile
@@ -1,227 +1,4 @@
|
||||
FROM lsiobase/alpine:3.12 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG XMLTV_VER="v0.6.1"
|
||||
|
||||
# environment settings
|
||||
ARG TZ="Europe/Oslo"
|
||||
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 \
|
||||
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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
sdl-dev \
|
||||
tar \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
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 -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 "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
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-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 \
|
||||
--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/
|
||||
|
||||
RUN \
|
||||
echo "***** compile comskip ****" && \
|
||||
git clone git://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
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:3.12
|
||||
FROM lsiobase/ubuntu:bionic
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -229,111 +6,174 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="saarg"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config"
|
||||
# package version
|
||||
ARG TVH_VER="master"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# Environment settings
|
||||
ENV HOME="/config"
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add dependencies
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
apt-get update && \
|
||||
apt-get upgrade -qy && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gnu-libiconv \
|
||||
cmake \
|
||||
dvb-apps \
|
||||
gettext \
|
||||
git \
|
||||
gzip \
|
||||
libcrypto1.1 \
|
||||
libcurl \
|
||||
libdvbcsa \
|
||||
libhdhomerun-libs \
|
||||
libssl1.1 \
|
||||
libva \
|
||||
libva-intel-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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
tar \
|
||||
uriparser \
|
||||
jq \
|
||||
libavahi-client-dev \
|
||||
libdvbcsa-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libva-dev \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
x264 \
|
||||
x265 \
|
||||
zlib && \
|
||||
zlib1g-dev && \
|
||||
echo "**** build tvheadend ****" && \
|
||||
mkdir -p \
|
||||
/tmp/patches && \
|
||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
curl -o \
|
||||
/tmp/patches/1348.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1348.patch" && \
|
||||
curl -o \
|
||||
/tmp/patches/1273.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1273.patch" && \
|
||||
patch -p1 -i /tmp/patches/1348.patch && \
|
||||
patch -p1 -i /tmp/patches/1273.patch && \
|
||||
./configure \
|
||||
`#Encoding` \
|
||||
--enable-ffmpeg_static \
|
||||
--disable-libav \
|
||||
\
|
||||
`#Options` \
|
||||
--disable-bintray_cache \
|
||||
--enable-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--enable-vaapi && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install dependencies for comskip ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev && \
|
||||
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 install && \
|
||||
echo "**** remove build dependencies ****" && \
|
||||
apt autoremove && \
|
||||
apt-get purge -qy --allow-remove-essential \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
cmake \
|
||||
gettext \
|
||||
git \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
libavahi-client-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
zlib1g-dev && \
|
||||
echo "**** install runtime dependencies ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-0 \
|
||||
libavahi-client3 \
|
||||
libavahi-common3 \
|
||||
libc6 \
|
||||
libdbus-1-3 \
|
||||
libssl1.0.0 \
|
||||
xmltv \
|
||||
zlib1g && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
|
||||
# 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 local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config
|
||||
VOLUME /config
|
||||
@@ -1,225 +1,4 @@
|
||||
FROM lsiobase/alpine:arm64v8-3.12 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG XMLTV_VER="v0.6.1"
|
||||
|
||||
# environment settings
|
||||
ARG TZ="Europe/Oslo"
|
||||
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 \
|
||||
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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
sdl-dev \
|
||||
tar \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
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 -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 "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
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-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-libav \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--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/
|
||||
|
||||
RUN \
|
||||
echo "***** compile comskip ****" && \
|
||||
git clone git://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
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:arm64v8-3.12
|
||||
FROM lsiobase/ubuntu:arm64v8-bionic
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -227,108 +6,174 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="saarg"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config"
|
||||
# package version
|
||||
ARG TVH_VER="master"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# Environment settings
|
||||
ENV HOME="/config"
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add dependencies
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
apt-get update && \
|
||||
apt-get upgrade -qy && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gnu-libiconv \
|
||||
cmake \
|
||||
dvb-apps \
|
||||
gettext \
|
||||
git \
|
||||
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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
tar \
|
||||
uriparser \
|
||||
jq \
|
||||
libavahi-client-dev \
|
||||
libdvbcsa-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libva-dev \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
x264 \
|
||||
x265 \
|
||||
zlib && \
|
||||
zlib1g-dev && \
|
||||
echo "**** build tvheadend ****" && \
|
||||
mkdir -p \
|
||||
/tmp/patches && \
|
||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
curl -o \
|
||||
/tmp/patches/1348.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1348.patch" && \
|
||||
curl -o \
|
||||
/tmp/patches/1273.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1273.patch" && \
|
||||
patch -p1 -i /tmp/patches/1348.patch && \
|
||||
patch -p1 -i /tmp/patches/1273.patch && \
|
||||
./configure \
|
||||
`#Encoding` \
|
||||
--enable-ffmpeg_static \
|
||||
--disable-libav \
|
||||
\
|
||||
`#Options` \
|
||||
--disable-bintray_cache \
|
||||
--enable-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--enable-vaapi && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install dependencies for comskip ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev && \
|
||||
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 install && \
|
||||
echo "**** remove build dependencies ****" && \
|
||||
apt autoremove && \
|
||||
apt-get purge -qy --allow-remove-essential \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
cmake \
|
||||
gettext \
|
||||
git \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
libavahi-client-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
zlib1g-dev && \
|
||||
echo "**** install runtime dependencies ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-0 \
|
||||
libavahi-client3 \
|
||||
libavahi-common3 \
|
||||
libc6 \
|
||||
libdbus-1-3 \
|
||||
libssl1.0.0 \
|
||||
xmltv \
|
||||
zlib1g && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
|
||||
# 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 local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config
|
||||
VOLUME /config
|
||||
469
Dockerfile.armhf
469
Dockerfile.armhf
@@ -1,225 +1,4 @@
|
||||
FROM lsiobase/alpine:arm32v7-3.12 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
ARG ARGTABLE_VER="2.13"
|
||||
ARG XMLTV_VER="v0.6.1"
|
||||
|
||||
# environment settings
|
||||
ARG TZ="Europe/Oslo"
|
||||
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 \
|
||||
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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
sdl-dev \
|
||||
tar \
|
||||
uriparser-dev \
|
||||
wget \
|
||||
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 -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 "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
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-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-libav \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--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/
|
||||
|
||||
RUN \
|
||||
echo "***** compile comskip ****" && \
|
||||
git clone git://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
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:arm32v7-3.12
|
||||
FROM lsiobase/ubuntu:arm32v7-bionic
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -227,108 +6,174 @@ ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="saarg"
|
||||
|
||||
# environment settings
|
||||
ENV HOME="/config"
|
||||
# package version
|
||||
ARG TVH_VER="master"
|
||||
ARG TVHEADEND_COMMIT
|
||||
|
||||
# Environment settings
|
||||
ENV HOME="/config"
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
|
||||
# add dependencies
|
||||
RUN \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
bsd-compat-headers \
|
||||
apt-get update && \
|
||||
apt-get upgrade -qy && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
bzip2 \
|
||||
curl \
|
||||
ffmpeg \
|
||||
ffmpeg-libs \
|
||||
gnu-libiconv \
|
||||
cmake \
|
||||
dvb-apps \
|
||||
gettext \
|
||||
git \
|
||||
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-data-dumper \
|
||||
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-compress \
|
||||
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 \
|
||||
python2 \
|
||||
tar \
|
||||
uriparser \
|
||||
jq \
|
||||
libavahi-client-dev \
|
||||
libdvbcsa-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
libva-dev \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
x264 \
|
||||
x265 \
|
||||
zlib && \
|
||||
zlib1g-dev && \
|
||||
echo "**** build tvheadend ****" && \
|
||||
mkdir -p \
|
||||
/tmp/patches && \
|
||||
if [ -z ${TVHEADEND_COMMIT+x} ]; then \
|
||||
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
|
||||
| jq -r '. | .sha'); \
|
||||
fi && \
|
||||
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
|
||||
cd /tmp/tvheadend && \
|
||||
git checkout ${TVHEADEND_COMMIT} && \
|
||||
curl -o \
|
||||
/tmp/patches/1348.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1348.patch" && \
|
||||
curl -o \
|
||||
/tmp/patches/1273.patch -L \
|
||||
"https://patch-diff.githubusercontent.com/raw/tvheadend/tvheadend/pull/1273.patch" && \
|
||||
patch -p1 -i /tmp/patches/1348.patch && \
|
||||
patch -p1 -i /tmp/patches/1273.patch && \
|
||||
./configure \
|
||||
`#Encoding` \
|
||||
--enable-ffmpeg_static \
|
||||
--disable-libav \
|
||||
\
|
||||
`#Options` \
|
||||
--disable-bintray_cache \
|
||||
--enable-hdhomerun_static \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-pngquant \
|
||||
--enable-trace \
|
||||
--enable-vaapi && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install dependencies for comskip ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev && \
|
||||
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 install && \
|
||||
echo "**** remove build dependencies ****" && \
|
||||
apt autoremove && \
|
||||
apt-get purge -qy --allow-remove-essential \
|
||||
autoconf \
|
||||
automake \
|
||||
binutils \
|
||||
build-essential \
|
||||
cmake \
|
||||
gettext \
|
||||
git \
|
||||
libargtable2-dev \
|
||||
libavformat-dev \
|
||||
libbz2-dev \
|
||||
libdca-dev \
|
||||
libfaac-dev \
|
||||
libfdk-aac-dev \
|
||||
libmp3lame-dev \
|
||||
libopencore-amrnb-dev \
|
||||
libopencore-amrwb-dev \
|
||||
libopus-dev \
|
||||
libsdl1.2-dev \
|
||||
libsoxr-dev \
|
||||
libspeex-dev \
|
||||
libva-dev \
|
||||
libxvidcore-dev \
|
||||
libvo-aacenc-dev \
|
||||
libvorbisenc2 \
|
||||
libvorbis-dev \
|
||||
libvpx-dev \
|
||||
libx264-dev \
|
||||
libx265-dev \
|
||||
libavahi-client-dev \
|
||||
libhdhomerun-dev \
|
||||
libiconv-hook-dev \
|
||||
libssl-dev \
|
||||
libtool \
|
||||
pkg-config \
|
||||
python \
|
||||
python3 \
|
||||
python3-requests \
|
||||
wget \
|
||||
zlib1g-dev && \
|
||||
echo "**** install runtime dependencies ****" && \
|
||||
apt-get install -qy --no-install-recommends \
|
||||
libargtable2-0 \
|
||||
libavahi-client3 \
|
||||
libavahi-common3 \
|
||||
libc6 \
|
||||
libdbus-1-3 \
|
||||
libssl1.0.0 \
|
||||
xmltv \
|
||||
zlib1g && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get clean && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* && \
|
||||
echo "**** Add Picons ****" && \
|
||||
mkdir -p /picons && \
|
||||
curl -o \
|
||||
/picons.tar.bz2 -L \
|
||||
https://lsio-ci.ams3.digitaloceanspaces.com/picons/picons.tar.bz2
|
||||
|
||||
# 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 local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config
|
||||
VOLUME /config
|
||||
80
Jenkinsfile
vendored
80
Jenkinsfile
vendored
@@ -26,7 +26,7 @@ pipeline {
|
||||
DOCKERHUB_IMAGE = 'linuxserver/tvheadend'
|
||||
DEV_DOCKERHUB_IMAGE = 'lsiodev/tvheadend'
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/tvheadend'
|
||||
DIST_IMAGE = 'alpine'
|
||||
DIST_IMAGE = 'ubuntu'
|
||||
MULTIARCH='true'
|
||||
CI='true'
|
||||
CI_WEB='true'
|
||||
@@ -44,7 +44,7 @@ pipeline {
|
||||
script{
|
||||
env.EXIT_STATUS = ''
|
||||
env.LS_RELEASE = sh(
|
||||
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':j0nny 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
returnStdout: true).trim()
|
||||
env.LS_RELEASE_NOTES = sh(
|
||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||
@@ -129,10 +129,10 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
// If this is a master build use live docker endpoints
|
||||
// If this is a j0nny build use live docker endpoints
|
||||
stage("Set ENV live build"){
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -152,7 +152,7 @@ pipeline {
|
||||
// If this is a dev build use dev docker endpoints
|
||||
stage("Set ENV dev build"){
|
||||
when {
|
||||
not {branch "master"}
|
||||
not {branch "j0nny"}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
@@ -223,7 +223,7 @@ pipeline {
|
||||
// Use helper containers to render templated files
|
||||
stage('Update-Templates') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression {
|
||||
env.CONTAINER_NAME != null
|
||||
@@ -234,7 +234,7 @@ pipeline {
|
||||
set -e
|
||||
TEMPDIR=$(mktemp -d)
|
||||
docker pull linuxserver/jenkins-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=j0nny -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||
@@ -242,7 +242,7 @@ pipeline {
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
git checkout -f j0nny
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
|
||||
@@ -274,7 +274,7 @@ pipeline {
|
||||
// Exit the build if the Templated files were just updated
|
||||
stage('Template-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'FILES_UPDATED', value: 'true'
|
||||
expression {
|
||||
@@ -397,7 +397,7 @@ pipeline {
|
||||
// Take the image we just built and dump package versions for comparison
|
||||
stage('Update-packages') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
@@ -425,7 +425,7 @@ pipeline {
|
||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f j0nny
|
||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||
cd ${TEMPDIR}/${LS_REPO}/
|
||||
wait
|
||||
@@ -449,7 +449,7 @@ pipeline {
|
||||
// Exit the build if the package file was just updated
|
||||
stage('PACKAGE-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -463,7 +463,7 @@ pipeline {
|
||||
// Exit the build if this is just a package check and there are no changes to push
|
||||
stage('PACKAGECHECK-exit') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
@@ -552,8 +552,8 @@ pipeline {
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||
docker push ${PUSHIMAGE}:latest
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:j0nny
|
||||
docker push ${PUSHIMAGE}:j0nny
|
||||
docker push ${PUSHIMAGE}:${META_TAG}
|
||||
done
|
||||
'''
|
||||
@@ -562,7 +562,7 @@ pipeline {
|
||||
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:${META_TAG} \
|
||||
${DELETEIMAGE}:latest || :
|
||||
${DELETEIMAGE}:j0nny || :
|
||||
done
|
||||
'''
|
||||
}
|
||||
@@ -599,51 +599,51 @@ pipeline {
|
||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-j0nny
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-j0nny
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-j0nny
|
||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:amd64-latest
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
||||
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 annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||
docker push ${MANIFESTIMAGE}:amd64-j0nny
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-j0nny
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-j0nny
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:j0nny || :
|
||||
docker manifest create ${MANIFESTIMAGE}:j0nny ${MANIFESTIMAGE}:amd64-j0nny ${MANIFESTIMAGE}:arm32v7-j0nny ${MANIFESTIMAGE}:arm64v8-j0nny
|
||||
docker manifest annotate ${MANIFESTIMAGE}:j0nny ${MANIFESTIMAGE}:arm32v7-j0nny --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:j0nny ${MANIFESTIMAGE}:arm64v8-j0nny --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 annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:j0nny
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||
done
|
||||
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
|
||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
||||
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:latest
|
||||
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:j0nny
|
||||
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
|
||||
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-latest
|
||||
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
|
||||
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-j0nny
|
||||
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-j0nny
|
||||
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
|
||||
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
|
||||
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
|
||||
docker push ${GITHUBIMAGE}:latest
|
||||
docker push ${GITHUBIMAGE}:j0nny
|
||||
docker push ${GITHUBIMAGE}:${META_TAG}
|
||||
docker push ${GITHUBIMAGE}:arm32v7-latest
|
||||
docker push ${GITHUBIMAGE}:arm64v8-latest
|
||||
docker push ${GITHUBIMAGE}:arm32v7-j0nny
|
||||
docker push ${GITHUBIMAGE}:arm64v8-j0nny
|
||||
'''
|
||||
}
|
||||
sh '''#! /bin/bash
|
||||
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||
${DELETEIMAGE}:amd64-latest \
|
||||
${DELETEIMAGE}:amd64-j0nny \
|
||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||
${DELETEIMAGE}:arm32v7-latest \
|
||||
${DELETEIMAGE}:arm32v7-j0nny \
|
||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||
${DELETEIMAGE}:arm64v8-latest || :
|
||||
${DELETEIMAGE}:arm64v8-j0nny || :
|
||||
done
|
||||
docker rmi \
|
||||
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||
@@ -655,7 +655,7 @@ pipeline {
|
||||
// If this is a public release tag it in the LS Github
|
||||
stage('Github-Tag-Push-Release') {
|
||||
when {
|
||||
branch "master"
|
||||
branch "j0nny"
|
||||
expression {
|
||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
@@ -667,14 +667,14 @@ pipeline {
|
||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||
"object": "'${COMMIT_SHA}'",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to j0nny",\
|
||||
"type": "commit",\
|
||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||
echo "Pushing New release for Tag"
|
||||
sh '''#! /bin/bash
|
||||
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq '. | .commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||
"target_commitish": "master",\
|
||||
"target_commitish": "j0nny",\
|
||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||
@@ -701,7 +701,7 @@ pipeline {
|
||||
set -e
|
||||
TEMPDIR=$(mktemp -d)
|
||||
docker pull linuxserver/jenkins-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=j0nny -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||
docker pull lsiodev/readme-sync
|
||||
docker run --rm=true \
|
||||
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
||||
|
||||
42
README.md
42
README.md
@@ -32,7 +32,7 @@ Find us at:
|
||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/j0nny/)
|
||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/tvheadend/latest/index.html)
|
||||
|
||||
[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.
|
||||
@@ -304,42 +304,4 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **02.06.20:** - Update to Alpine 3.12.
|
||||
* **27.12.19:** - Add requests and perl-json-xs package.
|
||||
* **27.12.19:** - Update to Alpine 3.11.
|
||||
* **02.10.19:** - Improve permission fixing on render & dvb devices.
|
||||
* **18.08.19:** - Add AMD drivers.
|
||||
* **02.08.19:** - Attempt to automatically fix permissions on /dev/dri and /dev/dvb.
|
||||
* **28.06.19:** - Rebasing to alpine 3.10.
|
||||
* **27.03.19:** - Rebase to Alpine 3.9, fix init logic to only chown once.
|
||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||
* **01.03.19:** - Bump xmltv to 0.6.1.
|
||||
* **28.02.19:** - add perl-lwp-useragent-determined.
|
||||
* **17.02.19:** - Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend.
|
||||
* **14.02.19:** - Add picons path to config.
|
||||
* **15.01.19:** - Add pipeline logic and multi arch.
|
||||
* **12.09.18:** - Rebase to alpine 3.8 and use buildstage type build.
|
||||
* **21.04.18:** - Add JSON::XS Perl package for grab_tv_huro.
|
||||
* **24.03.18:** - Add dvbcsa package.
|
||||
* **04.03.18:** - Use sourceforge master rather than mirror for xmltv.
|
||||
* **22.02.18:** - Add lost libva-intel-driver.
|
||||
* **21.02.18:** - Fix wrong version of iconv used.
|
||||
* **18.02.18:** - Add vaapi support, some cleanup and dropping of deprecated options.
|
||||
* **04.01.18:** - Deprecate cpu_core routine lack of scaling.
|
||||
* **11.12.17:** - Rebase to alpine 3.7, linting fixes.
|
||||
* **02.09.17:** - Add codec dependencies.
|
||||
* **13.07.17:** - Increase uniformity across all archs.
|
||||
* **08.07.17:** - Update README with full path for comskip.
|
||||
* **02.07.17:** - Move to one branch for all 4.2 releases.
|
||||
* **27.05.17:** - Rebase to alpine 3.6.
|
||||
* **01.05.17:** - Update to tvheadend 4.2.1 stable.
|
||||
* **18.04.17:** - Use repo version of gnu-libiconv rather than compiling.
|
||||
* **09.04.17:** - Chain cpanm installs in one block and use --installdeps.
|
||||
* **09.02.17:** - Perl changes, add picons file to gitignore and update XMLTV to 0.5.69.
|
||||
* **07.02.17:** - Add variable to add additional runtime paramters.
|
||||
* **05.02.17:** - Update to alpine 3.5 and change dvb-apps to only compile needed libs.
|
||||
* **14.11.16:** - Add picons from picons.xyz to /picons folder and add info to README.
|
||||
* **22.09.16:** - Fix broken tv_grab_wg, libs for xmltv and update README.
|
||||
* **18.09.16:** - Update XMLTV to 0.5.68 and update README.
|
||||
* **10.09.16:** - Add layer badges to README.
|
||||
* **05.09.16:** - Initial Release.
|
||||
* **24.09.20:** - Initial j0nny Release.
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
project_name: docker-tvheadend
|
||||
external_type: github_commit
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
release_tag: j0nny
|
||||
ls_branch: j0nny
|
||||
repo_vars:
|
||||
- EXT_GIT_BRANCH = 'master'
|
||||
- EXT_USER = 'tvheadend'
|
||||
@@ -17,7 +17,7 @@ repo_vars:
|
||||
- DOCKERHUB_IMAGE = 'linuxserver/tvheadend'
|
||||
- DEV_DOCKERHUB_IMAGE = 'lsiodev/tvheadend'
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/tvheadend'
|
||||
- DIST_IMAGE = 'alpine'
|
||||
- DIST_IMAGE = 'ubuntu'
|
||||
- MULTIARCH='true'
|
||||
- CI='true'
|
||||
- CI_WEB='true'
|
||||
|
||||
@@ -126,42 +126,4 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "02.06.20:", desc: "Update to Alpine 3.12." }
|
||||
- { date: "27.12.19:", desc: "Add requests and perl-json-xs package." }
|
||||
- { date: "27.12.19:", desc: "Update to Alpine 3.11." }
|
||||
- { date: "02.10.19:", desc: "Improve permission fixing on render & dvb devices." }
|
||||
- { date: "18.08.19:", desc: "Add AMD drivers." }
|
||||
- { date: "02.08.19:", desc: "Attempt to automatically fix permissions on /dev/dri and /dev/dvb." }
|
||||
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
|
||||
- { date: "27.03.19:", desc: "Rebase to Alpine 3.9, fix init logic to only chown once." }
|
||||
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||
- { date: "01.03.19:", desc: "Bump xmltv to 0.6.1." }
|
||||
- { date: "28.02.19:", desc: "add perl-lwp-useragent-determined." }
|
||||
- { date: "17.02.19:", desc: "Bump xmltv to 5.70, ensure version tagging works by cloning tvheadend." }
|
||||
- { date: "14.02.19:", desc: "Add picons path to config." }
|
||||
- { date: "15.01.19:", desc: "Add pipeline logic and multi arch." }
|
||||
- { date: "12.09.18:", desc: "Rebase to alpine 3.8 and use buildstage type build." }
|
||||
- { date: "21.04.18:", desc: "Add JSON::XS Perl package for grab_tv_huro." }
|
||||
- { date: "24.03.18:", desc: "Add dvbcsa package." }
|
||||
- { date: "04.03.18:", desc: "Use sourceforge master rather than mirror for xmltv." }
|
||||
- { date: "22.02.18:", desc: "Add lost libva-intel-driver." }
|
||||
- { date: "21.02.18:", desc: "Fix wrong version of iconv used." }
|
||||
- { date: "18.02.18:", desc: "Add vaapi support, some cleanup and dropping of deprecated options." }
|
||||
- { date: "04.01.18:", desc: "Deprecate cpu_core routine lack of scaling." }
|
||||
- { date: "11.12.17:", desc: "Rebase to alpine 3.7, linting fixes." }
|
||||
- { date: "02.09.17:", desc: "Add codec dependencies." }
|
||||
- { date: "13.07.17:", desc: "Increase uniformity across all archs." }
|
||||
- { date: "08.07.17:", desc: "Update README with full path for comskip." }
|
||||
- { date: "02.07.17:", desc: "Move to one branch for all 4.2 releases." }
|
||||
- { date: "27.05.17:", desc: "Rebase to alpine 3.6." }
|
||||
- { date: "01.05.17:", desc: "Update to tvheadend 4.2.1 stable." }
|
||||
- { date: "18.04.17:", desc: "Use repo version of gnu-libiconv rather than compiling." }
|
||||
- { date: "09.04.17:", desc: "Chain cpanm installs in one block and use --installdeps." }
|
||||
- { date: "09.02.17:", desc: "Perl changes, add picons file to gitignore and update XMLTV to 0.5.69." }
|
||||
- { date: "07.02.17:", desc: "Add variable to add additional runtime paramters." }
|
||||
- { date: "05.02.17:", desc: "Update to alpine 3.5 and change dvb-apps to only compile needed libs." }
|
||||
- { date: "14.11.16:", desc: "Add picons from picons.xyz to /picons folder and add info to README." }
|
||||
- { date: "22.09.16:", desc: "Fix broken tv_grab_wg, libs for xmltv and update README." }
|
||||
- { date: "18.09.16:", desc: "Update XMLTV to 0.5.68 and update README." }
|
||||
- { date: "10.09.16:", desc: "Add layer badges to README." }
|
||||
- { date: "05.09.16:", desc: "Initial Release." }
|
||||
- { date: "24.09.20:", desc: "Initial j0nny Release." }
|
||||
|
||||
Reference in New Issue
Block a user