Compare commits

...

18 Commits
96 ... 133

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
5 changed files with 3382 additions and 54 deletions

View File

@@ -1,15 +1,15 @@
FROM lsiobase/alpine:3.6
MAINTAINER saarg
# package version
ARG ARGTABLE_VER="2.13"
ARG TZ="Europe/Oslo"
ARG XMLTV_VER="0.5.69"
FROM lsiobase/alpine:3.7
# set version label
ARG BUILD_DATE
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
ENV HOME="/config"
@@ -17,13 +17,12 @@ ENV HOME="/config"
# copy patches
COPY patches/ /tmp/patches/
# install build packages
RUN \
echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \
autoconf \
automake \
cmake \
coreutils \
ffmpeg-dev \
file \
findutils \
@@ -31,14 +30,16 @@ RUN \
gcc \
gettext-dev \
git \
libhdhomerun-dev \
libgcrypt-dev \
libhdhomerun-dev \
libressl-dev \
libtool \
libvpx-dev \
libxml2-dev \
libxslt-dev \
make \
mercurial \
libressl-dev \
opus-dev \
patch \
pcre2-dev \
perl-dev \
@@ -46,22 +47,30 @@ RUN \
sdl-dev \
uriparser-dev \
wget \
x264-dev \
x265-dev \
zlib-dev && \
apk add --no-cache --virtual=build-dependencies \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv-dev && \
# add runtime dependencies required in build stage
echo "**** install runtime packages ****" && \
apk add --no-cache \
bsd-compat-headers \
bzip2 \
curl \
ffmpeg \
ffmpeg-libs \
gzip \
libcrypto1.0 \
libcurl \
libhdhomerun-libs \
libressl \
libssl1.0 \
libvpx \
libxml2 \
libxslt \
linux-headers \
opus \
pcre2 \
perl \
perl-archive-zip \
@@ -119,19 +128,21 @@ RUN \
tar \
uriparser \
wget \
x264 \
x265 \
zlib && \
# install perl modules for xmltv
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv && \
echo "**** install perl modules for xmltv ****" && \
curl -L http://cpanmin.us | perl - App::cpanminus && \
cpanm --installdeps /tmp/patches && \
# build dvb-apps
echo "**** build dvb-apps ****" && \
hg clone http://linuxtv.org/hg/dvb-apps /tmp/dvb-apps && \
cd /tmp/dvb-apps && \
make -C lib && \
make -C lib install && \
# build tvheadend
echo "**** build tvheadend ****" && \
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
cd /tmp/tvheadend && \
./configure \
@@ -151,58 +162,68 @@ RUN \
--mandir=/usr/share/man \
--prefix=/usr \
--sysconfdir=/config && \
make && \
echo "**** attempt to set number of cores available for make to use ****" && \
set -ex && \
CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \
if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \
: ;\
if [ "$CPU_CORES" -gt 7 ]; then \
CPU_CORES=$(( CPU_CORES - 3 )); \
elif [ "$CPU_CORES" -gt 5 ]; then \
CPU_CORES=$(( CPU_CORES - 2 )); \
elif [ "$CPU_CORES" -gt 3 ]; then \
CPU_CORES=$(( CPU_CORES - 1 )); fi \
else CPU_CORES="1"; fi && \
make -j $CPU_CORES && \
make install && \
# build XMLTV
curl -o /tmp/xmtltv-src.tar.bz2 -L \
echo "**** build XMLTV ****" && \
curl -o \
/tmp/xmtltv-src.tar.bz2 -L \
"http://kent.dl.sourceforge.net/project/xmltv/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
tar xf /tmp/xmtltv-src.tar.bz2 -C \
tar xf \
/tmp/xmtltv-src.tar.bz2 -C \
/tmp --strip-components=1 && \
cd "/tmp/xmltv-${XMLTV_VER}" && \
/bin/echo -e "yes" | perl Makefile.PL PREFIX=/usr/ INSTALLDIRS=vendor && \
make && \
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 $CPU_CORES && \
make test && \
make install && \
# build argtable2
echo "**** build 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 \
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 && \
make -j $CPU_CORES && \
make check && \
make install && \
# build comskip
echo "***** build comskip ****" && \
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
cd /tmp/comskip && \
./autogen.sh && \
./configure \
--bindir=/usr/bin \
--sysconfdir=/config/comskip && \
make && \
make -j $CPU_CORES && \
set +ex && \
make install && \
# install runtime packages
apk add --no-cache \
ffmpeg \
ffmpeg-libs \
libhdhomerun-libs \
libxml2 \
libxslt && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
gnu-libiconv && \
# cleanup
echo "***** cleanup ****" && \
apk del --purge \
build-dependencies && \
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!
# 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 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.
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
+ **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!
#### 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.
```
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.
@@ -160,6 +160,11 @@ You need to enable minimum advanced view level to see the picons options.
## Versions
+ **11.12.2017:** Rebase to alpine 3.7, linting fixes.
+ **02.09.2017:** Add codec dependencies.
+ **13.07.2017:** Increase uniformity across all archs.
+ **08.07.2017:** Update README with full path for comskip.
+ **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.
+ **18.04.2017:** Use repo version of gnu-libiconv rather than compiling.

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
RUN_ARRAY=(${RUN_OPTS})
IFS=" " read -r -a RUN_ARRAY <<< "$RUN_OPTS"
exec \
s6-setuidgid abc /usr/bin/tvheadend -C -c /config "${RUN_ARRAY[@]}"