Compare commits

...

40 Commits

Author SHA1 Message Date
LinuxServer-CI
3bad190b6d Bot Updating Package Versions 2022-08-14 17:08:50 +02:00
LinuxServer-CI
7568b2268e Bot Updating Package Versions 2022-07-31 17:10:52 +02:00
LinuxServer-CI
cbe8326f34 Bot Updating Package Versions 2022-07-24 17:08:50 +02:00
LinuxServer-CI
9bb84298c0 Bot Updating Package Versions 2022-07-17 17:09:07 +02:00
LinuxServer-CI
9d819fa033 Bot Updating Package Versions 2022-07-10 10:08:01 -05:00
LinuxServer-CI
ae4e65e8b4 Bot Updating Package Versions 2022-07-03 17:11:00 +02:00
LinuxServer-CI
40101423d3 Bot Updating Package Versions 2022-06-19 17:09:14 +02:00
LinuxServer-CI
267d71999e Bot Updating Package Versions 2022-05-22 10:06:53 -05:00
LinuxServer-CI
8d64a8b941 Bot Updating Package Versions 2022-05-15 10:08:40 -05:00
LinuxServer-CI
301726296e Bot Updating Package Versions 2022-05-08 17:11:21 +02:00
LinuxServer-CI
14a02b2793 Bot Updating Templated Files 2022-05-08 16:58:40 +02:00
LinuxServer-CI
8b75535035 Bot Updating Package Versions 2022-05-01 17:13:16 +02:00
LinuxServer-CI
7cdc7d2545 Bot Updating Templated Files 2022-05-01 17:00:00 +02:00
LinuxServer-CI
c3ba5352be Bot Updating Templated Files 2022-05-01 16:58:45 +02:00
LinuxServer-CI
c63fecd5ca Bot Updating Templated Files 2022-04-17 16:30:59 +00:00
Chris230291
dd9d991734 Create tv_grab_url (#195)
* Create tv_grab_url

URL grabber

* Update README.md

* Update README.md

* Update readme-vars.yml
2022-04-17 18:29:49 +02:00
LinuxServer-CI
667bbc700c Bot Updating Package Versions 2022-04-17 10:53:19 -05:00
LinuxServer-CI
8c8b1dc579 Bot Updating Package Versions 2022-04-06 15:48:45 -05:00
Adam
2e2306657b Merge pull request #194 from linuxserver/git 2022-04-06 21:35:07 +01:00
aptalca
ff2d71cfaa fix git endpoint 2022-04-06 15:58:40 -04:00
LinuxServer-CI
a11b08f48a Bot Updating Package Versions 2022-02-12 20:33:00 +01:00
LinuxServer-CI
5c95e3cd54 Bot Updating Package Versions 2022-02-06 16:07:38 +01:00
LinuxServer-CI
e518677c08 Bot Updating Package Versions 2022-01-23 16:11:11 +01:00
LinuxServer-CI
3e2ff2ec64 Bot Updating Package Versions 2022-01-09 16:08:09 +01:00
LinuxServer-CI
7bd9706a03 Bot Updating Package Versions 2022-01-07 04:27:55 +01:00
aptalca
730ae79c03 Merge pull request #187 from linuxserver/execinfo
Rebase to 3.15, disable execinfo, upgrade xmltv
2022-01-06 22:04:41 -05:00
aptalca
f3d20cc23e rebase to 3.15 2022-01-06 20:45:16 -05:00
aptalca
eb738d902c update xmltv 2022-01-06 13:33:50 -05:00
aptalca
63be7472e3 disable execinfo 2022-01-06 13:24:17 -05:00
LinuxServer-CI
935363eea3 Bot Updating Package Versions 2021-12-19 16:22:22 +01:00
LinuxServer-CI
fd1cf5ccb5 Bot Updating Templated Files 2021-12-19 15:59:48 +01:00
LinuxServer-CI
b05c0153a6 Bot Updating Templated Files 2021-12-19 15:58:37 +01:00
LinuxServer-CI
f35919e8d1 Bot Updating Package Versions 2021-11-21 16:07:33 +01:00
LinuxServer-CI
2621cbec21 Bot Updating Package Versions 2021-10-31 16:07:09 +01:00
LinuxServer-CI
9671978057 Bot Updating Package Versions 2021-10-24 17:07:05 +02:00
LinuxServer-CI
c255ddd316 Bot Updating Package Versions 2021-10-10 17:07:21 +02:00
LinuxServer-CI
8b48664ab1 Bot Updating Package Versions 2021-10-03 17:13:51 +02:00
LinuxServer-CI
bcc271c172 Bot Updating Templated Files 2021-10-03 16:59:46 +02:00
LinuxServer-CI
0f59a23e89 Bot Updating Templated Files 2021-10-03 16:58:37 +02:00
LinuxServer-CI
f93ea75fe8 Bot Updating Package Versions 2021-09-26 17:08:28 +02:00
9 changed files with 476 additions and 299 deletions

View File

@@ -1,9 +1,9 @@
FROM ghcr.io/linuxserver/baseimage-alpine:3.12 as buildstage
FROM ghcr.io/linuxserver/baseimage-alpine:3.15 as buildstage
############## build stage ##############
# package versions
ARG ARGTABLE_VER="2.13"
ARG XMLTV_VER="v0.6.3"
ARG XMLTV_VER="v1.0.0"
# environment settings
ARG TZ="Europe/Oslo"
@@ -52,7 +52,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -70,7 +69,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -103,7 +101,7 @@ RUN \
perl-xml-writer \
pkgconf \
pngquant \
python2 \
python3 \
sdl-dev \
tar \
uriparser-dev \
@@ -172,6 +170,7 @@ RUN \
--disable-avahi \
--disable-dbus_1 \
--disable-bintray_cache \
--disable-execinfo \
--disable-hdhomerun_static \
--enable-hdhomerun_client \
--enable-libav \
@@ -182,6 +181,7 @@ RUN \
--localstatedir=/var \
--mandir=/usr/share/man \
--prefix=/usr \
--python=python3 \
--sysconfdir=/config && \
make -j 2 && \
make DESTDIR=/tmp/tvheadend-build install
@@ -209,7 +209,7 @@ RUN \
RUN \
echo "***** compile comskip ****" && \
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \
cd /tmp/comskip && \
./autogen.sh && \
./configure \
@@ -219,7 +219,7 @@ RUN \
make DESTDIR=/tmp/comskip-build install
############## runtime stage ##############
FROM ghcr.io/linuxserver/baseimage-alpine:3.12
FROM ghcr.io/linuxserver/baseimage-alpine:3.15
# set version label
ARG BUILD_DATE
@@ -262,7 +262,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -279,7 +278,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -311,7 +309,7 @@ RUN \
perl-xml-twig \
perl-xml-writer \
py3-requests \
python2 \
python3 \
tar \
uriparser \
wget \

View File

@@ -1,9 +1,9 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.12 as buildstage
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 as buildstage
############## build stage ##############
# package versions
ARG ARGTABLE_VER="2.13"
ARG XMLTV_VER="v0.6.3"
ARG XMLTV_VER="v1.0.0"
# environment settings
ARG TZ="Europe/Oslo"
@@ -51,7 +51,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -69,7 +68,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -102,7 +100,7 @@ RUN \
perl-xml-writer \
pkgconf \
pngquant \
python2 \
python3 \
sdl-dev \
tar \
uriparser-dev \
@@ -171,6 +169,7 @@ RUN \
--disable-avahi \
--disable-dbus_1 \
--disable-bintray_cache \
--disable-execinfo \
--disable-hdhomerun_static \
--enable-hdhomerun_client \
--enable-libav \
@@ -180,6 +179,7 @@ RUN \
--localstatedir=/var \
--mandir=/usr/share/man \
--prefix=/usr \
--python=python3 \
--sysconfdir=/config && \
make -j 2 && \
make DESTDIR=/tmp/tvheadend-build install
@@ -207,7 +207,7 @@ RUN \
RUN \
echo "***** compile comskip ****" && \
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \
cd /tmp/comskip && \
./autogen.sh && \
./configure \
@@ -217,7 +217,7 @@ RUN \
make DESTDIR=/tmp/comskip-build install
############## runtime stage ##############
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.12
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15
# set version label
ARG BUILD_DATE
@@ -256,7 +256,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -273,7 +272,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -305,7 +303,7 @@ RUN \
perl-xml-twig \
perl-xml-writer \
py3-requests \
python2 \
python3 \
tar \
uriparser \
wget \

View File

@@ -1,9 +1,9 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.12 as buildstage
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 as buildstage
############## build stage ##############
# package versions
ARG ARGTABLE_VER="2.13"
ARG XMLTV_VER="v0.6.3"
ARG XMLTV_VER="v1.0.0"
# environment settings
ARG TZ="Europe/Oslo"
@@ -51,7 +51,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -69,7 +68,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -102,7 +100,7 @@ RUN \
perl-xml-writer \
pkgconf \
pngquant \
python2 \
python3 \
sdl-dev \
tar \
uriparser-dev \
@@ -171,6 +169,7 @@ RUN \
--disable-avahi \
--disable-dbus_1 \
--disable-bintray_cache \
--disable-execinfo \
--disable-hdhomerun_static \
--enable-hdhomerun_client \
--enable-libav \
@@ -179,7 +178,9 @@ RUN \
--infodir=/usr/share/info \
--localstatedir=/var \
--mandir=/usr/share/man \
--nowerror \
--prefix=/usr \
--python=python3 \
--sysconfdir=/config && \
make -j 2 && \
make DESTDIR=/tmp/tvheadend-build install
@@ -207,7 +208,7 @@ RUN \
RUN \
echo "***** compile comskip ****" && \
git clone git://github.com/erikkaashoek/Comskip /tmp/comskip && \
git clone https://github.com/erikkaashoek/Comskip /tmp/comskip && \
cd /tmp/comskip && \
./autogen.sh && \
./configure \
@@ -217,7 +218,7 @@ RUN \
make DESTDIR=/tmp/comskip-build install
############## runtime stage ##############
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.12
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15
# set version label
ARG BUILD_DATE
@@ -256,7 +257,6 @@ RUN \
perl-capture-tiny \
perl-cgi \
perl-compress-raw-zlib \
perl-data-dumper \
perl-date-manip \
perl-datetime \
perl-datetime-format-strptime \
@@ -273,7 +273,6 @@ RUN \
perl-html-tree \
perl-http-cookies \
perl-io \
perl-io-compress \
perl-io-html \
perl-io-socket-ssl \
perl-io-stringy \
@@ -305,7 +304,7 @@ RUN \
perl-xml-twig \
perl-xml-writer \
py3-requests \
python2 \
python3 \
tar \
uriparser \
wget \

124
Jenkinsfile vendored
View File

@@ -16,6 +16,7 @@ pipeline {
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
SCARF_TOKEN=credentials('scarf_api_key')
EXT_GIT_BRANCH = 'master'
EXT_USER = 'tvheadend'
EXT_REPO = 'tvheadend'
@@ -126,6 +127,30 @@ pipeline {
env.EXT_RELEASE_CLEAN = sh(
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
returnStdout: true).trim()
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
if (semver.find()) {
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
} else {
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)/
if (semver.find()) {
if (semver[0][3]) {
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
} else if (!semver[0][3] && !semver[0][4]) {
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${(new Date()).format('YYYYMMdd')}"
}
}
}
if (env.SEMVER != null) {
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
}
println("SEMVER: ${env.SEMVER}")
} else {
println("No SEMVER detected")
}
}
}
}
@@ -140,6 +165,7 @@ pipeline {
env.IMAGE = env.DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
@@ -162,6 +188,7 @@ pipeline {
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
@@ -184,6 +211,7 @@ pipeline {
env.IMAGE = env.PR_DOCKERHUB_IMAGE
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
@@ -325,9 +353,11 @@ pipeline {
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, removing Unraid template"
git rm unraid/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Removing Deprecated Unraid Template' || :
echo "Image is on the ignore list, marking Unraid template as deprecated"
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add -u unraid/${CONTAINER_NAME}.xml
git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || :
git commit -m 'Bot Moving Deprecated Unraid Template' || :
else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml
@@ -379,6 +409,36 @@ pipeline {
"visibility":"public"}' '''
}
}
/* #######################
Scarf.sh package registry
####################### */
// Add package to Scarf.sh and set permissions
stage("Scarf.sh package registry"){
when {
branch "master"
environment name: 'EXIT_STATUS', value: ''
}
steps{
sh '''#! /bin/bash
set -e
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/tvheadend") | .uuid')
if [ -z "${PACKAGE_UUID}" ]; then
echo "Adding package to Scarf.sh"
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
-H "Authorization: Bearer ${SCARF_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"name":"linuxserver/tvheadend",\
"shortDescription":"example description",\
"libraryType":"docker",\
"website":"https://github.com/linuxserver/docker-tvheadend",\
"backendUrl":"https://ghcr.io/linuxserver/tvheadend",\
"publicUrl":"https://lscr.io/linuxserver/tvheadend"}' || :
else
echo "Package already exists on Scarf.sh"
fi
'''
}
}
/* ###############
Build Container
############### */
@@ -386,7 +446,7 @@ pipeline {
stage('Build-Single') {
when {
expression {
env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true'
env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true'
}
environment name: 'EXIT_STATUS', value: ''
}
@@ -680,6 +740,12 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
@@ -688,22 +754,32 @@ pipeline {
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
fi
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker push ${PUSHIMAGE}:${SEMVER}
fi
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
if [ -n "${SEMVER}" ]; then
docker rmi ${DELETEIMAGE}:${SEMVER} || :
fi
done
'''
}
@@ -722,6 +798,12 @@ pipeline {
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
usernameVariable: 'DOCKERUSER',
passwordVariable: 'DOCKERPASS'
],
[
$class: 'UsernamePasswordMultiBinding',
credentialsId: 'Quay.io-Robot',
usernameVariable: 'QUAYUSER',
passwordVariable: 'QUAYPASS'
]
]) {
retry(5) {
@@ -730,13 +812,14 @@ pipeline {
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [ "${CI}" == "false" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
fi
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}"; do
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
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}
@@ -746,6 +829,11 @@ pipeline {
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
@@ -755,6 +843,11 @@ pipeline {
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
@@ -767,14 +860,23 @@ pipeline {
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
fi
done
'''
}
sh '''#! /bin/bash
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
@@ -785,6 +887,12 @@ pipeline {
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
if [ -n "${SEMVER}" ]; then
docker rmi \
${DELETEIMAGE}:amd64-${SEMVER} \
${DELETEIMAGE}:arm32v7-${SEMVER} \
${DELETEIMAGE}:arm64v8-${SEMVER} || :
fi
done
docker rmi \
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \

View File

@@ -29,10 +29,12 @@ Find us at:
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Ftvheadend?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Ftvheadend)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-tvheadend.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-tvheadend)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-tvheadend.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-tvheadend/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-tvheadend/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-tvheadend/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/tvheadend)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/tvheadend.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/tvheadend)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/tvheadend.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/tvheadend)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-tvheadend%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
@@ -46,28 +48,26 @@ 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) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
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 `ghcr.io/linuxserver/tvheadend` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
Simply pulling `lscr.io/linuxserver/tvheadend:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
The architectures supported by this image are:
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf| ✅ | arm32v7-\<version tag\> |
## Version Tags
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
| Tag | Description |
| :----: | --- |
| latest | Current latest release. |
| release-4.2 | Latest release from 4.2 branch. |
| stable-4.2.1 | Old stable version. Will not be updated anymore! |
| stable-4.0.9 | Old stable version. Will not be updated anymore! |
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Current latest release. |
| release-4.2 | ✅ | Latest release from 4.2 branch. |
## Application Setup
@@ -140,7 +140,7 @@ Here are some example snippets to help you get started creating a container.
version: "2.1"
services:
tvheadend:
image: ghcr.io/linuxserver/tvheadend
image: lscr.io/linuxserver/tvheadend:latest
container_name: tvheadend
environment:
- PUID=1000
@@ -175,7 +175,7 @@ docker run -d \
--device /dev/dri:/dev/dri `#optional` \
--device /dev/dvb:/dev/dvb `#optional` \
--restart unless-stopped \
ghcr.io/linuxserver/tvheadend
lscr.io/linuxserver/tvheadend:latest
```
#### Host vs. Bridge
@@ -243,7 +243,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
* container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' tvheadend`
* image version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' ghcr.io/linuxserver/tvheadend`
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/tvheadend:latest`
## Updating Info
@@ -261,7 +261,7 @@ Below are the instructions for updating containers:
### Via Docker Run
* Update the image: `docker pull ghcr.io/linuxserver/tvheadend`
* Update the image: `docker pull lscr.io/linuxserver/tvheadend:latest`
* Stop the running container: `docker stop tvheadend`
* Delete the container: `docker rm tvheadend`
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
@@ -296,7 +296,7 @@ cd docker-tvheadend
docker build \
--no-cache \
--pull \
-t ghcr.io/linuxserver/tvheadend:latest .
-t lscr.io/linuxserver/tvheadend:latest .
```
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
@@ -309,6 +309,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **16.04.22:** - Added URL XMLTV grabber.
* **05.01.22:** - Rebase to Alpine 3.15. Disable execinfo to fix builds. Update xmltv.
* **11.05.21:** - Added Intel iHD driver support.
* **02.06.20:** - Update to Alpine 3.12.
* **27.12.19:** - Add requests and perl-json-xs package.

View File

@@ -1,257 +1,261 @@
alpine-baselayout-3.2.0-r7
alpine-keys-2.2-r0
alsa-lib-1.2.2-r0
aom-libs-1.0.0-r1
apk-tools-2.10.8-r0
bash-5.0.17-r0
brotli-libs-1.0.9-r1
alpine-baselayout-3.2.0-r18
alpine-keys-2.4-r1
alsa-lib-1.2.5.1-r1
aom-libs-3.2.0-r0
apk-tools-2.12.7-r3
bash-5.1.16-r0
brotli-libs-1.0.9-r5
bsd-compat-headers-0.7.2-r3
busybox-1.31.1-r20
busybox-1.34.1-r7
bzip2-1.0.8-r1
ca-certificates-20191127-r4
ca-certificates-bundle-20191127-r4
coreutils-8.32-r0
curl-7.79.0-r0
expat-2.2.9-r1
ffmpeg-4.3.1-r0
ffmpeg-libs-4.3.1-r0
fontconfig-2.13.1-r2
freetype-2.10.4-r0
fribidi-1.0.9-r0
ca-certificates-20220614-r0
ca-certificates-bundle-20220614-r0
coreutils-9.0-r2
curl-7.80.0-r2
expat-2.4.7-r0
ffmpeg-4.4.1-r2
ffmpeg-libs-4.4.1-r2
fontconfig-2.13.1-r4
freetype-2.11.1-r2
fribidi-1.0.11-r0
fts-1.2.7-r1
gdbm-1.13-r1
gmp-6.2.0-r0
gnu-libiconv-1.15-r2
gnutls-3.6.15-r1
gzip-1.10-r0
intel-gmmlib-20.1.1-r0
intel-media-driver-20.1.1-r0
gdbm-1.22-r0
glib-2.70.1-r0
gmp-6.2.1-r1
gnu-libiconv-1.16-r0
gnutls-3.7.1-r1
graphite2-1.3.14-r0
gzip-1.12-r0
harfbuzz-3.0.0-r2
intel-gmmlib-21.3.3-r0
intel-media-driver-21.4.1-r0
lame-3.100-r0
less-590-r0
libacl-2.2.53-r0
libass-0.14.0-r0
libattr-2.4.48-r0
libbsd-0.10.0-r0
libass-0.15.2-r0
libattr-2.5.1-r1
libblkid-2.37.4-r0
libbsd-0.11.3-r1
libbz2-1.0.8-r1
libc-utils-0.7.2-r3
libcrypto1.1-1.1.1l-r0
libcurl-7.79.0-r0
libdav1d-0.7.0-r0
libdrm-2.4.102-r0
libcrypto1.1-1.1.1q-r0
libcurl-7.80.0-r2
libdav1d-0.9.2-r0
libdrm-2.4.109-r0
libdvbcsa-1.1.0-r1
libelf-0.179-r0
libffi-3.3-r2
libgcc-9.3.0-r2
libgcrypt-1.8.8-r1
libgpg-error-1.37-r0
libelf-0.185-r0
libffi-3.4.2-r1
libgcc-10.3.1_git20211027-r0
libgcrypt-1.9.4-r0
libgomp-10.3.1_git20211027-r0
libgpg-error-1.42-r1
libhdhomerun-libs-20200225-r0
libidn-1.35-r0
libidn2-2.3.0-r0
libintl-0.20.2-r0
libjpeg-turbo-2.1.0-r0
libogg-1.3.4-r0
libidn2-2.3.2-r0
libintl-0.21-r0
libjpeg-turbo-2.1.2-r0
libmd-1.0.3-r0
libmount-2.37.4-r0
libogg-1.3.5-r0
libpciaccess-0.16-r0
libpng-1.6.37-r1
libproc-3.3.16-r0
libssh-0.9.4-r1
libssl1.1-1.1.1l-r0
libstdc++-9.3.0-r2
libtasn1-4.16.0-r1
libtheora-1.1.1-r14
libtls-standalone-2.9.1-r1
libunistring-0.9.10-r0
liburiparser-0.9.3-r1
libuuid-2.35.2-r0
libva-2.7.1-r0
libva-intel-driver-2.4.0-r1
libproc-3.3.17-r0
libretls-3.3.4-r3
libsrt-1.4.2-r1
libssh-0.9.6-r1
libssl1.1-1.1.1q-r0
libstdc++-10.3.1_git20211027-r0
libtasn1-4.18.0-r0
libtheora-1.1.1-r16
libunistring-0.9.10-r1
liburiparser-0.9.6-r0
libuuid-2.37.4-r0
libva-2.13.0-r0
libva-intel-driver-2.4.1-r0
libvdpau-1.4-r0
libvorbis-1.3.6-r2
libvpx-1.8.2-r0
libx11-1.6.12-r1
libvorbis-1.3.7-r0
libvpx-1.10.0-r0
libwebp-1.2.2-r0
libx11-1.7.2-r0
libxau-1.0.9-r0
libxcb-1.14-r1
libxcb-1.14-r2
libxdmcp-1.1.3-r0
libxext-1.3.4-r0
libxfixes-5.0.3-r2
libxml2-2.9.12-r0
libxfixes-6.0.0-r0
libxml2-2.9.14-r0
libxshmfence-1.3-r1
libxslt-1.1.34-r0
linux-headers-5.4.5-r1
linux-pam-1.3.1-r4
llvm10-libs-10.0.0-r2
mesa-20.0.7-r0
mesa-dri-ati-20.0.7-r0
mesa-dri-classic-20.0.7-r0
mesa-dri-gallium-20.0.7-r0
mesa-glapi-20.0.7-r0
mesa-va-gallium-20.0.7-r0
mesa-vdpau-gallium-20.0.7-r0
musl-1.1.24-r10
musl-utils-1.1.24-r10
ncurses-libs-6.2_p20200523-r0
ncurses-terminfo-base-6.2_p20200523-r0
nettle-3.5.1-r1
nghttp2-libs-1.41.0-r0
openssl-1.1.1l-r0
opus-1.3.1-r0
p11-kit-0.23.22-r0
pcre2-10.35-r0
perl-5.30.3-r0
perl-archive-zip-1.68-r0
perl-b-hooks-endofscope-0.24-r1
perl-boolean-0.46-r1
perl-canary-stability-2013-r0
perl-capture-tiny-0.48-r1
perl-cgi-4.47-r0
perl-class-data-inheritable-0.08-r1
perl-class-inspector-1.36-r1
perl-class-methodmaker-2.24-r6
perl-class-singleton-1.5-r1
perl-common-sense-3.75-r0
perl-compress-raw-bzip2-2.093-r1
perl-compress-raw-zlib-2.093-r1
perl-cpan-meta-check-0.014-r1
perl-data-dumper-2.173-r3
perl-date-manip-6.81-r0
perl-datetime-1.52-r0
perl-datetime-format-strptime-1.77-r0
perl-datetime-locale-1.25-r0
perl-datetime-timezone-2.47-r0
perl-dbd-sqlite-1.64-r2
perl-dbi-1.643-r0
perl-devel-stacktrace-2.04-r1
perl-devel-symdump-2.18-r1
perl-digest-sha1-2.13-r12
perl-dist-checkconflicts-0.11-r1
perl-doc-5.30.3-r0
perl-encode-locale-1.05-r2
perl-eval-closure-0.14-r1
perl-exception-class-1.44-r1
perl-exporter-tiny-1.002002-r0
perl-file-listing-6.04-r2
perl-file-sharedir-1.116-r1
perl-file-sharedir-install-0.13-r1
perl-file-slurp-9999.30-r0
perl-file-temp-0.2309-r1
perl-file-which-1.23-r1
perl-getopt-long-2.51-r1
perl-html-parser-3.72-r5
perl-html-tagset-3.20-r2
perl-html-tree-5.07-r1
perl-http-cookies-6.08-r0
perl-http-daemon-6.10-r0
perl-http-date-6.05-r0
perl-http-message-6.24-r0
perl-http-negotiate-6.01-r2
perl-importer-0.025-r0
perl-io-1.42-r0
perl-io-compress-2.093-r0
perl-io-html-1.001-r2
perl-io-socket-ssl-2.068-r0
perl-io-stringy-2.113-r0
perl-ipc-run3-0.048-r1
perl-json-4.02-r0
perl-json-xs-4.02-r1
perl-libwww-6.44-r0
perl-lingua-en-numbers-ordinate-1.04-r2
perl-lingua-preferred-0.2.4-r2
perl-list-moreutils-0.428-r0
perl-list-moreutils-xs-0.428-r3
perl-lwp-mediatypes-6.04-r0
perl-lwp-useragent-determined-1.07-r1
perl-module-build-0.4231-r0
perl-module-implementation-0.09-r2
perl-module-metadata-1.000037-r0
perl-module-pluggable-5.2-r1
perl-module-runtime-0.016-r3
perl-mro-compat-0.13-r1
perl-namespace-autoclean-0.29-r1
perl-namespace-clean-0.27-r1
perl-net-http-6.19-r0
perl-net-libidn-0.12-r8
perl-net-ssleay-1.88-r0
perl-package-deprecationmanager-0.17-r1
perl-package-stash-0.38-r2
perl-package-stash-xs-0.29-r3
perl-params-util-1.07-r8
perl-params-validate-1.29-r3
perl-params-validationcompiler-0.30-r0
perl-parse-recdescent-1.967015-r2
perl-path-class-0.37-r1
perl-pod-coverage-0.23-r1
perl-role-tiny-2.001004-r0
perl-scalar-list-utils-1.55-r0
perl-scope-guard-0.21-r1
perl-specio-0.46-r0
perl-sub-exporter-progressive-0.001013-r1
perl-sub-identify-0.14-r4
perl-sub-info-0.002-r1
perl-sub-install-0.928-r1
perl-sub-name-0.26-r1
perl-sub-quote-2.006006-r0
perl-sub-uplevel-0.2800-r1
perl-term-progressbar-2.22-r1
perl-term-readkey-2.38-r3
perl-term-table-0.015-r0
perl-test-exception-0.43-r1
perl-test-fatal-0.014-r2
perl-test-needs-0.002006-r0
perl-test-pod-1.52-r1
perl-test-requires-0.11-r0
perl-test-simple-1.302175-r0
perl-test-taint-1.08-r2
perl-test-warnings-0.030-r0
perl-test-without-module-0.20-r1
perl-test2-plugin-nowarnings-0.08-r1
perl-test2-suite-0.000129-r0
perl-timedate-2.33-r0
perl-try-tiny-0.30-r1
perl-types-serialiser-1.0-r2
perl-unicode-string-2.10-r1
perl-uri-1.76-r0
perl-variable-magic-0.62-r3
perl-www-robotrules-6.02-r2
perl-xml-libxml-2.0205-r0
perl-xml-libxslt-1.99-r0
perl-xml-namespacesupport-1.12-r1
perl-xml-parser-2.46-r0
perl-xml-sax-1.02-r0
perl-xml-sax-base-1.09-r1
perl-xml-treepp-0.43-r2
perl-xml-twig-3.52-r2
perl-xml-writer-0.625-r3
perl-yaml-syck-1.32-r0
procps-3.3.16-r0
py3-appdirs-1.4.4-r1
py3-certifi-2020.4.5.1-r0
py3-chardet-3.0.4-r4
py3-idna-2.9-r0
py3-ordered-set-4.0.1-r0
py3-packaging-20.4-r0
py3-parsing-2.4.7-r0
py3-requests-2.23.0-r0
py3-setuptools-47.0.0-r0
py3-six-1.15.0-r0
py3-urllib3-1.25.9-r0
python2-2.7.18-r0
python3-3.8.10-r0
readline-8.0.4-r0
scanelf-1.2.6-r0
sdl2-2.0.12-r1
shadow-4.8.1-r0
sqlite-libs-3.32.1-r1
ssl_client-1.31.1-r20
tar-1.32-r2
tzdata-2021a-r0
uriparser-0.9.3-r1
v4l-utils-libs-1.20.0-r0
wayland-libs-client-1.18.0-r4
wget-1.20.3-r1
x264-20191119-r1
x264-libs-20191119-r1
x265-3.3-r1
x265-libs-3.3-r1
libxslt-1.1.35-r0
linux-headers-5.10.41-r0
linux-pam-1.5.2-r0
llvm12-libs-12.0.1-r0
mesa-21.2.6-r0
mesa-dri-ati-21.2.6-r0
mesa-dri-classic-21.2.6-r0
mesa-dri-gallium-21.2.6-r0
mesa-glapi-21.2.6-r0
mesa-va-gallium-21.2.6-r0
mesa-vdpau-gallium-21.2.6-r0
mpdecimal-2.5.1-r1
musl-1.2.2-r7
musl-utils-1.2.2-r7
ncurses-libs-6.3_p20211120-r1
ncurses-terminfo-base-6.3_p20211120-r1
nettle-3.7.3-r0
nghttp2-libs-1.46.0-r0
openssl-1.1.1q-r0
opus-1.3.1-r1
p11-kit-0.24.0-r1
pcre-8.45-r1
pcre2-10.40-r0
perl-5.34.0-r1
perl-archive-zip-1.68-r1
perl-b-hooks-endofscope-0.25-r0
perl-boolean-0.46-r2
perl-capture-tiny-0.48-r2
perl-cgi-4.53-r0
perl-class-data-inheritable-0.09-r0
perl-class-inspector-1.36-r2
perl-class-methodmaker-2.24-r8
perl-class-singleton-1.6-r0
perl-common-sense-3.75-r2
perl-compress-raw-zlib-2.101-r1
perl-cpan-meta-check-0.014-r2
perl-date-manip-6.86-r0
perl-datetime-1.54-r1
perl-datetime-format-strptime-1.79-r0
perl-datetime-locale-1.33-r0
perl-datetime-timezone-2.51-r0
perl-dbd-sqlite-1.70-r1
perl-dbi-1.643-r3
perl-devel-stacktrace-2.04-r3
perl-devel-symdump-2.18-r2
perl-digest-sha1-2.13-r14
perl-dist-checkconflicts-0.11-r2
perl-doc-5.34.0-r1
perl-encode-locale-1.05-r3
perl-eval-closure-0.14-r2
perl-exception-class-1.45-r0
perl-exporter-tiny-1.002002-r1
perl-file-listing-6.14-r0
perl-file-sharedir-1.118-r0
perl-file-sharedir-install-0.13-r2
perl-file-slurp-9999.32-r1
perl-file-temp-0.2311-r0
perl-file-which-1.27-r0
perl-getopt-long-2.52-r1
perl-html-parser-3.76-r1
perl-html-tagset-3.20-r3
perl-html-tree-5.07-r2
perl-http-cookies-6.10-r0
perl-http-daemon-6.12-r1
perl-http-date-6.05-r1
perl-http-message-6.35-r0
perl-http-negotiate-6.01-r3
perl-importer-0.026-r1
perl-io-1.48-r0
perl-io-html-1.004-r0
perl-io-socket-ssl-2.072-r0
perl-io-stringy-2.113-r1
perl-ipc-run3-0.048-r2
perl-json-4.03-r1
perl-json-xs-4.03-r1
perl-libwww-6.58-r0
perl-lingua-en-numbers-ordinate-1.05-r0
perl-lingua-preferred-0.2.4-r4
perl-list-moreutils-0.430-r0
perl-list-moreutils-xs-0.430-r1
perl-lwp-mediatypes-6.04-r1
perl-lwp-useragent-determined-1.07-r2
perl-module-build-0.4231-r1
perl-module-implementation-0.09-r3
perl-module-metadata-1.000037-r1
perl-module-pluggable-5.2-r2
perl-module-runtime-0.016-r4
perl-mozilla-ca-20211001-r0
perl-mro-compat-0.13-r2
perl-namespace-autoclean-0.29-r2
perl-namespace-clean-0.27-r2
perl-net-http-6.21-r0
perl-net-ssleay-1.90-r3
perl-package-deprecationmanager-0.17-r2
perl-package-stash-0.39-r0
perl-params-util-1.102-r1
perl-params-validate-1.30-r1
perl-params-validationcompiler-0.30-r1
perl-parse-recdescent-1.967015-r3
perl-path-class-0.37-r2
perl-pod-coverage-0.23-r2
perl-pod-parser-1.63-r1
perl-role-tiny-2.002004-r1
perl-scalar-list-utils-1.60-r0
perl-scope-guard-0.21-r2
perl-specio-0.47-r0
perl-sub-exporter-progressive-0.001013-r2
perl-sub-identify-0.14-r6
perl-sub-info-0.002-r2
perl-sub-install-0.928-r2
perl-sub-name-0.26-r3
perl-sub-quote-2.006006-r1
perl-sub-uplevel-0.2800-r2
perl-term-progressbar-2.22-r2
perl-term-readkey-2.38-r6
perl-term-table-0.015-r1
perl-test-exception-0.43-r2
perl-test-fatal-0.016-r3
perl-test-pod-1.52-r2
perl-test-requires-0.11-r1
perl-test-simple-1.302188-r1
perl-test-taint-1.08-r4
perl-test-warnings-0.031-r0
perl-test-without-module-0.20-r2
perl-test2-plugin-nowarnings-0.09-r1
perl-test2-suite-0.000142-r0
perl-timedate-2.33-r1
perl-try-tiny-0.30-r3
perl-types-serialiser-1.01-r0
perl-unicode-string-2.10-r3
perl-uri-5.10-r0
perl-variable-magic-0.62-r5
perl-www-robotrules-6.02-r3
perl-xml-libxml-2.0207-r1
perl-xml-libxslt-1.99-r2
perl-xml-namespacesupport-1.12-r3
perl-xml-parser-2.46-r2
perl-xml-sax-1.02-r1
perl-xml-sax-base-1.09-r3
perl-xml-treepp-0.43-r3
perl-xml-twig-3.52-r3
perl-xml-writer-0.900-r0
procps-3.3.17-r0
py3-certifi-2020.12.5-r1
py3-charset-normalizer-2.0.7-r0
py3-idna-3.3-r0
py3-requests-2.26.0-r1
py3-urllib3-1.26.7-r0
python3-3.9.13-r1
readline-8.1.1-r0
s6-ipcserver-2.11.0.0-r0
scanelf-1.3.3-r0
sdl2-2.0.16-r4
shadow-4.8.1-r1
skalibs-2.11.0.0-r0
soxr-0.1.3-r2
sqlite-libs-3.36.0-r0
ssl_client-1.34.1-r7
tar-1.34-r0
tzdata-2022a-r0
uriparser-0.9.6-r0
utmps-0.1.0.3-r0
v4l-utils-libs-1.22.1-r1
vidstab-1.1.0-r1
vulkan-loader-1.2.196-r0
wayland-libs-client-1.19.0-r1
wget-1.21.2-r2
x264-20210613-r0
x264-libs-20210613-r0
x265-3.5-r0
x265-libs-3.5-r0
xvidcore-1.3.7-r1
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3
zstd-libs-1.4.9-r0
xz-5.2.5-r1
xz-libs-5.2.5-r1
zlib-1.2.12-r2
zstd-libs-1.5.0-r0

View File

@@ -1,6 +1,7 @@
requires 'perl' => '5.24.0';
# perl packages for tvheadend x86
requires 'Data::Dump' ;
requires 'DateTime::Format::ISO8601' ;
requires 'DateTime::Format::SQLite' ;
requires 'Encode' ;

View File

@@ -23,8 +23,6 @@ development_versions: true
development_versions_items:
- { tag: "latest", desc: "Current latest release." }
- { tag: "release-4.2", desc: "Latest release from 4.2 branch." }
- { tag: "stable-4.2.1", desc: "Old stable version. Will not be updated anymore!" }
- { tag: "stable-4.0.9", desc: "Old stable version. Will not be updated anymore!" }
# container parameters
common_param_env_vars_enabled: true
@@ -126,6 +124,8 @@ app_setup_block: |
# changelog
changelogs:
- { date: "16.04.22:", desc: "Added URL XMLTV grabber." }
- { date: "05.01.22:", desc: "Rebase to Alpine 3.15. Disable execinfo to fix builds. Update xmltv." }
- { date: "11.05.21:", desc: "Added Intel iHD driver support." }
- { date: "02.06.20:", desc: "Update to Alpine 3.12." }
- { date: "27.12.19:", desc: "Add requests and perl-json-xs package." }

67
root/usr/bin/tv_grab_url Normal file
View File

@@ -0,0 +1,67 @@
#!/bin/bash
dflag=
vflag=
cflag=
if (( $# < 1 ))
then
exit 0
fi
OPTARG=""
URL=$1
for arg
do
delim=""
case "$arg" in
#translate --gnu-long-options to -g (short options)
--description) args="${args}-d ";;
--version) args="${args}-v ";;
--capabilities) args="${args}-c ";;
#pass through anything else
*) if [ "${arg:0:1}" == "-" ] || delim="\""
then
args="${args}${delim}${arg}${delim} "
else
OPTARG=${arg}
fi
esac
done
#Reset the positional parameters to the short options
eval set -- $args
while getopts "dvc" option
do
case $option in
d) dflag=1;;
v) vflag=1;;
c) cflag=1;;
\?) printf "unknown option: -%s\n" $OPTARG
printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0)
exit 2
;;
esac >&2
done
if [ "$dflag" ]
then
printf "XMLTV URL grabber\n"
exit 0
fi
if [ "$vflag" ]
then
printf "0.1\n"
exit 0
fi
if [ "$cflag" ]
then
printf "baseline\n"
exit 0
fi
curl -s "$URL"
exit 0