Compare commits

...

22 Commits
87 ... 129

Author SHA1 Message Date
sparklyballs
3dbea6d9a5 Merge pull request #63 from linuxserver/3.7
bump alpine 3.7, fix continuation lines, linting fixes
2017-12-11 13:52:46 +00:00
sparklyballs
d18eb4297c Update Dockerfile 2017-12-11 11:36:34 +00:00
sparklyballs
53ba6baa56 bump alpine 3.7, fix continuation lines, linting fixes 2017-12-11 11:19:37 +00:00
sparklyballs
0d9c4b8394 bump alpine 3.7, fix continuation lines, linting fixes 2017-12-11 11:16:09 +00:00
aptalca
3a054b8a57 Merge pull request #62 from linuxserver/x264_fix
add codec dependencies
2017-09-01 21:23:11 -04:00
sparklyballs
6d486e90d0 add codec dependencies 2017-09-02 00:16:44 +01:00
aptalca
4aeef6554b Merge pull request #60 from linuxserver/config_patches
increased uniformity across all archs
2017-07-13 20:27:40 -04:00
sparklyballs
2e0e6d028c increased uniformity across all archs 2017-07-13 20:17:36 +01:00
sparklyballs
d4fb416e62 correct label tags 2017-07-12 15:51:58 +01:00
sparklyballs
51f45f4d30 update of README with badges for new ci 2017-07-11 09:36:12 +01:00
sparklyballs
6a4d853235 Merge pull request #58 from linuxserver/readme-master
Update README with full path for comskip
2017-07-09 12:25:44 +01:00
tobbenb
0b1069a088 Update README with full path for comskip 2017-07-08 12:26:54 +02:00
sparklyballs
c9181d7131 Update README.md 2017-07-03 12:22:17 +01:00
j0nnymoe
9a3b13ad27 Merge pull request #56 from linuxserver/readme
Update README with new branch
2017-07-03 12:15:49 +01:00
sparklyballs
bdc1f87ac6 tidy up dockerfile edit README with changes to release branch 2017-07-03 12:05:15 +01:00
sparklyballs
e4e07121af tidy up Dockerfile and use only one install run for runtime packages 2017-07-03 11:34:18 +01:00
sparklyballs
0e8ea6063c change branch for release 4.2 2017-07-02 16:03:09 +01:00
tobbenb
9b161c87f9 Update README with new branch 2017-07-02 16:50:26 +02:00
saarg
ec6ff1a886 Merge pull request #54 from linuxserver/alpine_3.6
bump to alpine 3.6
2017-05-28 16:12:13 +02:00
sparklyballs
87d4b9c811 remove unneeded ffmpeg variable 2017-05-28 02:34:06 +01:00
sparklyballs
0d53fe87a0 add pcre2 dependency 2017-05-27 23:52:54 +01:00
sparklyballs
314f59a89f bump to alpine 3.6 2017-05-27 23:37:20 +01:00
5 changed files with 3389 additions and 58 deletions

View File

