Compare commits

..

14 Commits

Author SHA1 Message Date
LinuxServer-CI
b6a321aee6 Bot Updating Package Versions 2019-03-25 02:02:20 +01:00
Ryan Kuba
3d34a9cf03 Merge pull request #124 from thelamer/release-4.2
Switching to new Base images, shift to arm32v7 tag.
2019-03-24 17:10:13 -07:00
thelamer
e0a76e29e2 Switching to new Base images, shift to arm32v7 tag. 2019-03-23 22:18:13 -07:00
LinuxServer-CI
13f64cbc4b Bot Updating Package Versions 2019-03-22 00:31:34 +00:00
LinuxServer-CI
2c696d51b0 Bot Updating Package Versions 2019-03-07 19:02:51 -05:00
LinuxServer-CI
780b22728e Bot Updating Templated Files 2019-03-07 18:14:52 -05:00
aptalca
9417e1f9c4 Merge pull request #121 from thelamer/release-4.2
libiconv shifted to community repos- release 4.2
2019-03-07 18:14:02 -05:00
thelamer
5fb3338564 libiconv shifted to community repos 2019-03-07 14:12:48 -08:00
LinuxServer-CI
89322d5956 Bot Updating Package Versions 2019-03-02 00:28:07 +00:00
LinuxServer-CI
267e3ef786 Bot Updating Templated Files 2019-03-01 18:35:41 -05:00
saarg
5de6faf27f Merge pull request #114 from thelamer/release-4.2
switching back to clone and checkout release-4.2
2019-02-17 22:54:37 +01:00
thelamer
dab37e4ecd bumping to xmltv 0.5.70 and pulling it from github instead of sourceforge 2019-02-17 12:42:34 -08:00
thelamer
6ab17ce8b7 adding jq package for commit parsing on local build 2019-02-17 12:15:38 -08:00
thelamer
81c71ee54d switching back to clone and checkout 2019-02-17 10:41:49 -08:00
7 changed files with 363 additions and 326 deletions

View File

@@ -4,7 +4,7 @@ FROM lsiobase/alpine:3.8 as buildstage
# package versions
ARG ARGTABLE_VER="2.13"
ARG TVH_VER="release/4.2"
ARG XMLTV_VER="0.5.69"
ARG XMLTV_VER="v0.5.70"
ARG TVHEADEND_COMMIT
# environment settings
@@ -31,6 +31,7 @@ RUN \
gettext-dev \
git \
gzip \
jq \
libgcrypt-dev \
libhdhomerun-dev \
libressl-dev \
@@ -107,7 +108,7 @@ RUN \
x265-dev \
zlib-dev && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv-dev
RUN \
@@ -122,13 +123,9 @@ RUN \
RUN \
echo "**** compile XMLTV ****" && \
curl -o \
/tmp/xmtltv-src.tar.bz2 -L \
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
tar xf \
/tmp/xmtltv-src.tar.bz2 -C \
/tmp --strip-components=1 && \
cd "/tmp/xmltv-${XMLTV_VER}" && \
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 && \
@@ -156,15 +153,11 @@ RUN \
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
| jq -r '. | .sha'); \
fi && \
curl -o \
/tmp/tvheadend.tar.gz -L \
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
mkdir -p \
/tmp/tvheadend && \
tar xf \
/tmp/tvheadend.tar.gz -C \
/tmp/tvheadend/ --strip-components=1 && \
/tmp/tvheadend && \
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
cd /tmp/tvheadend && \
git checkout ${TVHEADEND_COMMIT} && \
./configure \
--disable-avahi \
--disable-bintray_cache \
@@ -313,7 +306,7 @@ RUN \
x265 \
zlib && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv && \
echo "**** Add Picons ****" && \
mkdir -p /picons && \
@@ -337,7 +330,6 @@ COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
COPY root/ /
# ports and volumes
EXPOSE 9981 9982
VOLUME /config /recordings

View File

