forked from Ivasoft/docker-tvheadend
Compare commits
16 Commits
e1fb5c02-l
...
221c29b4-l
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f2423c1628 | ||
|
|
6a902e358e | ||
|
|
05e3e94c17 | ||
|
|
f69f0308e8 | ||
|
|
0aa53af054 | ||
|
|
8290519f1e | ||
|
|
99f9917b5f | ||
|
|
0922cf5d87 | ||
|
|
7bcfb3bdf2 | ||
|
|
f8a739bf42 | ||
|
|
42d5564cea | ||
|
|
f95217ed6d | ||
|
|
308e7be673 | ||
|
|
797285de84 | ||
|
|
8507c5fb2e | ||
|
|
c60559b46f |
37
.github/ISSUE_TEMPLATE.md
vendored
37
.github/ISSUE_TEMPLATE.md
vendored
@@ -1,21 +1,34 @@
|
||||
<!--- Provide a general summary of the issue in the Title above -->
|
||||
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[][linuxserverurl]
|
||||
|
||||
|
||||
<!--- If you have an issue with the project, please provide us with the following information -->
|
||||
If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support.
|
||||
|
||||
<!--- Host OS -->
|
||||
<!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
|
||||
<!--- Docker log output, docker log <container-name> -->
|
||||
<!--- Mention if you're using symlinks on any of the volume mounts. -->
|
||||
<!--- Provide a general summary of the issue in the Title above -->
|
||||
|
||||
------------------------------
|
||||
|
||||
<!--- If you have a suggestion or fix for the project, please provide us with the following information -->
|
||||
## Expected Behavior
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
<!--- What you think your suggestion brings to the project, or fixes with the project -->
|
||||
<!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
|
||||
## Current Behavior
|
||||
<!--- Tell us what happens instead of the expected behavior -->
|
||||
|
||||
## Thanks, team linuxserver.io
|
||||
## Steps to Reproduce
|
||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||
<!--- reproduce this bug. Include code to reproduce, if relevant -->
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
## Environment
|
||||
**OS:**
|
||||
**CPU architecture:** x86_64/arm32/arm64
|
||||
**How docker service was installed:**
|
||||
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
|
||||
|
||||
## Command used to create docker container (run/create/compose/screenshot)
|
||||
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
|
||||
|
||||
## Docker logs
|
||||
<!--- Provide a full docker log, output of "docker logs tvheadend" -->
|
||||
|
||||
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
30
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -6,10 +6,34 @@
|
||||
|
||||
<!--- Before submitting a pull request please check the following -->
|
||||
|
||||
<!--- That you have made a branch in your fork, we'd rather not merge from your master -->
|
||||
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
|
||||
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
|
||||
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
|
||||
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
|
||||
<!--- -->
|
||||
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate -->
|
||||
|
||||
## Thanks, team linuxserver.io
|
||||
|
||||
<!--- Coding guidelines: -->
|
||||
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
|
||||
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
|
||||
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
|
||||
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
|
||||
|
||||
------------------------------
|
||||
|
||||
We welcome all PR’s though this doesn’t guarantee it will be accepted.
|
||||
|
||||
## Description:
|
||||
<!--- Describe your changes in detail -->
|
||||
|
||||
## Benefits of this PR and context:
|
||||
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
|
||||
|
||||
## How Has This Been Tested?
|
||||
<!--- Please describe in detail how you tested your changes. -->
|
||||
<!--- Include details of your testing environment, and the tests you ran to -->
|
||||
<!--- see how your change affects other areas of the code, etc. -->
|
||||
|
||||
|
||||
## Source / References:
|
||||
<!--- Please include any forum posts/github links relevant to the PR -->
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM lsiobase/alpine:3.10 as buildstage
|
||||
FROM lsiobase/alpine:3.11 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
@@ -128,6 +128,8 @@ RUN \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -220,7 +222,7 @@ RUN \
|
||||
make DESTDIR=/tmp/comskip-build install
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:3.10
|
||||
FROM lsiobase/alpine:3.11
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -335,4 +337,4 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config /recordings
|
||||
VOLUME /config
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM lsiobase/alpine:arm64v8-3.10 as buildstage
|
||||
FROM lsiobase/alpine:arm64v8-3.11 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
@@ -127,6 +127,8 @@ RUN \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -218,7 +220,7 @@ RUN \
|
||||
make DESTDIR=/tmp/comskip-build install
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:arm64v8-3.10
|
||||
FROM lsiobase/alpine:arm64v8-3.11
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -330,4 +332,4 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config /recordings
|
||||
VOLUME /config
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM lsiobase/alpine:arm32v7-3.10 as buildstage
|
||||
FROM lsiobase/alpine:arm32v7-3.11 as buildstage
|
||||
############## build stage ##############
|
||||
|
||||
# package versions
|
||||
@@ -127,6 +127,8 @@ RUN \
|
||||
git clone https://github.com/XMLTV/xmltv.git /tmp/xmltv && \
|
||||
cd /tmp/xmltv && \
|
||||
git checkout ${XMLTV_VER} && \
|
||||
echo "**** Fix test for xmltv alpine 3.11 ****" && \
|
||||
patch -p1 -i /tmp/patches/test_tv_imdb.t.patch && \
|
||||
echo "**** Perl 5.26 fixes for XMTLV ****" && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_latex && \
|
||||
sed "s/use POSIX 'tmpnam';//" -i filter/tv_to_text && \
|
||||
@@ -218,7 +220,7 @@ RUN \
|
||||
make DESTDIR=/tmp/comskip-build install
|
||||
|
||||
############## runtime stage ##############
|
||||
FROM lsiobase/alpine:arm32v7-3.10
|
||||
FROM lsiobase/alpine:arm32v7-3.11
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -330,4 +332,4 @@ COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9981 9982
|
||||
VOLUME /config /recordings
|
||||
VOLUME /config
|
||||
|
||||
218
Jenkinsfile
vendored
218
Jenkinsfile
vendored
@@ -2,6 +2,10 @@ pipeline {
|
||||
agent {
|
||||
label 'X86-64-MULTI'
|
||||
}
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60'))
|
||||
parallelsAlwaysFailFast()
|
||||
}
|
||||
// Input to determine if this is a package check
|
||||
parameters {
|
||||
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
|
||||
@@ -10,6 +14,8 @@ pipeline {
|
||||
environment {
|
||||
BUILDS_DISCORD=credentials('build_webhook_url')
|
||||
GITHUB_TOKEN=credentials('498b4638-2d02-4ce5-832d-8a57d01d97ab')
|
||||
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
|
||||
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
|
||||
EXT_GIT_BRANCH = 'master'
|
||||
EXT_USER = 'tvheadend'
|
||||
EXT_REPO = 'tvheadend'
|
||||
@@ -52,22 +58,7 @@ pipeline {
|
||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
||||
env.PULL_REQUEST = env.CHANGE_ID
|
||||
env.LICENSE_TAG = sh(
|
||||
script: '''#!/bin/bash
|
||||
if [ -e LICENSE ] ; then
|
||||
cat LICENSE | md5sum | cut -c1-8
|
||||
else
|
||||
echo none
|
||||
fi''',
|
||||
returnStdout: true).trim()
|
||||
env.FUNDING_TAG = sh(
|
||||
script: '''#!/bin/bash
|
||||
if [ -e ./.github/FUNDING.yml ] ; then
|
||||
cat ./.github/FUNDING.yml | md5sum | cut -c1-8
|
||||
else
|
||||
echo none
|
||||
fi''',
|
||||
returnStdout: true).trim()
|
||||
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md'
|
||||
}
|
||||
script{
|
||||
env.LS_RELEASE_NUMBER = sh(
|
||||
@@ -147,6 +138,9 @@ pipeline {
|
||||
steps {
|
||||
script{
|
||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + 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 {
|
||||
@@ -165,6 +159,9 @@ pipeline {
|
||||
steps {
|
||||
script{
|
||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/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 {
|
||||
@@ -183,6 +180,9 @@ pipeline {
|
||||
steps {
|
||||
script{
|
||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||
env.GITHUBIMAGE = 'docker.pkg.github.com/' + env.LS_USER + '/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/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 {
|
||||
@@ -238,35 +238,32 @@ pipeline {
|
||||
TEMPDIR=$(mktemp -d)
|
||||
docker pull linuxserver/jenkins-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||
docker pull linuxserver/doc-builder:latest
|
||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
|
||||
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
|
||||
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
|
||||
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ] || \
|
||||
[ "$(cat ${TEMPDIR}/${LS_REPO}/.github/FUNDING.yml | md5sum | cut -c1-8)" != "${FUNDING_TAG}" ]; then
|
||||
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f master
|
||||
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f master
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.github/FUNDING.yml ${TEMPDIR}/repo/${LS_REPO}/.github/FUNDING.yml
|
||||
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}/
|
||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE ./.github/FUNDING.yml
|
||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
|
||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||
git add ${TEMPLATED_FILES}
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
else
|
||||
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
fi
|
||||
mkdir -p ${TEMPDIR}/gitbook
|
||||
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
||||
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||
cd ${TEMPDIR}/gitbook/docker-documentation/
|
||||
git add images/docker-${CONTAINER_NAME}.md
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git commit -m 'Bot Updating Documentation'
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
||||
fi
|
||||
rm -Rf ${TEMPDIR}'''
|
||||
@@ -293,6 +290,26 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
/* #######################
|
||||
GitLab Mirroring
|
||||
####################### */
|
||||
// Ping into Gitlab to mirror this repo and have a registry endpoint
|
||||
stage("GitLab Mirror"){
|
||||
when {
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps{
|
||||
sh '''curl -H "Content-Type: application/json" -H "Private-Token: ${GITLAB_TOKEN}" -X POST https://gitlab.com/api/v4/projects \
|
||||
-d '{"namespace_id":'${GITLAB_NAMESPACE}',\
|
||||
"name":"'${LS_REPO}'",
|
||||
"mirror":true,\
|
||||
"import_url":"https://github.com/linuxserver/'${LS_REPO}'.git",\
|
||||
"issues_access_level":"disabled",\
|
||||
"merge_requests_access_level":"disabled",\
|
||||
"repository_access_level":"enabled",\
|
||||
"visibility":"public"}' '''
|
||||
}
|
||||
}
|
||||
/* ###############
|
||||
Build Container
|
||||
############### */
|
||||
@@ -524,19 +541,32 @@ pipeline {
|
||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||
usernameVariable: 'DOCKERUSER',
|
||||
passwordVariable: 'DOCKERPASS'
|
||||
],
|
||||
[
|
||||
$class: 'UsernamePasswordMultiBinding',
|
||||
credentialsId: 'Quay.io-Robot',
|
||||
usernameVariable: 'QUAYUSER',
|
||||
passwordVariable: 'QUAYPASS'
|
||||
]
|
||||
]) {
|
||||
echo 'Logging into DockerHub'
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
set -e
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
||||
docker push ${PUSHIMAGE}:latest
|
||||
docker push ${PUSHIMAGE}:${META_TAG}
|
||||
done
|
||||
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:${META_TAG} \
|
||||
${DELETEIMAGE}:latest || :
|
||||
done
|
||||
'''
|
||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
||||
sh "docker push ${IMAGE}:latest"
|
||||
sh "docker push ${IMAGE}:${META_TAG}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:${META_TAG} \
|
||||
${IMAGE}:latest || :'''
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -553,46 +583,81 @@ pipeline {
|
||||
credentialsId: '3f9ba4d5-100d-45b0-a3c4-633fd6061207',
|
||||
usernameVariable: 'DOCKERUSER',
|
||||
passwordVariable: 'DOCKERPASS'
|
||||
],
|
||||
[
|
||||
$class: 'UsernamePasswordMultiBinding',
|
||||
credentialsId: 'Quay.io-Robot',
|
||||
usernameVariable: 'QUAYUSER',
|
||||
passwordVariable: 'QUAYPASS'
|
||||
]
|
||||
]) {
|
||||
sh '''#! /bin/bash
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
'''
|
||||
sh '''#! /bin/bash
|
||||
set -e
|
||||
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
|
||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||
echo $GITHUB_TOKEN | docker login docker.pkg.github.com -u LinuxServer-CI --password-stdin
|
||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||
if [ "${CI}" == "false" ]; then
|
||||
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
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-latest"
|
||||
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
||||
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
||||
sh "docker push ${IMAGE}:amd64-latest"
|
||||
sh "docker push ${IMAGE}:arm32v7-latest"
|
||||
sh "docker push ${IMAGE}:arm64v8-latest"
|
||||
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
||||
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
|
||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --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}: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}:latest"
|
||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||
sh '''docker rmi \
|
||||
${IMAGE}:amd64-${META_TAG} \
|
||||
${IMAGE}:amd64-latest \
|
||||
${IMAGE}:arm32v7-${META_TAG} \
|
||||
${IMAGE}:arm32v7-latest \
|
||||
${IMAGE}:arm64v8-${META_TAG} \
|
||||
${IMAGE}:arm64v8-latest \
|
||||
fi
|
||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}"; 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}
|
||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker push ${MANIFESTIMAGE}:amd64-latest
|
||||
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||
done
|
||||
for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||
docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
|
||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
|
||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
|
||||
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:latest
|
||||
docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
|
||||
docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-latest
|
||||
docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-latest
|
||||
docker push ${LEGACYIMAGE}:amd64-${META_TAG}
|
||||
docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
|
||||
docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
|
||||
docker push ${LEGACYIMAGE}:latest
|
||||
docker push ${LEGACYIMAGE}:${META_TAG}
|
||||
docker push ${LEGACYIMAGE}:arm32v7-latest
|
||||
docker push ${LEGACYIMAGE}:arm64v8-latest
|
||||
done
|
||||
'''
|
||||
sh '''#! /bin/bash
|
||||
for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||
docker rmi \
|
||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||
${DELETEIMAGE}:amd64-latest \
|
||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||
${DELETEIMAGE}:arm32v7-latest \
|
||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||
${DELETEIMAGE}:arm64v8-latest || :
|
||||
done
|
||||
docker rmi \
|
||||
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -676,16 +741,19 @@ pipeline {
|
||||
sh 'echo "build aborted"'
|
||||
}
|
||||
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,\
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --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**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,\
|
||||
sh ''' curl -X POST -H "Content-Type: application/json" --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**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} '''
|
||||
}
|
||||
}
|
||||
}
|
||||
cleanup {
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
README.md
31
README.md
@@ -4,8 +4,8 @@
|
||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||
[](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
|
||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||
|
||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
||||
|
||||
@@ -20,15 +20,19 @@ Find us at:
|
||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
||||
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
||||
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
||||
|
||||
# [linuxserver/tvheadend](https://github.com/linuxserver/docker-tvheadend)
|
||||
[](https://github.com/linuxserver/docker-tvheadend/releases)
|
||||
|
||||
[](https://github.com/linuxserver/docker-tvheadend)
|
||||
[](https://github.com/linuxserver/docker-tvheadend/releases)
|
||||
[](https://github.com/linuxserver/docker-tvheadend/packages)
|
||||
[](https://gitlab.com/Linuxserver.io/docker-tvheadend/container_registry)
|
||||
[](https://quay.io/repository/linuxserver.io/tvheadend)
|
||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
||||
[](https://microbadger.com/images/linuxserver/tvheadend "Get your own version badge on microbadger.com")
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://hub.docker.com/r/linuxserver/tvheadend)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-tvheadend/job/master/)
|
||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/tvheadend/latest/index.html)
|
||||
|
||||
@@ -138,6 +142,18 @@ Container images are configured using parameters passed at runtime (such as thos
|
||||
| `--device /dev/dri` | Only needed if you want to use your AMD/Intel GPU for hardware accelerated video encoding (vaapi). |
|
||||
| `--device /dev/dvb` | 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. |
|
||||
|
||||
## Environment variables from files (Docker secrets)
|
||||
|
||||
You can set any environment variable from a file by using a special prepend `FILE__`.
|
||||
|
||||
As an example:
|
||||
|
||||
```
|
||||
-e FILE__PASSWORD=/run/secrets/mysecretpassword
|
||||
```
|
||||
|
||||
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
|
||||
|
||||
## User / Group Identifiers
|
||||
|
||||
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
||||
@@ -279,6 +295,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **27.12.19:** - Update to Alpine 3.11.
|
||||
* **02.10.19:** - Improve permission fixing on render & dvb devices.
|
||||
* **18.08.19:** - Add AMD drivers.
|
||||
* **02.08.19:** - Attempt to automatically fix permissions on /dev/dri and /dev/dvb.
|
||||
|
||||
@@ -1,113 +1,113 @@
|
||||
alpine-baselayout-3.1.2-r0
|
||||
alpine-baselayout-3.2.0-r3
|
||||
alpine-keys-2.1-r2
|
||||
alsa-lib-1.1.9-r0
|
||||
apk-tools-2.10.4-r2
|
||||
bash-5.0.0-r0
|
||||
bsd-compat-headers-0.7.1-r0
|
||||
busybox-1.30.1-r2
|
||||
bzip2-1.0.6-r7
|
||||
ca-certificates-20190108-r0
|
||||
ca-certificates-cacert-20190108-r0
|
||||
alsa-lib-1.2.1.2-r0
|
||||
apk-tools-2.10.4-r3
|
||||
bash-5.0.11-r1
|
||||
bsd-compat-headers-0.7.2-r0
|
||||
busybox-1.31.1-r8
|
||||
bzip2-1.0.8-r1
|
||||
ca-certificates-20191127-r0
|
||||
ca-certificates-cacert-20191127-r0
|
||||
coreutils-8.31-r0
|
||||
curl-7.66.0-r0
|
||||
curl-7.67.0-r0
|
||||
elfutils-libelf-0.168-r2
|
||||
expat-2.2.8-r0
|
||||
ffmpeg-4.1.4-r0
|
||||
ffmpeg-libs-4.1.4-r0
|
||||
fontconfig-2.13.1-r0
|
||||
freetype-2.10.0-r0
|
||||
fribidi-1.0.5-r1
|
||||
expat-2.2.9-r1
|
||||
ffmpeg-4.2.1-r3
|
||||
ffmpeg-libs-4.2.1-r3
|
||||
fontconfig-2.13.1-r2
|
||||
freetype-2.10.1-r0
|
||||
fribidi-1.0.8-r0
|
||||
gdbm-1.13-r1
|
||||
gmp-6.1.2-r1
|
||||
gnu-libiconv-1.15-r2
|
||||
gnutls-3.6.8-r0
|
||||
gnutls-3.6.10-r0
|
||||
gzip-1.10-r0
|
||||
lame-3.100-r0
|
||||
libacl-2.2.52-r6
|
||||
libacl-2.2.53-r0
|
||||
libass-0.14.0-r0
|
||||
libattr-2.4.48-r0
|
||||
libbsd-0.9.1-r0
|
||||
libbz2-1.0.6-r7
|
||||
libc-utils-0.7.1-r0
|
||||
libcrypto1.1-1.1.1d-r0
|
||||
libcurl-7.66.0-r0
|
||||
libdrm-2.4.98-r0
|
||||
libbsd-0.10.0-r0
|
||||
libbz2-1.0.8-r1
|
||||
libc-utils-0.7.2-r0
|
||||
libcrypto1.1-1.1.1d-r3
|
||||
libcurl-7.67.0-r0
|
||||
libdrm-2.4.100-r0
|
||||
libdvbcsa-1.1.0-r1
|
||||
libffi-3.2.1-r6
|
||||
libgcc-8.3.0-r0
|
||||
libgcrypt-1.8.4-r2
|
||||
libgcc-9.2.0-r3
|
||||
libgcrypt-1.8.5-r0
|
||||
libgpg-error-1.36-r2
|
||||
libhdhomerun-libs-20161117-r1
|
||||
libhdhomerun-libs-20190621-r0
|
||||
libidn-1.35-r0
|
||||
libjpeg-turbo-2.0.2-r0
|
||||
libogg-1.3.3-r2
|
||||
libpciaccess-0.14-r0
|
||||
libjpeg-turbo-2.0.3-r0
|
||||
libogg-1.3.4-r0
|
||||
libpciaccess-0.16-r0
|
||||
libpng-1.6.37-r1
|
||||
libssl1.1-1.1.1d-r0
|
||||
libstdc++-8.3.0-r0
|
||||
libtasn1-4.14-r0
|
||||
libssl1.1-1.1.1d-r3
|
||||
libstdc++-9.2.0-r3
|
||||
libtasn1-4.15.0-r0
|
||||
libtheora-1.1.1-r14
|
||||
libtls-standalone-2.9.1-r0
|
||||
libunistring-0.9.10-r0
|
||||
liburiparser-0.9.3-r0
|
||||
libuuid-2.33.2-r0
|
||||
libva-2.4.1-r0
|
||||
libva-intel-driver-2.3.0-r0
|
||||
libvdpau-1.2-r0
|
||||
libuuid-2.34-r1
|
||||
libva-2.6.0-r0
|
||||
libva-intel-driver-2.4.0-r0
|
||||
libvdpau-1.3-r0
|
||||
libvorbis-1.3.6-r2
|
||||
libvpx-1.8.0-r0
|
||||
libx11-1.6.8-r1
|
||||
libvpx-1.8.1-r0
|
||||
libx11-1.6.9-r0
|
||||
libxau-1.0.9-r0
|
||||
libxcb-1.13.1-r0
|
||||
libxdmcp-1.1.3-r0
|
||||
libxext-1.3.4-r0
|
||||
libxfixes-5.0.3-r2
|
||||
libxml2-2.9.9-r2
|
||||
libxml2-2.9.10-r1
|
||||
libxshmfence-1.3-r0
|
||||
libxslt-1.1.33-r1
|
||||
libxslt-1.1.34-r0
|
||||
linux-headers-4.19.36-r0
|
||||
linux-pam-1.3.0-r1
|
||||
llvm8-libs-8.0.0-r1
|
||||
mesa-19.0.6-r0
|
||||
mesa-dri-ati-19.0.6-r0
|
||||
mesa-glapi-19.0.6-r0
|
||||
musl-1.1.22-r3
|
||||
musl-utils-1.1.22-r3
|
||||
ncurses-libs-6.1_p20190518-r0
|
||||
ncurses-terminfo-6.1_p20190518-r0
|
||||
ncurses-terminfo-base-6.1_p20190518-r0
|
||||
nettle-3.4.1-r1
|
||||
nghttp2-libs-1.39.2-r0
|
||||
openssl-1.1.1d-r0
|
||||
linux-pam-1.3.1-r1
|
||||
llvm9-libs-9.0.0-r1
|
||||
mesa-19.2.7-r0
|
||||
mesa-dri-ati-19.2.7-r0
|
||||
mesa-glapi-19.2.7-r0
|
||||
musl-1.1.24-r0
|
||||
musl-utils-1.1.24-r0
|
||||
ncurses-libs-6.1_p20191130-r0
|
||||
ncurses-terminfo-6.1_p20191130-r0
|
||||
ncurses-terminfo-base-6.1_p20191130-r0
|
||||
nettle-3.5.1-r0
|
||||
nghttp2-libs-1.40.0-r0
|
||||
openssl-1.1.1d-r3
|
||||
opus-1.3.1-r0
|
||||
p11-kit-0.23.16.1-r0
|
||||
pcre2-10.33-r0
|
||||
perl-5.28.2-r1
|
||||
perl-archive-zip-1.64-r0
|
||||
p11-kit-0.23.18.1-r0
|
||||
pcre2-10.34-r1
|
||||
perl-5.30.1-r0
|
||||
perl-archive-zip-1.67-r0
|
||||
perl-b-hooks-endofscope-0.24-r0
|
||||
perl-boolean-0.46-r0
|
||||
perl-capture-tiny-0.48-r0
|
||||
perl-cgi-4.44-r0
|
||||
perl-class-data-inheritable-0.08-r0
|
||||
perl-class-inspector-1.34-r0
|
||||
perl-class-methodmaker-2.24-r3
|
||||
perl-class-inspector-1.36-r0
|
||||
perl-class-methodmaker-2.24-r4
|
||||
perl-class-singleton-1.5-r0
|
||||
perl-compress-raw-bzip2-2.086-r1
|
||||
perl-compress-raw-zlib-2.086-r1
|
||||
perl-compress-raw-bzip2-2.093-r0
|
||||
perl-compress-raw-zlib-2.093-r0
|
||||
perl-cpan-meta-check-0.014-r0
|
||||
perl-data-dumper-2.173-r1
|
||||
perl-date-manip-6.77-r0
|
||||
perl-datetime-1.51-r0
|
||||
perl-data-dumper-2.173-r3
|
||||
perl-date-manip-6.79-r0
|
||||
perl-datetime-1.51-r1
|
||||
perl-datetime-format-strptime-1.76-r0
|
||||
perl-datetime-locale-1.23-r0
|
||||
perl-datetime-timezone-2.19-r0
|
||||
perl-dbd-sqlite-1.62-r1
|
||||
perl-dbi-1.642-r1
|
||||
perl-datetime-locale-1.25-r0
|
||||
perl-datetime-timezone-2.38-r0
|
||||
perl-dbd-sqlite-1.64-r1
|
||||
perl-dbi-1.642-r2
|
||||
perl-devel-stacktrace-2.04-r0
|
||||
perl-devel-symdump-2.18-r0
|
||||
perl-digest-sha1-2.13-r10
|
||||
perl-digest-sha1-2.13-r11
|
||||
perl-dist-checkconflicts-0.11-r0
|
||||
perl-doc-5.28.2-r1
|
||||
perl-doc-5.30.1-r0
|
||||
perl-encode-locale-1.05-r1
|
||||
perl-eval-closure-0.14-r0
|
||||
perl-exception-class-1.44-r0
|
||||
@@ -115,112 +115,112 @@ perl-exporter-tiny-1.002001-r0
|
||||
perl-file-listing-6.04-r1
|
||||
perl-file-sharedir-1.116-r0
|
||||
perl-file-sharedir-install-0.13-r0
|
||||
perl-file-slurp-9999.27-r0
|
||||
perl-file-slurp-9999.29-r0
|
||||
perl-file-temp-0.2309-r0
|
||||
perl-file-which-1.23-r0
|
||||
perl-getopt-long-2.50-r0
|
||||
perl-html-parser-3.72-r3
|
||||
perl-getopt-long-2.51-r0
|
||||
perl-html-parser-3.72-r4
|
||||
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-cookies-6.08-r0
|
||||
perl-http-daemon-6.06-r0
|
||||
perl-http-date-6.05-r0
|
||||
perl-http-message-6.18-r0
|
||||
perl-http-negotiate-6.01-r1
|
||||
perl-importer-0.025-r0
|
||||
perl-io-1.25-r5
|
||||
perl-io-compress-2.086-r0
|
||||
perl-io-html-1.001-r1
|
||||
perl-io-socket-ssl-2.060-r0
|
||||
perl-io-stringy-2.111-r1
|
||||
perl-ipc-run3-0.048-r0
|
||||
perl-json-2.97000-r0
|
||||
perl-libwww-6.39-r1
|
||||
perl-io-1.39-r0
|
||||
perl-io-compress-2.093-r0
|
||||
perl-io-html-1.001-r2
|
||||
perl-io-socket-ssl-2.066-r0
|
||||
perl-io-stringy-2.112-r0
|
||||
perl-ipc-run3-0.048-r1
|
||||
perl-json-4.02-r0
|
||||
perl-libwww-6.43-r0
|
||||
perl-lingua-en-numbers-ordinate-1.04-r1
|
||||
perl-lingua-preferred-0.2.4-r1
|
||||
perl-list-moreutils-0.428-r0
|
||||
perl-list-moreutils-xs-0.428-r1
|
||||
perl-list-moreutils-xs-0.428-r2
|
||||
perl-lwp-mediatypes-6.04-r0
|
||||
perl-lwp-useragent-determined-1.07-r0
|
||||
perl-module-build-0.4229-r0
|
||||
perl-module-implementation-0.09-r1
|
||||
perl-module-metadata-1.000036-r0
|
||||
perl-module-metadata-1.000037-r0
|
||||
perl-module-pluggable-5.2-r0
|
||||
perl-module-runtime-0.016-r2
|
||||
perl-mro-compat-0.13-r0
|
||||
perl-namespace-autoclean-0.28-r0
|
||||
perl-namespace-autoclean-0.29-r0
|
||||
perl-namespace-clean-0.27-r0
|
||||
perl-net-http-6.19-r0
|
||||
perl-net-libidn-0.12-r6
|
||||
perl-net-ssleay-1.85-r5
|
||||
perl-net-libidn-0.12-r7
|
||||
perl-net-ssleay-1.88-r0
|
||||
perl-package-deprecationmanager-0.17-r0
|
||||
perl-package-stash-0.38-r1
|
||||
perl-package-stash-xs-0.29-r1
|
||||
perl-params-util-1.07-r6
|
||||
perl-params-validate-1.29-r1
|
||||
perl-params-validationcompiler-0.27-r0
|
||||
perl-package-stash-xs-0.29-r2
|
||||
perl-params-util-1.07-r7
|
||||
perl-params-validate-1.29-r2
|
||||
perl-params-validationcompiler-0.30-r0
|
||||
perl-parse-recdescent-1.967015-r1
|
||||
perl-path-class-0.37-r0
|
||||
perl-pod-coverage-0.23-r0
|
||||
perl-role-tiny-2.000006-r0
|
||||
perl-scalar-list-utils-1.50-r1
|
||||
perl-role-tiny-2.001004-r0
|
||||
perl-scalar-list-utils-1.53-r1
|
||||
perl-scope-guard-0.21-r0
|
||||
perl-specio-0.42-r0
|
||||
perl-specio-0.45-r0
|
||||
perl-sub-exporter-progressive-0.001013-r0
|
||||
perl-sub-identify-0.14-r2
|
||||
perl-sub-identify-0.14-r3
|
||||
perl-sub-info-0.002-r0
|
||||
perl-sub-install-0.928-r0
|
||||
perl-sub-name-0.21-r2
|
||||
perl-sub-quote-2.004000-r0
|
||||
perl-sub-name-0.26-r0
|
||||
perl-sub-quote-2.006006-r0
|
||||
perl-sub-uplevel-0.2800-r0
|
||||
perl-term-progressbar-2.22-r0
|
||||
perl-term-readkey-2.38-r1
|
||||
perl-term-table-0.012-r0
|
||||
perl-term-readkey-2.38-r2
|
||||
perl-term-table-0.015-r0
|
||||
perl-test-exception-0.43-r0
|
||||
perl-test-fatal-0.014-r1
|
||||
perl-test-needs-0.002005-r1
|
||||
perl-test-needs-0.002006-r0
|
||||
perl-test-pod-1.52-r0
|
||||
perl-test-requires-0.10-r0
|
||||
perl-test-simple-1.302164-r0
|
||||
perl-test-taint-1.08-r0
|
||||
perl-test-warnings-0.026-r0
|
||||
perl-test-simple-1.302170-r0
|
||||
perl-test-taint-1.08-r1
|
||||
perl-test-warnings-0.027-r0
|
||||
perl-test-without-module-0.20-r0
|
||||
perl-test2-plugin-nowarnings-0.07-r0
|
||||
perl-test2-suite-0.000122-r0
|
||||
perl-test2-plugin-nowarnings-0.08-r0
|
||||
perl-test2-suite-0.000127-r0
|
||||
perl-timedate-2.30-r1
|
||||
perl-try-tiny-0.30-r1
|
||||
perl-unicode-string-2.09-r7
|
||||
perl-unicode-string-2.10-r1
|
||||
perl-uri-1.76-r0
|
||||
perl-variable-magic-0.62-r1
|
||||
perl-variable-magic-0.62-r2
|
||||
perl-www-robotrules-6.02-r1
|
||||
perl-xml-libxml-2.0134-r2
|
||||
perl-xml-libxslt-1.96-r1
|
||||
perl-xml-libxml-2.0134-r3
|
||||
perl-xml-libxslt-1.96-r2
|
||||
perl-xml-namespacesupport-1.12-r0
|
||||
perl-xml-parser-2.44-r5
|
||||
perl-xml-sax-0.99-r2
|
||||
perl-xml-parser-2.46-r0
|
||||
perl-xml-sax-1.02-r0
|
||||
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.31-r1
|
||||
python2-2.7.16-r1
|
||||
readline-8.0.0-r0
|
||||
scanelf-1.2.3-r0
|
||||
perl-yaml-syck-1.31-r2
|
||||
python2-2.7.16-r3
|
||||
readline-8.0.1-r0
|
||||
scanelf-1.2.4-r0
|
||||
sdl2-2.0.10-r0
|
||||
shadow-4.6-r2
|
||||
sqlite-libs-3.28.0-r0
|
||||
ssl_client-1.30.1-r2
|
||||
tar-1.32-r0
|
||||
tzdata-2019b-r0
|
||||
shadow-4.7-r1
|
||||
sqlite-libs-3.30.1-r1
|
||||
ssl_client-1.31.1-r8
|
||||
tar-1.32-r1
|
||||
tzdata-2019c-r0
|
||||
uriparser-0.9.3-r0
|
||||
v4l-utils-libs-1.16.6-r0
|
||||
v4l-utils-libs-1.18.0-r0
|
||||
wayland-libs-client-1.17.0-r0
|
||||
wget-1.20.3-r0
|
||||
x264-20180304-r1
|
||||
x264-libs-20180304-r1
|
||||
x265-3.0-r0
|
||||
x265-libs-3.0-r0
|
||||
xvidcore-1.3.4-r1
|
||||
x264-20191119-r0
|
||||
x264-libs-20191119-r0
|
||||
x265-3.2.1-r0
|
||||
x265-libs-3.2.1-r0
|
||||
xvidcore-1.3.5-r0
|
||||
xz-5.2.4-r0
|
||||
xz-libs-5.2.4-r0
|
||||
zlib-1.2.11-r1
|
||||
zlib-1.2.11-r3
|
||||
|
||||
20
patches/test_tv_imdb.t.patch
Normal file
20
patches/test_tv_imdb.t.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
t/test_tv_imdb.t | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/t/test_tv_imdb.t b/t/test_tv_imdb.t
|
||||
index ad504464..4dc281a1 100755
|
||||
--- a/t/test_tv_imdb.t
|
||||
+++ b/t/test_tv_imdb.t
|
||||
@@ -84,9 +84,9 @@ INPUT: foreach my $input (@inputs) {
|
||||
my $output="$tmpDir/".File::Basename::basename($input)."-output.xml";
|
||||
|
||||
# Make temporary directory and split into it.
|
||||
- my $cmd="$cmds_dir/tv_imdb --quiet --imdbdir '$tmpDir' --with-keywords --with-plot < $input > '$output' 2>&1";
|
||||
+ my $cmd="$cmds_dir/tv_imdb --quiet --imdbdir '$tmpDir' --with-keywords --with-plot --output '$output' '$input' 2>&1";
|
||||
if ( $input=~m/movies-only/ ) {
|
||||
- $cmd="$cmds_dir/tv_imdb --movies-only --quiet --imdbdir '$tmpDir' --with-keywords --with-plot < $input > '$output' 2>&1";
|
||||
+ $cmd="$cmds_dir/tv_imdb --movies-only --quiet --imdbdir '$tmpDir' --with-keywords --with-plot --output '$output' '$input' 2>&1";
|
||||
}
|
||||
#print STDERR "\nRUN:$cmd\n";
|
||||
my $r = system($cmd);
|
||||
@@ -126,6 +126,7 @@ app_setup_block: |
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "27.12.19:", desc: "Update to Alpine 3.11." }
|
||||
- { date: "02.10.19:", desc: "Improve permission fixing on render & dvb devices." }
|
||||
- { date: "18.08.19:", desc: "Add AMD drivers." }
|
||||
- { date: "02.08.19:", desc: "Attempt to automatically fix permissions on /dev/dri and /dev/dvb." }
|
||||
|
||||
@@ -11,7 +11,7 @@ do
|
||||
if [ ! "${VIDEO_GID}" == '0' ]; then
|
||||
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
|
||||
if [ -z "${VIDEO_NAME}" ]; then
|
||||
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c8)"
|
||||
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c8)"
|
||||
groupadd "$VIDEO_NAME"
|
||||
groupmod -g "$VIDEO_GID" "$VIDEO_NAME"
|
||||
fi
|
||||
@@ -23,4 +23,4 @@ done
|
||||
|
||||
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
||||
usermod -a -G root abc
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user