@@ -1,16 +1,15 @@
FROM lsiobase/alpine:3.5 FROM lsiobase/alpine:3.7
MAINTAINER saarg
# package version
ARG ARGTABLE_VER="2.13"
ARG FFMPEG_VER="ffmpeg"
ARG TZ="Europe/Oslo"
ARG XMLTV_VER="0.5.69"
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
LABEL build_version="Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="saarg"
# package versions
ARG ARGTABLE_VER="2.13"
ARG TZ="Europe/Oslo"
ARG XMLTV_VER="0.5.69"
# environment settings # environment settings
ENV HOME="/config" ENV HOME="/config"
@@ -18,50 +17,61 @@ ENV HOME="/config"
# copy patches # copy patches
COPY patches/ /tmp/patches/ COPY patches/ /tmp/patches/
# install build packages
RUN \ RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \ apk add --no-cache --virtual=build-dependencies \
autoconf \ autoconf \
automake \ automake \
cmake \ cmake \
coreutils \ ffmpeg-dev \
${FFMPEG_VER}-dev \
file \ file \
findutils \ findutils \
g++ \ g++ \
gcc \ gcc \
gettext-dev \ gettext-dev \
git \ git \
libhdhomerun-dev \
libgcrypt-dev \ libgcrypt-dev \
libhdhomerun-dev \
libressl-dev \
libtool \ libtool \
libvpx-dev \
libxml2-dev \ libxml2-dev \
libxslt-dev \ libxslt-dev \
make \ make \
mercurial \ mercurial \
libressl-dev \ opus-dev \
patch \ patch \
pcre2-dev \
perl-dev \ perl-dev \
pkgconf \ pkgconf \
sdl-dev \ sdl-dev \
uriparser-dev \ uriparser-dev \
wget \ wget \
x264-dev \
x265-dev \
zlib-dev && \ zlib-dev && \
apk add --no-cache --virtual=build-dependencies \ apk add --no-cache --virtual=build-dependencies \
--repository http://nl.alpinelinux.org/alpine/edge/testing \ --repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv-dev && \ gnu-libiconv-dev && \
echo "**** install runtime packages ****" && \
# add runtime dependencies required in build stage
apk add --no-cache \ apk add --no-cache \
bsd-compat-headers \ bsd-compat-headers \
bzip2 \ bzip2 \
curl \ curl \
ffmpeg \
ffmpeg-libs \
gzip \ gzip \
libcrypto1.0 \ libcrypto1.0 \
libcurl \ libcurl \
libssl1.0 \ libhdhomerun-libs \
linux-headers \
libressl \ libressl \
libssl1.0 \
libvpx \
libxml2 \
libxslt \
linux-headers \
opus \
pcre2 \
perl \ perl \
perl-archive-zip \ perl-archive-zip \
perl-boolean \ perl-boolean \
@@ -76,6 +86,7 @@ RUN \
perl-dbd-sqlite \ perl-dbd-sqlite \
perl-dbi \ perl-dbi \
perl-digest-sha1 \ perl-digest-sha1 \
perl-doc \
perl-file-slurp \ perl-file-slurp \
perl-file-temp \ perl-file-temp \
perl-file-which \ perl-file-which \
@@ -117,19 +128,21 @@ RUN \
tar \ tar \
uriparser \ uriparser \
wget \ wget \
x264 \
x265 \
zlib && \ zlib && \
apk add --no-cache \
# install perl modules for xmltv --repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv && \
echo "**** install perl modules for xmltv ****" && \
curl -L http://cpanmin.us | perl - App::cpanminus && \ curl -L http://cpanmin.us | perl - App::cpanminus && \
cpanm --installdeps /tmp/patches && \ cpanm --installdeps /tmp/patches && \
echo "**** build dvb-apps ****" && \
# build dvb-apps
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \ hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
cd /tmp/dvb-apps && \ cd /tmp/dvb-apps && \
make -C lib && \ make -C lib && \
make -C lib install && \ make -C lib install && \
echo "**** build tvheadend ****" && \
# build tvheadend
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \ git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
cd /tmp/tvheadend && \ cd /tmp/tvheadend && \
./configure \ ./configure \
@@ -149,58 +162,68 @@ RUN \
--mandir=/usr/share/man \ --mandir=/usr/share/man \
--prefix=/usr \ --prefix=/usr \
--sysconfdir=/config && \ --sysconfdir=/config && \
make && \ echo "**** attempt to set number of cores available for make to use ****" && \
set -ex && \
CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \
if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \
: ;\
if [ "$CPU_CORES" -gt 7 ]; then \
CPU_CORES=$(( CPU_CORES - 3 )); \
elif [ "$CPU_CORES" -gt 5 ]; then \
CPU_CORES=$(( CPU_CORES - 2 )); \
elif [ "$CPU_CORES" -gt 3 ]; then \
CPU_CORES=$(( CPU_CORES - 1 )); fi \
else CPU_CORES="1"; fi && \
make -j $CPU_CORES && \
make install && \ make install && \
echo "**** build XMLTV ****" && \
# build XMLTV curl -o \
curl -o /tmp/xmtltv-src.tar.bz2 -L \ /tmp/xmtltv-src.tar.bz2 -L \
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \ "http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
tar xf /tmp/xmtltv-src.tar.bz2 -C \ tar xf \
/tmp/xmtltv-src.tar.bz2 -C \
/tmp --strip-components=1 && \ /tmp --strip-components=1 && \
cd "/tmp/xmltv-${XMLTV_VER}" && \ cd "/tmp/xmltv-${XMLTV_VER}" && \
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \ echo "**** Perl 5.26 fixes for XMTLV ****" && \
make && \ 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 $CPU_CORES && \
make test && \ make test && \
make install && \ make install && \
echo "**** build argtable2 ****" && \
# build argtable2
ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \ ARGTABLE_VER1="${ARGTABLE_VER//./-}" && \
mkdir -p \ mkdir -p \
/tmp/argtable && \ /tmp/argtable && \
curl -o \ curl -o \
/tmp/argtable-src.tar.gz -L \ /tmp/argtable-src.tar.gz -L \
"https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \ "https://sourceforge.net/projects/argtable/files/argtable/argtable-${ARGTABLE_VER}/argtable${ARGTABLE_VER1}.tar.gz" && \
tar xf /tmp/argtable-src.tar.gz -C \ tar xf \
/tmp/argtable-src.tar.gz -C \
/tmp/argtable --strip-components=1 && \ /tmp/argtable --strip-components=1 && \
cp /tmp/patches/config.* /tmp/argtable && \
cd /tmp/argtable && \ cd /tmp/argtable && \
./configure \ ./configure \
--prefix=/usr && \ --prefix=/usr && \
make && \ make -j $CPU_CORES && \
make check && \ make check && \
make install && \ make install && \
echo "***** build comskip ****" && \
# build comskip
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \ git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
cd /tmp/comskip && \ cd /tmp/comskip && \
./autogen.sh && \ ./autogen.sh && \
./configure \ ./configure \
--bindir=/usr/bin \ --bindir=/usr/bin \
--sysconfdir=/config/comskip && \ --sysconfdir=/config/comskip && \
make && \ make -j $CPU_CORES && \
set +ex && \
make install && \ make install && \
echo "***** cleanup ****" && \
# install runtime packages
apk add --no-cache \
${FFMPEG_VER} \
${FFMPEG_VER}-libs \
libhdhomerun-libs \
libxml2 \
libxslt && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv && \
# cleanup
apk del --purge \ apk del --purge \
build-dependencies && \ build-dependencies && \
rm -rf \ rm -rf \