@@ -1,10 +1,10 @@
FROM lsiobase/alpine.arm64:3.8 as buildstage
FROM lsiobase/alpine:arm64v8-3.8 as buildstage
############## build stage ##############
# package versions
ARG ARGTABLE_VER="2.13"
ARG TVH_VER="release/4.2"
ARG XMLTV_VER="0.5.69"
ARG XMLTV_VER="v0.5.70"
ARG TVHEADEND_COMMIT
# environment settings
@@ -31,6 +31,7 @@ RUN \
gettext-dev \
git \
gzip \
jq \
libgcrypt-dev \
libhdhomerun-dev \
libressl-dev \
@@ -107,7 +108,7 @@ RUN \
x265-dev \
zlib-dev && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv-dev
RUN \
@@ -122,13 +123,9 @@ RUN \
RUN \
echo "**** compile XMLTV ****" && \
curl -o \
/tmp/xmtltv-src.tar.bz2 -L \
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
tar xf \
/tmp/xmtltv-src.tar.bz2 -C \
/tmp --strip-components=1 && \
cd "/tmp/xmltv-${XMLTV_VER}" && \
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 && \
@@ -156,15 +153,11 @@ RUN \
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
| jq -r '. | .sha'); \
fi && \
curl -o \
/tmp/tvheadend.tar.gz -L \
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
mkdir -p \
/tmp/tvheadend && \
tar xf \
/tmp/tvheadend.tar.gz -C \
/tmp/tvheadend/ --strip-components=1 && \
/tmp/tvheadend && \
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
cd /tmp/tvheadend && \
git checkout ${TVHEADEND_COMMIT} && \
./configure \
--disable-avahi \
--disable-bintray_cache \
@@ -222,10 +215,7 @@ RUN \
make DESTDIR=/tmp/comskip-build install
############## runtime stage ##############
FROM lsiobase/alpine.arm64:3.8
# Add qemu to build on x86_64 systems
COPY qemu-aarch64-static /usr/bin
FROM lsiobase/alpine:arm64v8-3.8
# set version label
ARG BUILD_DATE
@@ -316,7 +306,7 @@ RUN \
x265 \
zlib && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv && \
echo "**** Add Picons ****" && \
mkdir -p /picons && \
@@ -340,7 +330,6 @@ COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
COPY root/ /
# ports and volumes
EXPOSE 9981 9982
VOLUME /config /recordings

View File

@@ -1,10 +1,10 @@
FROM lsiobase/alpine.armhf:3.8 as buildstage
FROM lsiobase/alpine:arm32v7-3.8 as buildstage
############## build stage ##############
# package versions
ARG ARGTABLE_VER="2.13"
ARG TVH_VER="release/4.2"
ARG XMLTV_VER="0.5.69"
ARG XMLTV_VER="v0.5.70"
ARG TVHEADEND_COMMIT
# environment settings
@@ -31,6 +31,7 @@ RUN \
gettext-dev \
git \
gzip \
jq \
libgcrypt-dev \
libhdhomerun-dev \
libressl-dev \
@@ -107,7 +108,7 @@ RUN \
x265-dev \
zlib-dev && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv-dev
RUN \
@@ -122,13 +123,9 @@ RUN \
RUN \
echo "**** compile XMLTV ****" && \
curl -o \
/tmp/xmtltv-src.tar.bz2 -L \
"https://sourceforge.net/projects/xmltv/files/xmltv/${XMLTV_VER}/xmltv-${XMLTV_VER}.tar.bz2" && \
tar xf \
/tmp/xmtltv-src.tar.bz2 -C \
/tmp --strip-components=1 && \
cd "/tmp/xmltv-${XMLTV_VER}" && \
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 && \
@@ -156,15 +153,11 @@ RUN \
TVHEADEND_COMMIT=$(curl -sX GET https://api.github.com/repos/tvheadend/tvheadend/commits/${TVH_VER} \
| jq -r '. | .sha'); \
fi && \
curl -o \
/tmp/tvheadend.tar.gz -L \
"https://github.com/tvheadend/tvheadend/archive/${TVHEADEND_COMMIT}.tar.gz" && \
mkdir -p \
/tmp/tvheadend && \
tar xf \
/tmp/tvheadend.tar.gz -C \
/tmp/tvheadend/ --strip-components=1 && \
/tmp/tvheadend && \
git clone https://github.com/tvheadend/tvheadend.git /tmp/tvheadend && \
cd /tmp/tvheadend && \
git checkout ${TVHEADEND_COMMIT} && \
./configure \
--disable-avahi \
--disable-bintray_cache \
@@ -222,10 +215,7 @@ RUN \
make DESTDIR=/tmp/comskip-build install
############## runtime stage ##############
FROM lsiobase/alpine.armhf:3.8
# Add qemu to build on x86_64 systems
COPY qemu-arm-static /usr/bin
FROM lsiobase/alpine:arm32v7-3.8
# set version label
ARG BUILD_DATE
@@ -316,7 +306,7 @@ RUN \
x265 \
zlib && \
apk add --no-cache \
--repository http://nl.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/community \
gnu-libiconv && \
echo "**** Add Picons ****" && \
mkdir -p /picons && \
@@ -340,7 +330,6 @@ COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
COPY root/ /
# ports and volumes
EXPOSE 9981 9982
VOLUME /config /recordings

114
Jenkinsfile vendored
View File

@@ -41,7 +41,7 @@ pipeline {
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases | jq -r 'first(.[] | select(.prerelease == true)) | .tag_name' ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''git log -1 --pretty=%B | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
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' ''',
returnStdout: true).trim()
env.GITHUB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
@@ -132,7 +132,7 @@ pipeline {
script{
env.IMAGE = env.DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v6-' + 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 + '|arm32v7-' + 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
}
@@ -150,7 +150,7 @@ pipeline {
script{
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v6-' + 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 + '|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
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
@@ -168,7 +168,7 @@ pipeline {
script{
env.IMAGE = env.PR_DOCKERHUB_IMAGE
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v6-' + 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 + '|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
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
@@ -178,6 +178,35 @@ pipeline {
}
}
}
// Run ShellCheck
stage('ShellCheck') {
when {
environment name: 'CI', value: 'true'
}
steps {
withCredentials([
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
]) {
script{
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
}
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
sh '''#! /bin/bash
set -e
docker pull lsiodev/spaces-file-upload:latest
docker run --rm \
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
-e FILE_NAME="shellcheck-result.xml" \
-e MIMETYPE="text/xml" \
-v ${WORKSPACE}:/mnt \
-e SECRET_KEY=\"${DO_SECRET}\" \
-e ACCESS_KEY=\"${DO_KEY}\" \
-t lsiodev/spaces-file-upload:latest \
python /upload.py'''
}
}
}
// Use helper containers to render templated files
stage('Update-Templates') {
when {
@@ -252,7 +281,7 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh "docker build --no-cache -t ${IMAGE}:${META_TAG} \
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -265,7 +294,7 @@ pipeline {
parallel {
stage('Build X86') {
steps {
sh "docker build --no-cache -t ${IMAGE}:amd64-${META_TAG} \
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
}
}
@@ -288,10 +317,13 @@ pipeline {
'''
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
sh "chmod +x qemu-*"
sh "docker build --no-cache -f Dockerfile.armhf -t ${IMAGE}:arm32v6-${META_TAG} \
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm32v7-${META_TAG} \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} '''
}
}
}
@@ -314,10 +346,13 @@ pipeline {
'''
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
sh "chmod +x qemu-*"
sh "docker build --no-cache -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
sh '''docker rmi \
${IMAGE}:arm64v8-${META_TAG} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
}
}
}
@@ -341,13 +376,13 @@ pipeline {
fi
if [ "${DIST_IMAGE}" == "alpine" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apk info > packages && \
apk info -v > versions && \
paste -d " " packages versions > /tmp/package_versions.txt && \
apk info -v > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
apt list -qq --installed > /tmp/package_versions.txt && \
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
chmod 777 /tmp/package_versions.txt'
fi
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -427,9 +462,9 @@ pipeline {
set -e
docker pull lsiodev/ci:latest
if [ "${MULTIARCH}" == "true" ]; then
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
docker run --rm \
@@ -479,6 +514,10 @@ pipeline {
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:release-4.2"
sh "docker push ${IMAGE}:release-4.2"
sh "docker push ${IMAGE}:${META_TAG}"
sh '''docker rmi \
${IMAGE}:${META_TAG} \
${IMAGE}:release-4.2 '''
}
}
}
@@ -502,30 +541,39 @@ pipeline {
'''
sh '''#! /bin/bash
if [ "${CI}" == "false" ]; then
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi'''
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-release-4.2"
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-release-4.2"
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-release-4.2"
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-release-4.2"
sh "docker push ${IMAGE}:amd64-${META_TAG}"
sh "docker push ${IMAGE}:arm32v6-${META_TAG}"
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
sh "docker push ${IMAGE}:amd64-release-4.2"
sh "docker push ${IMAGE}:arm32v6-release-4.2"
sh "docker push ${IMAGE}:arm32v7-release-4.2"
sh "docker push ${IMAGE}:arm64v8-release-4.2"
sh "docker manifest push --purge ${IMAGE}:release-4.2 || :"
sh "docker manifest create ${IMAGE}:release-4.2 ${IMAGE}:amd64-release-4.2 ${IMAGE}:arm32v6-release-4.2 ${IMAGE}:arm64v8-release-4.2"
sh "docker manifest annotate ${IMAGE}:release-4.2 ${IMAGE}:arm32v6-release-4.2 --os linux --arch arm"
sh "docker manifest create ${IMAGE}:release-4.2 ${IMAGE}:amd64-release-4.2 ${IMAGE}:arm32v7-release-4.2 ${IMAGE}:arm64v8-release-4.2"
sh "docker manifest annotate ${IMAGE}:release-4.2 ${IMAGE}:arm32v7-release-4.2 --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:release-4.2 ${IMAGE}:arm64v8-release-4.2 --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm"
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
sh "docker manifest push --purge ${IMAGE}:release-4.2"
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
sh '''docker rmi \
${IMAGE}:amd64-${META_TAG} \
${IMAGE}:amd64-release-4.2 \
${IMAGE}:arm32v7-${META_TAG} \
${IMAGE}:arm32v7-release-4.2 \
${IMAGE}:arm64v8-${META_TAG} \
${IMAGE}:arm64v8-release-4.2 \
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
}
}
}
@@ -586,6 +634,18 @@ pipeline {
}
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'CI', value: 'true'
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
}
}
}
/* ######################
Send status to Discord
@@ -598,12 +658,12 @@ pipeline {
}
else if (currentBuild.currentResult == "SUCCESS"){
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
else {
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}

View File

@@ -12,13 +12,6 @@ Find us at:
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
# PSA: Changes are happening
From August 2018 onwards, Linuxserver are in the midst of switching to a new CI platform which will enable us to build and release multiple architectures under a single repo. To this end, existing images for `arm64` and `armhf` builds are being deprecated. They are replaced by a manifest file in each container which automatically pulls the correct image for your architecture. You'll also be able to pull based on a specific architecture tag.
TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
@@ -38,7 +31,7 @@ Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV D
## Supported Architectures
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list).
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
Simply pulling `linuxserver/tvheadend` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
@@ -48,7 +41,7 @@ The architectures supported by this image are:
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v6-latest |
| armhf | arm32v7-latest |
## Version Tags
@@ -70,8 +63,8 @@ Here are some example snippets to help you get started creating a container.
```
docker create \
--name=tvheadend \
-e PUID=1001 \
-e PGID=1001 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e RUN_OPTS=<run options here> `#optional` \
-p 9981:9981 \
@@ -101,8 +94,8 @@ services:
image: linuxserver/tvheadend
container_name: tvheadend
environment:
- PUID=1001
- PGID=1001
- PUID=1000
- PGID=1000
- TZ=Europe/London
- RUN_OPTS=<run options here> #optional
volumes:
@@ -114,7 +107,6 @@ services:
devices:
- /dev/dri:/dev/dri #optional
- /dev/drb:/dev/dvb #optional
mem_limit: 4096m
restart: unless-stopped
```
@@ -126,8 +118,8 @@ Container images are configured using parameters passed at runtime (such as thos
| :----: | --- |
| `-p 9981` | WebUI |
| `-p 9982` | HTSP server port. |
| `-e PUID=1001` | for UserID - see below for explanation |
| `-e PGID=1001` | for GroupID - see below for explanation |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
| `-e RUN_OPTS=<run options here>` | Optionally specify additional arguments to be passed. See Additional runtime parameters. |
| `-v /config` | Where TVHeadend show store it's config files. |
@@ -141,11 +133,11 @@ When using volumes (`-v` flags) permissions issues can arise between the host OS
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as below:
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
```
$ id username
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
```
@@ -235,13 +227,26 @@ Below are the instructions for updating containers:
* Start the new container: `docker start tvheadend`
* You can also remove the old dangling images: `docker image prune`
### Via Taisun auto-updater (especially useful if you don't remember the original parameters)
* Pull the latest image at its tag and replace it with the same env variables in one shot:
```
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock taisun/updater \
--oneshot tvheadend
```
* You can also remove the old dangling images: `docker image prune`
### Via Docker Compose
* Update the image: `docker-compose pull linuxserver/tvheadend`
* Let compose update containers as necessary: `docker-compose up -d`
* Update all images: `docker-compose pull`
* or update a single image: `docker-compose pull tvheadend`
* Let compose update all containers as necessary: `docker-compose up -d`
* or update a single container: `docker-compose up -d tvheadend`
* You can also remove the old dangling images: `docker image prune`
## Versions
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
* **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.

View File

@@ -1,214 +1,214 @@
musl musl-1.1.19-r10
busybox busybox-1.28.4-r3
alpine-baselayout alpine-baselayout-3.1.0-r0
alpine-keys alpine-keys-2.1-r1
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.4-r0
libressl2.7-libssl libressl2.7-libssl-2.7.4-r0
libressl2.7-libtls libressl2.7-libtls-2.7.4-r0
ssl_client ssl_client-1.28.4-r3
zlib zlib-1.2.11-r1
apk-tools apk-tools-2.10.1-r0
scanelf scanelf-1.2.3-r0
musl-utils musl-utils-1.1.19-r10
libc-utils libc-utils-0.7.1-r0
xz-libs xz-libs-5.2.4-r0
xz xz-5.2.4-r0
ca-certificates ca-certificates-20171114-r3
ncurses-terminfo-base ncurses-terminfo-base-6.1_p20180818-r1
ncurses-terminfo ncurses-terminfo-6.1_p20180818-r1
ncurses-libs ncurses-libs-6.1_p20180818-r1
readline readline-7.0.003-r0
bash bash-4.4.19-r1
libattr libattr-2.4.47-r7
libacl libacl-2.2.52-r5
coreutils coreutils-8.29-r2
linux-pam linux-pam-1.3.0-r0
shadow shadow-4.5-r0
tzdata tzdata-2018f-r0
bsd-compat-headers bsd-compat-headers-0.7.1-r0
bzip2 bzip2-1.0.6-r6
nghttp2-libs nghttp2-libs-1.32.0-r0
libssh2 libssh2-1.8.0-r3
libcurl libcurl-7.61.1-r1
curl curl-7.61.1-r1
sdl2 sdl2-2.0.8-r1
libxau libxau-1.0.8-r2
libbsd libbsd-0.8.6-r2
libxdmcp libxdmcp-1.1.2-r4
libxcb libxcb-1.13-r2
libx11 libx11-1.6.6-r0
alsa-lib alsa-lib-1.1.6-r0
expat expat-2.2.5-r0
libbz2 libbz2-1.0.6-r6
libpng libpng-1.6.34-r1
freetype freetype-2.9.1-r1
fontconfig fontconfig-2.12.6-r1
fribidi fribidi-1.0.2-r0
libass libass-0.13.7-r1
gmp gmp-6.1.2-r1
nettle nettle-3.4-r1
libffi libffi-3.2.1-r4
p11-kit p11-kit-0.23.10-r0
libtasn1 libtasn1-4.13-r0
libunistring libunistring-0.9.7-r0
gnutls gnutls-3.6.2-r0
lame lame-3.100-r0
opus opus-1.2.1-r1
librtmp librtmp-2.4_git20160909-r5
libogg libogg-1.3.3-r2
libtheora libtheora-1.1.1-r13
libjpeg-turbo libjpeg-turbo-1.5.3-r4
v4l-utils-libs v4l-utils-libs-1.12.6-r1
libxext libxext-1.3.3-r2
libxfixes libxfixes-5.0.3-r1
libpciaccess libpciaccess-0.13.5-r1
libdrm libdrm-2.4.92-r0
libva libva-2.1.0-r1
libvdpau libvdpau-1.1.1-r1
libvorbis libvorbis-1.3.6-r2
libvpx libvpx-1.6.1-r0
x264-libs x264-libs-20180304-r1
libgcc libgcc-6.4.0-r9
libstdc++ libstdc++-6.4.0-r9
x265 x265-2.7-r1
xvidcore xvidcore-1.3.4-r1
ffmpeg-libs ffmpeg-libs-3.4.4-r1
ffmpeg ffmpeg-3.4.4-r1
gzip gzip-1.9-r0
libcrypto1.0 libcrypto1.0-1.0.2q-r0
libhdhomerun-libs libhdhomerun-libs-20161117-r1
libressl libressl-2.7.4-r0
libssl1.0 libssl1.0-1.0.2q-r0
libxml2 libxml2-2.9.8-r1
libgpg-error libgpg-error-1.30-r0
libgcrypt libgcrypt-1.8.3-r0
libxslt libxslt-1.1.32-r0
linux-headers linux-headers-4.4.6-r2
pcre2 pcre2-10.31-r0
perl perl-5.26.3-r0
perl-archive-zip perl-archive-zip-1.60-r0
perl-boolean perl-boolean-0.46-r0
perl-capture-tiny perl-capture-tiny-0.48-r0
perl-html-tagset perl-html-tagset-3.20-r1
perl-html-parser perl-html-parser-3.72-r2
perl-cgi perl-cgi-4.38-r0
perl-compress-raw-zlib perl-compress-raw-zlib-2.081-r0
perl-data-dumper perl-data-dumper-2.161-r2
perl-yaml-syck perl-yaml-syck-1.30-r1
perl-date-manip perl-date-manip-6.70-r0
perl-cpan-meta-check perl-cpan-meta-check-0.014-r1
perl-exporter-tiny perl-exporter-tiny-1.000000-r0
perl-list-moreutils perl-list-moreutils-0.419-r1
perl-module-runtime perl-module-runtime-0.016-r0
perl-dist-checkconflicts perl-dist-checkconflicts-0.11-r1
perl-class-inspector perl-class-inspector-1.28-r1
perl-file-sharedir perl-file-sharedir-1.106-r0
perl-file-sharedir-install perl-file-sharedir-install-0.11-r0
perl-sub-exporter-progressive perl-sub-exporter-progressive-0.001013-r0
perl-devel-symdump perl-devel-symdump-2.18-r0
perl-test-pod perl-test-pod-1.52-r0
perl-pod-coverage perl-pod-coverage-0.23-r0
perl-try-tiny perl-try-tiny-0.30-r0
perl-test-taint perl-test-taint-1.06-r5
perl-module-implementation perl-module-implementation-0.09-r1
perl-variable-magic perl-variable-magic-0.62-r0
perl-b-hooks-endofscope perl-b-hooks-endofscope-0.24-r0
perl-package-stash-xs perl-package-stash-xs-0.28-r4
perl-package-stash perl-package-stash-0.37-r0
perl-sub-name perl-sub-name-0.21-r1
perl-sub-identify perl-sub-identify-0.14-r1
perl-namespace-clean perl-namespace-clean-0.27-r0
perl-namespace-autoclean perl-namespace-autoclean-0.28-r0
perl-params-validate perl-params-validate-1.28-r0
perl-test-needs perl-test-needs-0.002005-r1
perl-devel-stacktrace perl-devel-stacktrace-2.02-r0
perl-eval-closure perl-eval-closure-0.14-r0
perl-mro-compat perl-mro-compat-0.13-r0
perl-role-tiny perl-role-tiny-2.000005-r0
perl-test-fatal perl-test-fatal-0.014-r1
perl-sub-quote perl-sub-quote-2.004000-r0
perl-specio perl-specio-0.42-r0
perl-test-simple perl-test-simple-1.302136-r0
perl-importer perl-importer-0.025-r0
perl-term-table perl-term-table-0.012-r0
perl-sub-info perl-sub-info-0.002-r0
perl-scope-guard perl-scope-guard-0.21-r0
perl-module-pluggable perl-module-pluggable-5.2-r0
perl-test2-suite perl-test2-suite-0.000114-r0
perl-test-without-module perl-test-without-module-0.20-r0
perl-class-data-inheritable perl-class-data-inheritable-0.08-r0
perl-exception-class perl-exception-class-1.44-r0
perl-ipc-run3 perl-ipc-run3-0.048-r0
perl-test2-plugin-nowarnings perl-test2-plugin-nowarnings-0.06-r0
perl-params-validationcompiler perl-params-validationcompiler-0.24-r1
perl-scalar-list-utils perl-scalar-list-utils-1.50-r0
perl-test-requires perl-test-requires-0.10-r0
perl-test-warnings perl-test-warnings-0.026-r0
perl-datetime-locale perl-datetime-locale-1.18-r0
perl-class-singleton perl-class-singleton-1.5-r0
perl-datetime-timezone perl-datetime-timezone-2.19-r0
perl-datetime perl-datetime-1.44-r0
perl-sub-install perl-sub-install-0.928-r1
perl-params-util perl-params-util-1.07-r5
perl-package-deprecationmanager perl-package-deprecationmanager-0.17-r0
perl-datetime-format-strptime perl-datetime-format-strptime-1.74-r0
perl-dbi perl-dbi-1.641-r0
perl-dbd-sqlite perl-dbd-sqlite-1.58-r0
perl-digest-sha1 perl-digest-sha1-2.13-r9
perl-doc perl-doc-5.26.3-r0
perl-file-slurp perl-file-slurp-9999.19-r0
perl-file-temp perl-file-temp-0.2304-r0
perl-file-which perl-file-which-1.22-r0
perl-getopt-long perl-getopt-long-2.50-r0
perl-html-tree perl-html-tree-5.07-r0
perl-http-date perl-http-date-6.02-r1
perl-lwp-mediatypes perl-lwp-mediatypes-6.02-r1
perl-encode-locale perl-encode-locale-1.05-r1
perl-uri perl-uri-1.72-r0
perl-io-html perl-io-html-1.001-r1
perl-http-message perl-http-message-6.15-r0
perl-http-cookies perl-http-cookies-6.04-r0
perl-io perl-io-1.25-r4
perl-compress-raw-bzip2 perl-compress-raw-bzip2-2.081-r0
perl-io-compress perl-io-compress-2.081-r0
libidn libidn-1.34-r1
perl-net-libidn perl-net-libidn-0.12-r4
perl-net-ssleay perl-net-ssleay-1.85-r1
perl-io-socket-ssl perl-io-socket-ssl-2.048-r1
perl-io-stringy perl-io-stringy-2.111-r1
perl-json perl-json-2.97000-r0
perl-net-http perl-net-http-6.09-r1
perl-http-daemon perl-http-daemon-6.01-r1
perl-file-listing perl-file-listing-6.04-r1
perl-www-robotrules perl-www-robotrules-6.02-r1
perl-http-negotiate perl-http-negotiate-6.01-r1
perl-libwww perl-libwww-6.34-r0
perl-lingua-en-numbers-ordinate perl-lingua-en-numbers-ordinate-1.04-r1
perl-lingua-preferred perl-lingua-preferred-0.2.4-r1
perl-module-build perl-module-build-0.4224-r0
perl-parse-recdescent perl-parse-recdescent-1.967015-r1
perl-path-class perl-path-class-0.37-r0
perl-class-methodmaker perl-class-methodmaker-2.24-r2
perl-term-readkey perl-term-readkey-2.37-r1
perl-sub-uplevel perl-sub-uplevel-0.2800-r0
perl-test-exception perl-test-exception-0.43-r0
perl-term-progressbar perl-term-progressbar-2.22-r0
perl-timedate perl-timedate-2.30-r1
perl-unicode-string perl-unicode-string-2.09-r6
perl-xml-sax-base perl-xml-sax-base-1.09-r0
perl-xml-namespacesupport perl-xml-namespacesupport-1.12-r0
perl-xml-sax perl-xml-sax-0.99-r2
perl-xml-libxml perl-xml-libxml-2.0132-r1
perl-xml-libxslt perl-xml-libxslt-1.96-r0
perl-xml-parser perl-xml-parser-2.44-r4
perl-xml-treepp perl-xml-treepp-0.43-r1
perl-xml-twig perl-xml-twig-3.52-r1
perl-xml-writer perl-xml-writer-0.625-r2
gdbm gdbm-1.13-r1
sqlite-libs sqlite-libs-3.25.3-r0
python2 python2-2.7.15-r1
tar tar-1.31-r0
uriparser uriparser-0.8.5-r0
wget wget-1.20.1-r0
x264 x264-20180304-r1
gnu-libiconv gnu-libiconv-1.15-r2
alpine-baselayout-3.1.0-r0
alpine-keys-2.1-r1
alsa-lib-1.1.6-r0
apk-tools-2.10.1-r0
bash-4.4.19-r1
bsd-compat-headers-0.7.1-r0
busybox-1.28.4-r3
bzip2-1.0.6-r6
ca-certificates-20171114-r3
coreutils-8.29-r2
curl-7.61.1-r2
expat-2.2.5-r0
ffmpeg-3.4.4-r1
ffmpeg-libs-3.4.4-r1
fontconfig-2.12.6-r1
freetype-2.9.1-r1
fribidi-1.0.2-r0
gdbm-1.13-r1
gmp-6.1.2-r1
gnu-libiconv-1.15-r2
gnutls-3.6.2-r0
gzip-1.9-r0
lame-3.100-r0
libacl-2.2.52-r5
libass-0.13.7-r1
libattr-2.4.47-r7
libbsd-0.8.6-r2
libbz2-1.0.6-r6
libc-utils-0.7.1-r0
libcrypto1.0-1.0.2r-r0
libcurl-7.61.1-r2
libdrm-2.4.92-r0
libffi-3.2.1-r4
libgcc-6.4.0-r9
libgcrypt-1.8.3-r0
libgpg-error-1.30-r0
libhdhomerun-libs-20161117-r1
libidn-1.34-r1
libjpeg-turbo-1.5.3-r4
libogg-1.3.3-r2
libpciaccess-0.13.5-r1
libpng-1.6.34-r1
libressl-2.7.5-r0
libressl2.7-libcrypto-2.7.5-r0
libressl2.7-libssl-2.7.5-r0
libressl2.7-libtls-2.7.5-r0
librtmp-2.4_git20160909-r5
libssh2-1.8.1-r0
libssl1.0-1.0.2r-r0
libstdc++-6.4.0-r9
libtasn1-4.13-r0
libtheora-1.1.1-r13
libunistring-0.9.7-r0
libva-2.1.0-r1
libvdpau-1.1.1-r1
libvorbis-1.3.6-r2
libvpx-1.6.1-r0
libx11-1.6.6-r0
libxau-1.0.8-r2
libxcb-1.13-r2
libxdmcp-1.1.2-r4
libxext-1.3.3-r2
libxfixes-5.0.3-r1
libxml2-2.9.8-r1
libxslt-1.1.32-r0
linux-headers-4.4.6-r2
linux-pam-1.3.0-r0
musl-1.1.19-r10
musl-utils-1.1.19-r10
ncurses-libs-6.1_p20180818-r1
ncurses-terminfo-6.1_p20180818-r1
ncurses-terminfo-base-6.1_p20180818-r1
nettle-3.4-r1
nghttp2-libs-1.32.0-r0
opus-1.2.1-r1
p11-kit-0.23.10-r0
pcre2-10.31-r0
perl-5.26.3-r0
perl-archive-zip-1.60-r0
perl-b-hooks-endofscope-0.24-r0
perl-boolean-0.46-r0
perl-capture-tiny-0.48-r0
perl-cgi-4.38-r0
perl-class-data-inheritable-0.08-r0
perl-class-inspector-1.28-r1
perl-class-methodmaker-2.24-r2
perl-class-singleton-1.5-r0
perl-compress-raw-bzip2-2.081-r0
perl-compress-raw-zlib-2.081-r0
perl-cpan-meta-check-0.014-r1
perl-data-dumper-2.161-r2
perl-date-manip-6.70-r0
perl-datetime-1.44-r0
perl-datetime-format-strptime-1.74-r0
perl-datetime-locale-1.18-r0
perl-datetime-timezone-2.19-r0
perl-dbd-sqlite-1.58-r0
perl-dbi-1.641-r0
perl-devel-stacktrace-2.02-r0
perl-devel-symdump-2.18-r0
perl-digest-sha1-2.13-r9
perl-dist-checkconflicts-0.11-r1
perl-doc-5.26.3-r0
perl-encode-locale-1.05-r1
perl-eval-closure-0.14-r0
perl-exception-class-1.44-r0
perl-exporter-tiny-1.000000-r0
perl-file-listing-6.04-r1
perl-file-sharedir-1.106-r0
perl-file-sharedir-install-0.11-r0
perl-file-slurp-9999.19-r0
perl-file-temp-0.2304-r0
perl-file-which-1.22-r0
perl-getopt-long-2.50-r0
perl-html-parser-3.72-r2
perl-html-tagset-3.20-r1
perl-html-tree-5.07-r0
perl-http-cookies-6.04-r0
perl-http-daemon-6.01-r1
perl-http-date-6.02-r1
perl-http-message-6.15-r0
perl-http-negotiate-6.01-r1
perl-importer-0.025-r0
perl-io-1.25-r4
perl-io-compress-2.081-r0
perl-io-html-1.001-r1
perl-io-socket-ssl-2.048-r1
perl-io-stringy-2.111-r1
perl-ipc-run3-0.048-r0
perl-json-2.97000-r0
perl-libwww-6.34-r0
perl-lingua-en-numbers-ordinate-1.04-r1
perl-lingua-preferred-0.2.4-r1
perl-list-moreutils-0.419-r1
perl-lwp-mediatypes-6.02-r1
perl-module-build-0.4224-r0
perl-module-implementation-0.09-r1
perl-module-pluggable-5.2-r0
perl-module-runtime-0.016-r0
perl-mro-compat-0.13-r0
perl-namespace-autoclean-0.28-r0
perl-namespace-clean-0.27-r0
perl-net-http-6.09-r1
perl-net-libidn-0.12-r4
perl-net-ssleay-1.85-r1
perl-package-deprecationmanager-0.17-r0
perl-package-stash-0.37-r0
perl-package-stash-xs-0.28-r4
perl-params-util-1.07-r5
perl-params-validate-1.28-r0
perl-params-validationcompiler-0.24-r1
perl-parse-recdescent-1.967015-r1
perl-path-class-0.37-r0
perl-pod-coverage-0.23-r0
perl-role-tiny-2.000005-r0
perl-scalar-list-utils-1.50-r0
perl-scope-guard-0.21-r0
perl-specio-0.42-r0
perl-sub-exporter-progressive-0.001013-r0
perl-sub-identify-0.14-r1
perl-sub-info-0.002-r0
perl-sub-install-0.928-r1
perl-sub-name-0.21-r1
perl-sub-quote-2.004000-r0
perl-sub-uplevel-0.2800-r0
perl-term-progressbar-2.22-r0
perl-term-readkey-2.37-r1
perl-term-table-0.012-r0
perl-test-exception-0.43-r0
perl-test-fatal-0.014-r1
perl-test-needs-0.002005-r1
perl-test-pod-1.52-r0
perl-test-requires-0.10-r0
perl-test-simple-1.302136-r0
perl-test-taint-1.06-r5
perl-test-warnings-0.026-r0
perl-test-without-module-0.20-r0
perl-test2-plugin-nowarnings-0.06-r0
perl-test2-suite-0.000114-r0
perl-timedate-2.30-r1
perl-try-tiny-0.30-r0
perl-unicode-string-2.09-r6
perl-uri-1.72-r0
perl-variable-magic-0.62-r0
perl-www-robotrules-6.02-r1
perl-xml-libxml-2.0132-r1
perl-xml-libxslt-1.96-r0
perl-xml-namespacesupport-1.12-r0
perl-xml-parser-2.44-r4
perl-xml-sax-0.99-r2
perl-xml-sax-base-1.09-r0
perl-xml-treepp-0.43-r1
perl-xml-twig-3.52-r1
perl-xml-writer-0.625-r2
perl-yaml-syck-1.30-r1
python2-2.7.15-r1
readline-7.0.003-r0
scanelf-1.2.3-r0
sdl2-2.0.8-r1
shadow-4.5-r0
sqlite-libs-3.25.3-r0
ssl_client-1.28.4-r3
tar-1.32-r0
tzdata-2018f-r0
uriparser-0.8.5-r0
v4l-utils-libs-1.12.6-r1
wget-1.20.1-r0
x264-20180304-r1
x264-libs-20180304-r1
x265-2.7-r1
xvidcore-1.3.4-r1
xz-5.2.4-r0
xz-libs-5.2.4-r0
zlib-1.2.11-r1

View File

@@ -15,7 +15,7 @@ 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: "arm32v6-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
# development version
@@ -125,6 +125,8 @@ app_setup_block: |
# changelog
changelogs:
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
- { 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." }