View File

@@ -13,8 +13,7 @@ The [LinuxServer.io][linuxserverurl] team brings you another container release f
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation! * [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
# linuxserver/tvheadend # linuxserver/tvheadend
[![](https://images.microbadger.com/badges/version/linuxserver/tvheadend.svg)](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/tvheadend.svg)](http://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/tvheadend.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/tvheadend.svg)][hub][![Build Status](http://jenkins.linuxserver.io:8080/buildStatus/icon?job=Dockers/LinuxServer.io/linuxserver-tvheadend)](http://jenkins.linuxserver.io:8080/job/Dockers/job/LinuxServer.io/job/linuxserver-tvheadend/) [![](https://images.microbadger.com/badges/version/linuxserver/tvheadend.svg)](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/tvheadend.svg)](https://microbadger.com/images/linuxserver/tvheadend "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/tvheadend.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/tvheadend.svg)][hub][![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Builders/x86-64/x86-64-tvheadend)](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-tvheadend/)
[Tvheadend](https://www.tvheadend.org/) 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](https://www.tvheadend.org/) 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. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming.
@@ -40,13 +39,14 @@ docker create \
The --device=/dev/dvb is only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out. The --device=/dev/dvb is only needed if you want to pass through a DVB card to the container. If you use IPTV or HDHomeRun you can leave it out.
You can choose between ,using tags, latest (default, and no tag required or a specific stable version of tvheadend. You can choose between ,using tags, latest (default, and no tag required or a specific release branch of tvheadend.
Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:stable-4.2.1 Add one of the tags, if required, to the linuxserver/tvheadend line of the run/create command in the following format, linuxserver/tvheadend:release-4.2
#### Tags #### Tags
+ **stable-4.2.1** : latest stable version. + **release-4.2** : latest release from 4.2 branch. Freshly built every friday night uk time.
+ **stable-4.2.1** : old stable version. Will not be updated anymore!
+ **stable-4.0.9** : old stable version. Will not be updated anymore! + **stable-4.0.9** : old stable version. Will not be updated anymore!
#### Host vs. Bridge #### Host vs. Bridge
@@ -122,7 +122,7 @@ This container comes with Comskip for commercial flagging of recordings. This yo
Go to Configuration --> Recording. Change the view level to advanced in the top right corner, and add the below in the Post-processor command field. Go to Configuration --> Recording. Change the view level to advanced in the top right corner, and add the below in the Post-processor command field.
``` ```
comskip --ini=/config/comskip/comskip.ini "%f" /usr/bin/comskip --ini=/config/comskip/comskip.ini "%f"
``` ```
Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip](http://www.kaashoek.com/comskip/) homepage for tuning of the ini file. Now comskip will run after each recording is finished. You will find comskip.ini in the comskip folder of your /config volume mapping. See the [Comskip](http://www.kaashoek.com/comskip/) homepage for tuning of the ini file.
@@ -160,6 +160,12 @@ You need to enable minimum advanced view level to see the picons options.
## Versions ## Versions
+ **11.12.2017:** Rebase to alpine 3.7, linting fixes.
+ **02.09.2017:** Add codec dependencies.
+ **13.07.2017:** Increase uniformity across all archs.
+ **08.07.2017:** Update README with full path for comskip.
+ **02.07.2017:** Move to one branch for all 4.2 releases.
+ **27.05.2017:** Rebase to alpine 3.6.
+ **01.05.2017:** Update to tvheadend 4.2.1 stable. + **01.05.2017:** Update to tvheadend 4.2.1 stable.
+ **18.04.2017:** Use repo version of gnu-libiconv rather than compiling. + **18.04.2017:** Use repo version of gnu-libiconv rather than compiling.
+ **09.04.2017:** Chain cpanm installs in one block and use --installdeps. + **09.04.2017:** Chain cpanm installs in one block and use --installdeps.

1466
patches/config.guess vendored Normal file

File diff suppressed because it is too large Load Diff

1836
patches/config.sub vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
RUN_ARRAY=(${RUN_OPTS}) IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS"
exec \ exec \
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}" s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"