forked from Ivasoft/docker-tvheadend
Compare commits
15 Commits
d1366a06-l
...
18effa8a-l
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ba4ea42004 | ||
|
|
9eb549257c | ||
|
|
9d937649a3 | ||
|
|
fb3cf77ee1 | ||
|
|
ba4c2d4ddf | ||
|
|
872a422b3b | ||
|
|
0fc26ae6d2 | ||
|
|
86630cc696 | ||
|
|
e6e49062ec | ||
|
|
d7e8758b7d | ||
|
|
a1c3f4e8a9 | ||
|
|
fa7487747d | ||
|
|
cf936490b9 | ||
|
|
251f0dc45c | ||
|
|
36fbd65464 |
12
.github/workflows/call_invalid_helper.yml
vendored
12
.github/workflows/call_invalid_helper.yml
vendored
@@ -1,12 +0,0 @@
|
|||||||
name: Comment on invalid interaction
|
|
||||||
on:
|
|
||||||
issues:
|
|
||||||
types:
|
|
||||||
- labeled
|
|
||||||
jobs:
|
|
||||||
add-comment-on-invalid:
|
|
||||||
if: github.event.label.name == 'invalid'
|
|
||||||
permissions:
|
|
||||||
issues: write
|
|
||||||
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
|
|
||||||
secrets: inherit
|
|
||||||
14
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file
14
.github/workflows/call_issue_pr_tracker.yml
vendored
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
name: Issue & PR Tracker
|
||||||
|
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened,reopened,labeled,unlabeled]
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
manage-project:
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
|
||||||
|
secrets: inherit
|
||||||
13
.github/workflows/call_issues_cron.yml
vendored
Executable file
13
.github/workflows/call_issues_cron.yml
vendored
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
name: Mark stale issues and pull requests
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '27 13 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
|
||||||
|
secrets: inherit
|
||||||
@@ -2,7 +2,7 @@ name: Package Trigger Scheduler
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '52 14 * * 0'
|
- cron: '25 15 * * 6'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
3
.github/workflows/permissions.yml
vendored
3
.github/workflows/permissions.yml
vendored
@@ -1,9 +1,10 @@
|
|||||||
name: Permission check
|
name: Permission check
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
paths:
|
paths:
|
||||||
- '**/run'
|
- '**/run'
|
||||||
- '**/finish'
|
- '**/finish'
|
||||||
|
- '**/check'
|
||||||
jobs:
|
jobs:
|
||||||
permission_check:
|
permission_check:
|
||||||
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
|
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
|
||||||
|
|||||||
23
.github/workflows/stale.yml
vendored
23
.github/workflows/stale.yml
vendored
@@ -1,23 +0,0 @@
|
|||||||
name: Mark stale issues and pull requests
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "30 1 * * *"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
stale:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/stale@v6.0.1
|
|
||||||
with:
|
|
||||||
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
|
||||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
|
||||||
stale-issue-label: 'no-issue-activity'
|
|
||||||
stale-pr-label: 'no-pr-activity'
|
|
||||||
days-before-stale: 30
|
|
||||||
days-before-close: 365
|
|
||||||
exempt-issue-labels: 'awaiting-approval,work-in-progress'
|
|
||||||
exempt-pr-labels: 'awaiting-approval,work-in-progress'
|
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
20
Dockerfile
20
Dockerfile
@@ -1,5 +1,10 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
############## picons stage ##############
|
||||||
|
# built by https://github.com/linuxserver/picons-builder
|
||||||
|
FROM ghcr.io/linuxserver/picons-builder as piconsstage
|
||||||
|
|
||||||
|
|
||||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage
|
FROM ghcr.io/linuxserver/baseimage-alpine:3.17 as buildstage
|
||||||
############## build stage ##############
|
############## build stage ##############
|
||||||
|
|
||||||
@@ -12,8 +17,9 @@ ARG TZ="Etc/UTC"
|
|||||||
ARG TVHEADEND_COMMIT
|
ARG TVHEADEND_COMMIT
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches and picons
|
||||||
COPY patches/ /tmp/patches/
|
COPY patches/ /tmp/patches/
|
||||||
|
COPY --from=piconsstage /picons.tar.bz2 /picons.tar.bz2
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
@@ -211,10 +217,12 @@ RUN \
|
|||||||
make -j 2 && \
|
make -j 2 && \
|
||||||
make DESTDIR=/tmp/comskip-build install
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
############## picons stage ##############
|
RUN \
|
||||||
# built by https://github.com/linuxserver/picons-builder
|
echo "***** extract picons ****" && \
|
||||||
FROM ghcr.io/linuxserver/picons-builder as piconsstage
|
mkdir -p /picons && \
|
||||||
|
tar xf \
|
||||||
|
/picons.tar.bz2 -C \
|
||||||
|
/picons
|
||||||
|
|
||||||
############## runtime stage ##############
|
############## runtime stage ##############
|
||||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.17
|
FROM ghcr.io/linuxserver/baseimage-alpine:3.17
|
||||||
@@ -313,7 +321,7 @@ COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
|||||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
||||||
COPY --from=piconsstage /picons.tar.bz2 /picons.tar.bz2
|
COPY --from=buildstage /picons /picons
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
|
|||||||
@@ -1,5 +1,10 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
############## picons stage ##############
|
||||||
|
# built by https://github.com/linuxserver/picons-builder
|
||||||
|
FROM ghcr.io/linuxserver/picons-builder as piconsstage
|
||||||
|
|
||||||
|
|
||||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17 as buildstage
|
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17 as buildstage
|
||||||
############## build stage ##############
|
############## build stage ##############
|
||||||
|
|
||||||
@@ -12,8 +17,9 @@ ARG TZ="Etc/UTC"
|
|||||||
ARG TVHEADEND_COMMIT
|
ARG TVHEADEND_COMMIT
|
||||||
ENV HOME="/config"
|
ENV HOME="/config"
|
||||||
|
|
||||||
# copy patches
|
# copy patches and picons
|
||||||
COPY patches/ /tmp/patches/
|
COPY patches/ /tmp/patches/
|
||||||
|
COPY --from=piconsstage /picons.tar.bz2 /picons.tar.bz2
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
@@ -211,9 +217,12 @@ RUN \
|
|||||||
make -j 2 && \
|
make -j 2 && \
|
||||||
make DESTDIR=/tmp/comskip-build install
|
make DESTDIR=/tmp/comskip-build install
|
||||||
|
|
||||||
############## picons stage ##############
|
RUN \
|
||||||
# built by https://github.com/linuxserver/picons-builder
|
echo "***** extract picons ****" && \
|
||||||
FROM ghcr.io/linuxserver/picons-builder as piconsstage
|
mkdir -p /picons && \
|
||||||
|
tar xf \
|
||||||
|
/picons.tar.bz2 -C \
|
||||||
|
/picons
|
||||||
|
|
||||||
|
|
||||||
############## runtime stage ##############
|
############## runtime stage ##############
|
||||||
@@ -311,7 +320,7 @@ COPY --from=buildstage /tmp/tvheadend-build/usr/ /usr/
|
|||||||
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
COPY --from=buildstage /tmp/xmltv-build/usr/ /usr/
|
||||||
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
COPY --from=buildstage /usr/local/share/man/ /usr/local/share/man/
|
||||||
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
COPY --from=buildstage /usr/local/share/perl5/ /usr/local/share/perl5/
|
||||||
COPY --from=piconsstage /picons.tar.bz2 /picons.tar.bz2
|
COPY --from=buildstage /picons /picons
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
# ports and volumes
|
# ports and volumes
|
||||||
|
|||||||
64
Jenkinsfile
vendored
64
Jenkinsfile
vendored
@@ -59,7 +59,7 @@ pipeline {
|
|||||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
|
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.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
|
||||||
env.PULL_REQUEST = env.CHANGE_ID
|
env.PULL_REQUEST = env.CHANGE_ID
|
||||||
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/call_invalid_helper.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@@ -240,17 +240,14 @@ pipeline {
|
|||||||
}
|
}
|
||||||
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest
|
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
|
-v ${WORKSPACE}:/mnt \
|
||||||
-e FILE_NAME="shellcheck-result.xml" \
|
-e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \
|
||||||
-e MIMETYPE="text/xml" \
|
-e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \
|
||||||
-v ${WORKSPACE}:/mnt \
|
ghcr.io/linuxserver/baseimage-alpine:3.17 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
|
||||||
-e SECRET_KEY=\"${S3_SECRET}\" \
|
apk add --no-cache py3-pip && \
|
||||||
-e ACCESS_KEY=\"${S3_KEY}\" \
|
pip install s3cmd && \
|
||||||
-t ghcr.io/linuxserver/lsiodev-spaces-file-upload:latest \
|
s3cmd put --no-preserve --acl-public -m text/xml /mnt/shellcheck-result.xml s3://ci-tests.linuxserver.io/${IMAGE}/${META_TAG}/shellcheck-result.xml" || :'''
|
||||||
python /upload.py'''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -287,7 +284,7 @@ pipeline {
|
|||||||
echo "Jenkinsfile is up to date."
|
echo "Jenkinsfile is up to date."
|
||||||
fi
|
fi
|
||||||
# Stage 2 - Delete old templates
|
# Stage 2 - Delete old templates
|
||||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md\n.github/ISSUE_TEMPLATE/issue.bug.md\n.github/ISSUE_TEMPLATE/issue.feature.md"
|
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
|
||||||
for i in ${OLD_TEMPLATES}; do
|
for i in ${OLD_TEMPLATES}; do
|
||||||
if [[ -f "${i}" ]]; then
|
if [[ -f "${i}" ]]; then
|
||||||
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||||
@@ -304,7 +301,7 @@ pipeline {
|
|||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Deleting old templates"
|
echo "Deleting old and deprecated templates"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
@@ -452,7 +449,8 @@ pipeline {
|
|||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
||||||
@@ -465,7 +463,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Tvheadend\" \
|
--label \"org.opencontainers.image.title=Tvheadend\" \
|
||||||
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
||||||
--no-cache --pull -t ${IMAGE}:${META_TAG} \
|
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -482,7 +480,8 @@ pipeline {
|
|||||||
stage('Build X86') {
|
stage('Build X86') {
|
||||||
steps {
|
steps {
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
||||||
@@ -495,7 +494,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Tvheadend\" \
|
--label \"org.opencontainers.image.title=Tvheadend\" \
|
||||||
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
||||||
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
|
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -509,7 +508,8 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "docker build \
|
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.aarch64"
|
||||||
|
sh "docker buildx build \
|
||||||
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
|
||||||
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
--label \"org.opencontainers.image.authors=linuxserver.io\" \
|
||||||
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-tvheadend/packages\" \
|
||||||
@@ -522,7 +522,7 @@ pipeline {
|
|||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Tvheadend\" \
|
--label \"org.opencontainers.image.title=Tvheadend\" \
|
||||||
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
--label \"org.opencontainers.image.description=[Tvheadend](https://www.tvheadend.org/) works as a proxy server: is a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). \" \
|
||||||
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
retry(5) {
|
retry(5) {
|
||||||
@@ -551,26 +551,12 @@ pipeline {
|
|||||||
else
|
else
|
||||||
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
|
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
|
||||||
fi
|
fi
|
||||||
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
touch ${TEMPDIR}/package_versions.txt
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm \
|
||||||
apk info -v > /tmp/package_versions.txt && \
|
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
-v ${TEMPDIR}:/tmp \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
ghcr.io/anchore/syft:latest \
|
||||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
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'
|
|
||||||
elif [ "${DIST_IMAGE}" == "fedora" ]; then
|
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
rpm -qa > /tmp/package_versions.txt && \
|
|
||||||
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
|
||||||
elif [ "${DIST_IMAGE}" == "arch" ]; then
|
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
|
||||||
pacman -Q > /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
|
||||||
fi
|
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
|
|||||||
@@ -301,6 +301,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **17.03.23:** - Extract picons during build instead of init.
|
||||||
* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3, drop armhf support.
|
* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3, drop armhf support.
|
||||||
* **31.08.22:** - Update sample env vars and how RUN_OPTS are handled.
|
* **31.08.22:** - Update sample env vars and how RUN_OPTS are handled.
|
||||||
* **19.08.22:** - Switch to new picons builder.
|
* **19.08.22:** - Switch to new picons builder.
|
||||||
|
|||||||
@@ -1,264 +1,273 @@
|
|||||||
alpine-baselayout-3.4.0-r0
|
NAME VERSION TYPE
|
||||||
alpine-baselayout-data-3.4.0-r0
|
alpine-baselayout 3.4.0-r0 apk
|
||||||
alpine-keys-2.4-r1
|
alpine-baselayout-data 3.4.0-r0 apk
|
||||||
alpine-release-3.17.2-r0
|
alpine-keys 2.4-r1 apk
|
||||||
alsa-lib-1.2.8-r0
|
alpine-release 3.17.3-r0 apk
|
||||||
aom-libs-3.5.0-r0
|
alsa-lib 1.2.8-r0 apk
|
||||||
apk-tools-2.12.10-r1
|
aom-libs 3.5.0-r0 apk
|
||||||
bash-5.2.15-r0
|
apk-tools 2.12.10-r1 apk
|
||||||
brotli-libs-1.0.9-r9
|
bash 5.2.15-r0 apk
|
||||||
bsd-compat-headers-0.7.2-r3
|
brotli-libs 1.0.9-r9 apk
|
||||||
busybox-1.35.0-r29
|
bsd-compat-headers 0.7.2-r3 apk
|
||||||
busybox-binsh-1.35.0-r29
|
busybox 1.35.0 binary
|
||||||
ca-certificates-20220614-r4
|
busybox 1.35.0-r29 apk
|
||||||
ca-certificates-bundle-20220614-r4
|
busybox-binsh 1.35.0-r29 apk
|
||||||
cjson-1.7.15-r3
|
ca-certificates 20220614-r4 apk
|
||||||
coreutils-9.1-r0
|
ca-certificates-bundle 20220614-r4 apk
|
||||||
curl-7.87.0-r2
|
certifi 2022.12.7 python
|
||||||
dbus-libs-1.14.4-r0
|
charset-normalizer 3.0.1 python
|
||||||
ffmpeg-5.1.2-r1
|
cjson 1.7.15-r3 apk
|
||||||
ffmpeg-libs-5.1.2-r1
|
coreutils 9.1-r0 apk
|
||||||
ffmpeg4-libs-4.4.3-r0
|
curl 8.0.1-r0 apk
|
||||||
flac-libs-1.4.2-r0
|
dbus-libs 1.14.4-r0 apk
|
||||||
fontconfig-2.14.1-r0
|
ffmpeg 5.1.3-r0 apk
|
||||||
freetype-2.12.1-r0
|
ffmpeg-libs 5.1.3-r0 apk
|
||||||
fribidi-1.0.12-r0
|
ffmpeg4-libs 4.4.4-r0 apk
|
||||||
gdbm-1.23-r0
|
flac-libs 1.4.2-r0 apk
|
||||||
glib-2.74.6-r0
|
fontconfig 2.14.1-r0 apk
|
||||||
gmp-6.2.1-r2
|
freetype 2.12.1-r0 apk
|
||||||
gnu-libiconv-1.17-r0
|
fribidi 1.0.12-r0 apk
|
||||||
gnu-libiconv-libs-1.17-r0
|
gdbm 1.23-r0 apk
|
||||||
gnutls-3.7.8-r3
|
glib 2.74.6-r0 apk
|
||||||
graphite2-1.3.14-r2
|
gmp 6.2.1-r2 apk
|
||||||
harfbuzz-5.3.1-r1
|
gnu-libiconv 1.17-r0 apk
|
||||||
hwdata-pci-0.364-r0
|
gnu-libiconv-libs 1.17-r0 apk
|
||||||
intel-gmmlib-22.3.1-r0
|
gnutls 3.7.8-r3 apk
|
||||||
intel-media-driver-22.6.3-r0
|
graphite2 1.3.14-r2 apk
|
||||||
jq-1.6-r2
|
harfbuzz 5.3.1-r1 apk
|
||||||
lame-3.100-r2
|
hwdata-pci 0.364-r0 apk
|
||||||
libacl-2.3.1-r1
|
idna 3.4 python
|
||||||
libass-0.16.0-r0
|
intel-gmmlib 22.3.1-r0 apk
|
||||||
libasyncns-0.8-r1
|
intel-media-driver 22.6.3-r0 apk
|
||||||
libattr-2.5.1-r2
|
jq 1.6-r2 apk
|
||||||
libblkid-2.38.1-r1
|
lame 3.100-r2 apk
|
||||||
libbsd-0.11.7-r0
|
libacl 2.3.1-r1 apk
|
||||||
libbz2-1.0.8-r4
|
libass 0.16.0-r1 apk
|
||||||
libc-utils-0.7.2-r3
|
libasyncns 0.8-r1 apk
|
||||||
libcrypto3-3.0.8-r0
|
libattr 2.5.1-r2 apk
|
||||||
libcurl-7.87.0-r2
|
libblkid 2.38.1-r1 apk
|
||||||
libdav1d-1.0.0-r2
|
libbsd 0.11.7-r0 apk
|
||||||
libdrm-2.4.114-r0
|
libbz2 1.0.8-r4 apk
|
||||||
libdvbcsa-1.1.0-r1
|
libc-utils 0.7.2-r3 apk
|
||||||
libexpat-2.5.0-r0
|
libcrypto3 3.0.8-r4 apk
|
||||||
libffi-3.4.4-r0
|
libcurl 8.0.1-r0 apk
|
||||||
libgcc-12.2.1_git20220924-r4
|
libdav1d 1.0.0-r2 apk
|
||||||
libgcrypt-1.10.1-r0
|
libdrm 2.4.114-r0 apk
|
||||||
libgomp-12.2.1_git20220924-r4
|
libdvbcsa 1.1.0-r1 apk
|
||||||
libgpg-error-1.46-r1
|
libexpat 2.5.0-r0 apk
|
||||||
libhdhomerun-libs-20200225-r1
|
libffi 3.4.4-r0 apk
|
||||||
libintl-0.21.1-r1
|
libgcc 12.2.1_git20220924-r4 apk
|
||||||
libjpeg-turbo-2.1.4-r0
|
libgcrypt 1.10.1-r0 apk
|
||||||
libltdl-2.4.7-r1
|
libgomp 12.2.1_git20220924-r4 apk
|
||||||
libmd-1.0.4-r0
|
libgpg-error 1.46-r1 apk
|
||||||
libmount-2.38.1-r1
|
libhdhomerun-libs 20200225-r1 apk
|
||||||
libogg-1.3.5-r2
|
libintl 0.21.1-r1 apk
|
||||||
libpciaccess-0.17-r0
|
libjpeg-turbo 2.1.4-r0 apk
|
||||||
libpng-1.6.38-r0
|
libltdl 2.4.7-r1 apk
|
||||||
libproc-3.3.17-r2
|
libmd 1.0.4-r0 apk
|
||||||
libpulse-16.1-r6
|
libmount 2.38.1-r1 apk
|
||||||
librist-0.2.7-r0
|
libogg 1.3.5-r2 apk
|
||||||
libsndfile-1.1.0-r2
|
libpciaccess 0.17-r0 apk
|
||||||
libsodium-1.0.18-r2
|
libpng 1.6.38-r0 apk
|
||||||
libsrt-1.5.1-r0
|
libproc 3.3.17-r2 apk
|
||||||
libssh-0.10.4-r0
|
libpulse 16.1-r6 apk
|
||||||
libssl3-3.0.8-r0
|
librist 0.2.7-r0 apk
|
||||||
libstdc++-12.2.1_git20220924-r4
|
libsndfile 1.1.0-r2 apk
|
||||||
libtasn1-4.19.0-r0
|
libsodium 1.0.18-r2 apk
|
||||||
libtheora-1.1.1-r16
|
libsrt 1.5.1-r0 apk
|
||||||
libunistring-1.1-r0
|
libssh 0.10.4-r0 apk
|
||||||
liburiparser-0.9.7-r0
|
libssl3 3.0.8-r4 apk
|
||||||
libva-2.16.0-r0
|
libstdc++ 12.2.1_git20220924-r4 apk
|
||||||
libva-intel-driver-2.4.1-r0
|
libtasn1 4.19.0-r0 apk
|
||||||
libvdpau-1.5-r0
|
libtheora 1.1.1-r16 apk
|
||||||
libvorbis-1.3.7-r0
|
libunistring 1.1-r0 apk
|
||||||
libvpx-1.12.0-r1
|
liburiparser 0.9.7-r0 apk
|
||||||
libwebp-1.2.4-r1
|
libva 2.16.0-r0 apk
|
||||||
libx11-1.8.4-r0
|
libva-intel-driver 2.4.1-r0 apk
|
||||||
libxau-1.0.10-r0
|
libvdpau 1.5-r0 apk
|
||||||
libxcb-1.15-r0
|
libvorbis 1.3.7-r0 apk
|
||||||
libxdmcp-1.1.4-r0
|
libvpx 1.12.0-r1 apk
|
||||||
libxext-1.3.5-r0
|
libwebp 1.2.4-r1 apk
|
||||||
libxfixes-6.0.0-r0
|
libx11 1.8.4-r0 apk
|
||||||
libxml2-2.10.3-r1
|
libxau 1.0.10-r0 apk
|
||||||
libxslt-1.1.37-r0
|
libxcb 1.15-r0 apk
|
||||||
libzmq-4.3.4-r1
|
libxdmcp 1.1.4-r0 apk
|
||||||
linux-headers-5.19.5-r0
|
libxext 1.3.5-r0 apk
|
||||||
linux-pam-1.5.2-r1
|
libxfixes 6.0.0-r0 apk
|
||||||
mbedtls-2.28.2-r0
|
libxml2 2.10.4-r0 apk
|
||||||
mesa-22.2.5-r1
|
libxslt 1.1.37-r1 apk
|
||||||
mpdecimal-2.5.1-r1
|
libzmq 4.3.4-r1 apk
|
||||||
musl-1.2.3-r4
|
linux-headers 5.19.5-r0 apk
|
||||||
musl-utils-1.2.3-r4
|
linux-pam 1.5.2-r1 apk
|
||||||
ncurses-libs-6.3_p20221119-r0
|
mbedtls 2.28.3-r0 apk
|
||||||
ncurses-terminfo-base-6.3_p20221119-r0
|
mesa 22.2.5-r1 apk
|
||||||
nettle-3.8.1-r0
|
mpdecimal 2.5.1-r1 apk
|
||||||
nghttp2-libs-1.51.0-r0
|
musl 1.2.3-r4 apk
|
||||||
numactl-2.0.16-r1
|
musl-utils 1.2.3-r4 apk
|
||||||
oniguruma-6.9.8-r0
|
ncurses-libs 6.3_p20221119-r0 apk
|
||||||
opus-1.3.1-r1
|
ncurses-terminfo-base 6.3_p20221119-r0 apk
|
||||||
orc-0.4.33-r0
|
netcat-openbsd 1.130-r4 apk
|
||||||
p11-kit-0.24.1-r1
|
nettle 3.8.1-r0 apk
|
||||||
pcre2-10.42-r0
|
nghttp2-libs 1.51.0-r0 apk
|
||||||
perl-5.36.0-r0
|
numactl 2.0.16-r1 apk
|
||||||
perl-archive-zip-1.68-r2
|
oniguruma 6.9.8-r0 apk
|
||||||
perl-b-hooks-endofscope-0.26-r0
|
opus 1.3.1-r1 apk
|
||||||
perl-boolean-0.46-r2
|
orc 0.4.33-r0 apk
|
||||||
perl-capture-tiny-0.48-r2
|
p11-kit 0.24.1-r1 apk
|
||||||
perl-cgi-4.54-r0
|
pcre2 10.42-r0 apk
|
||||||
perl-class-data-inheritable-0.09-r0
|
perl 5.36.0-r1 apk
|
||||||
perl-class-inspector-1.36-r2
|
perl-archive-zip 1.68-r2 apk
|
||||||
perl-class-methodmaker-2.24-r9
|
perl-b-hooks-endofscope 0.26-r0 apk
|
||||||
perl-class-singleton-1.6-r0
|
perl-boolean 0.46-r2 apk
|
||||||
perl-clone-0.46-r0
|
perl-capture-tiny 0.48-r2 apk
|
||||||
perl-common-sense-3.75-r2
|
perl-cgi 4.54-r0 apk
|
||||||
perl-compress-raw-zlib-2.202-r0
|
perl-class-data-inheritable 0.09-r0 apk
|
||||||
perl-cpan-meta-check-0.014-r2
|
perl-class-inspector 1.36-r2 apk
|
||||||
perl-date-manip-6.89-r0
|
perl-class-methodmaker 2.24-r9 apk
|
||||||
perl-datetime-1.59-r0
|
perl-class-singleton 1.6-r0 apk
|
||||||
perl-datetime-format-strptime-1.79-r0
|
perl-clone 0.46-r0 apk
|
||||||
perl-datetime-locale-1.37-r0
|
perl-common-sense 3.75-r2 apk
|
||||||
perl-datetime-timezone-2.56-r0
|
perl-compress-raw-zlib 2.202-r0 apk
|
||||||
perl-dbd-sqlite-1.72-r0
|
perl-cpan-meta-check 0.014-r2 apk
|
||||||
perl-dbi-1.643-r4
|
perl-date-manip 6.89-r0 apk
|
||||||
perl-devel-stacktrace-2.04-r3
|
perl-datetime 1.59-r0 apk
|
||||||
perl-devel-symdump-2.18-r2
|
perl-datetime-format-strptime 1.79-r0 apk
|
||||||
perl-digest-sha1-2.13-r15
|
perl-datetime-locale 1.37-r0 apk
|
||||||
perl-dist-checkconflicts-0.11-r2
|
perl-datetime-timezone 2.60-r0 apk
|
||||||
perl-doc-5.36.0-r0
|
perl-dbd-sqlite 1.72-r0 apk
|
||||||
perl-encode-locale-1.05-r3
|
perl-dbi 1.643-r4 apk
|
||||||
perl-eval-closure-0.14-r2
|
perl-devel-stacktrace 2.04-r3 apk
|
||||||
perl-exception-class-1.45-r0
|
perl-devel-symdump 2.18-r2 apk
|
||||||
perl-exporter-tiny-1.006000-r0
|
perl-digest-sha1 2.13-r15 apk
|
||||||
perl-file-listing-6.15-r0
|
perl-dist-checkconflicts 0.11-r2 apk
|
||||||
perl-file-sharedir-1.118-r0
|
perl-doc 5.36.0-r1 apk
|
||||||
perl-file-sharedir-install-0.14-r0
|
perl-encode-locale 1.05-r3 apk
|
||||||
perl-file-slurp-9999.32-r1
|
perl-eval-closure 0.14-r2 apk
|
||||||
perl-file-temp-0.2311-r0
|
perl-exception-class 1.45-r0 apk
|
||||||
perl-file-which-1.27-r0
|
perl-exporter-tiny 1.006000-r0 apk
|
||||||
perl-getopt-long-2.54-r0
|
perl-file-listing 6.15-r0 apk
|
||||||
perl-html-parser-3.80-r0
|
perl-file-sharedir 1.118-r0 apk
|
||||||
perl-html-tagset-3.20-r3
|
perl-file-sharedir-install 0.14-r0 apk
|
||||||
perl-html-tree-5.07-r3
|
perl-file-slurp 9999.32-r1 apk
|
||||||
perl-http-cookies-6.10-r0
|
perl-file-temp 0.2311-r0 apk
|
||||||
perl-http-daemon-6.14-r0
|
perl-file-which 1.27-r0 apk
|
||||||
perl-http-date-6.05-r1
|
perl-getopt-long 2.54-r0 apk
|
||||||
perl-http-message-6.44-r0
|
perl-html-parser 3.80-r0 apk
|
||||||
perl-http-negotiate-6.01-r3
|
perl-html-tagset 3.20-r3 apk
|
||||||
perl-importer-0.026-r1
|
perl-html-tree 5.07-r3 apk
|
||||||
perl-io-1.50-r0
|
perl-http-cookies 6.10-r0 apk
|
||||||
perl-io-html-1.004-r0
|
perl-http-daemon 6.14-r0 apk
|
||||||
perl-io-socket-ssl-2.077-r0
|
perl-http-date 6.05-r1 apk
|
||||||
perl-io-stringy-2.113-r1
|
perl-http-message 6.44-r0 apk
|
||||||
perl-ipc-run3-0.048-r2
|
perl-http-negotiate 6.01-r3 apk
|
||||||
perl-json-4.10-r0
|
perl-importer 0.026-r1 apk
|
||||||
perl-json-xs-4.03-r2
|
perl-io 1.50-r0 apk
|
||||||
perl-libwww-6.67-r0
|
perl-io-html 1.004-r0 apk
|
||||||
perl-lingua-en-numbers-ordinate-1.05-r0
|
perl-io-socket-ssl 2.077-r0 apk
|
||||||
perl-lingua-preferred-0.2.4-r4
|
perl-io-stringy 2.113-r1 apk
|
||||||
perl-list-moreutils-0.430-r0
|
perl-ipc-run3 0.048-r2 apk
|
||||||
perl-list-moreutils-xs-0.430-r2
|
perl-json 4.10-r0 apk
|
||||||
perl-lwp-mediatypes-6.04-r1
|
perl-json-xs 4.03-r2 apk
|
||||||
perl-lwp-useragent-determined-1.07-r2
|
perl-libwww 6.67-r0 apk
|
||||||
perl-module-build-0.4231-r2
|
perl-lingua-en-numbers-ordinate 1.05-r0 apk
|
||||||
perl-module-implementation-0.09-r3
|
perl-lingua-preferred 0.2.4-r4 apk
|
||||||
perl-module-metadata-1.000037-r1
|
perl-list-moreutils 0.430-r0 apk
|
||||||
perl-module-pluggable-5.2-r2
|
perl-list-moreutils-xs 0.430-r2 apk
|
||||||
perl-module-runtime-0.016-r4
|
perl-lwp-mediatypes 6.04-r1 apk
|
||||||
perl-mozilla-ca-20221114-r0
|
perl-lwp-useragent-determined 1.07-r2 apk
|
||||||
perl-mro-compat-0.15-r0
|
perl-module-build 0.4231-r2 apk
|
||||||
perl-namespace-autoclean-0.29-r2
|
perl-module-implementation 0.09-r3 apk
|
||||||
perl-namespace-clean-0.27-r2
|
perl-module-metadata 1.000037-r1 apk
|
||||||
perl-net-http-6.22-r0
|
perl-module-pluggable 5.2-r2 apk
|
||||||
perl-net-ssleay-1.92-r2
|
perl-module-runtime 0.016-r4 apk
|
||||||
perl-package-deprecationmanager-0.17-r2
|
perl-mozilla-ca 20221114-r0 apk
|
||||||
perl-package-stash-0.40-r0
|
perl-mro-compat 0.15-r0 apk
|
||||||
perl-params-util-1.102-r2
|
perl-namespace-autoclean 0.29-r2 apk
|
||||||
perl-params-validate-1.31-r0
|
perl-namespace-clean 0.27-r2 apk
|
||||||
perl-params-validationcompiler-0.30-r1
|
perl-net-http 6.22-r0 apk
|
||||||
perl-parse-recdescent-1.967015-r3
|
perl-net-ssleay 1.92-r2 apk
|
||||||
perl-path-class-0.37-r2
|
perl-package-deprecationmanager 0.17-r2 apk
|
||||||
perl-pod-coverage-0.23-r3
|
perl-package-stash 0.40-r0 apk
|
||||||
perl-pod-parser-1.65-r0
|
perl-params-util 1.102-r2 apk
|
||||||
perl-role-tiny-2.002004-r1
|
perl-params-validate 1.31-r0 apk
|
||||||
perl-scalar-list-utils-1.63-r0
|
perl-params-validationcompiler 0.30-r1 apk
|
||||||
perl-scope-guard-0.21-r2
|
perl-parse-recdescent 1.967015-r3 apk
|
||||||
perl-specio-0.48-r0
|
perl-path-class 0.37-r2 apk
|
||||||
perl-sub-exporter-progressive-0.001013-r2
|
perl-pod-coverage 0.23-r3 apk
|
||||||
perl-sub-identify-0.14-r7
|
perl-pod-parser 1.65-r0 apk
|
||||||
perl-sub-info-0.002-r2
|
perl-role-tiny 2.002004-r1 apk
|
||||||
perl-sub-install-0.928-r2
|
perl-scalar-list-utils 1.63-r0 apk
|
||||||
perl-sub-name-0.26-r4
|
perl-scope-guard 0.21-r2 apk
|
||||||
perl-sub-quote-2.006006-r1
|
perl-specio 0.48-r0 apk
|
||||||
perl-sub-uplevel-0.2800-r2
|
perl-sub-exporter-progressive 0.001013-r2 apk
|
||||||
perl-term-progressbar-2.23-r0
|
perl-sub-identify 0.14-r7 apk
|
||||||
perl-term-readkey-2.38-r7
|
perl-sub-info 0.002-r2 apk
|
||||||
perl-term-table-0.016-r0
|
perl-sub-install 0.928-r2 apk
|
||||||
perl-test-exception-0.43-r2
|
perl-sub-name 0.26-r4 apk
|
||||||
perl-test-fatal-0.016-r3
|
perl-sub-quote 2.006006-r1 apk
|
||||||
perl-test-pod-1.52-r2
|
perl-sub-uplevel 0.2800-r2 apk
|
||||||
perl-test-requires-0.11-r1
|
perl-term-progressbar 2.23-r0 apk
|
||||||
perl-test-simple-1.302191-r0
|
perl-term-readkey 2.38-r7 apk
|
||||||
perl-test-taint-1.08-r5
|
perl-term-table 0.016-r0 apk
|
||||||
perl-test-warnings-0.031-r0
|
perl-test-exception 0.43-r2 apk
|
||||||
perl-test-without-module-0.20-r2
|
perl-test-fatal 0.016-r3 apk
|
||||||
perl-test2-plugin-nowarnings-0.09-r1
|
perl-test-pod 1.52-r2 apk
|
||||||
perl-test2-suite-0.000145-r0
|
perl-test-requires 0.11-r1 apk
|
||||||
perl-timedate-2.33-r1
|
perl-test-simple 1.302191-r0 apk
|
||||||
perl-try-tiny-0.31-r0
|
perl-test-taint 1.08-r5 apk
|
||||||
perl-types-serialiser-1.01-r0
|
perl-test-warnings 0.031-r0 apk
|
||||||
perl-unicode-string-2.10-r4
|
perl-test-without-module 0.20-r2 apk
|
||||||
perl-uri-5.17-r0
|
perl-test2-plugin-nowarnings 0.09-r1 apk
|
||||||
perl-variable-magic-0.63-r0
|
perl-test2-suite 0.000145-r0 apk
|
||||||
perl-www-robotrules-6.02-r3
|
perl-timedate 2.33-r1 apk
|
||||||
perl-xml-libxml-2.0208-r0
|
perl-try-tiny 0.31-r0 apk
|
||||||
perl-xml-libxslt-2.002000-r0
|
perl-types-serialiser 1.01-r0 apk
|
||||||
perl-xml-namespacesupport-1.12-r3
|
perl-unicode-string 2.10-r4 apk
|
||||||
perl-xml-parser-2.46-r3
|
perl-uri 5.17-r0 apk
|
||||||
perl-xml-sax-1.02-r1
|
perl-variable-magic 0.63-r0 apk
|
||||||
perl-xml-sax-base-1.09-r3
|
perl-www-robotrules 6.02-r3 apk
|
||||||
perl-xml-treepp-0.43-r3
|
perl-xml-libxml 2.0208-r0 apk
|
||||||
perl-xml-twig-3.52-r4
|
perl-xml-libxslt 2.002000-r0 apk
|
||||||
perl-xml-writer-0.900-r0
|
perl-xml-namespacesupport 1.12-r3 apk
|
||||||
procps-3.3.17-r2
|
perl-xml-parser 2.46-r3 apk
|
||||||
py3-certifi-2022.12.7-r0
|
perl-xml-sax 1.02-r1 apk
|
||||||
py3-charset-normalizer-3.0.1-r0
|
perl-xml-sax-base 1.09-r3 apk
|
||||||
py3-idna-3.4-r2
|
perl-xml-treepp 0.43-r3 apk
|
||||||
py3-requests-2.28.1-r1
|
perl-xml-twig 3.52-r4 apk
|
||||||
py3-urllib3-1.26.12-r0
|
perl-xml-writer 0.900-r0 apk
|
||||||
python3-3.10.10-r0
|
procps 3.3.17-r2 apk
|
||||||
readline-8.2.0-r0
|
py3-certifi 2022.12.7-r0 apk
|
||||||
scanelf-1.3.5-r1
|
py3-charset-normalizer 3.0.1-r0 apk
|
||||||
sdl2-2.26.3-r0
|
py3-idna 3.4-r2 apk
|
||||||
shadow-4.13-r0
|
py3-requests 2.28.1-r1 apk
|
||||||
skalibs-2.12.0.1-r0
|
py3-urllib3 1.26.12-r0 apk
|
||||||
soxr-0.1.3-r3
|
python 3.10.11 binary
|
||||||
speexdsp-1.2.1-r0
|
python3 3.10.11-r0 apk
|
||||||
sqlite-libs-3.40.1-r0
|
readline 8.2.0-r0 apk
|
||||||
ssl_client-1.35.0-r29
|
requests 2.28.1 python
|
||||||
svt-av1-libs-1.3.0-r0
|
scanelf 1.3.5-r1 apk
|
||||||
tdb-libs-1.4.7-r0
|
sdl2 2.26.5-r0 apk
|
||||||
tzdata-2022f-r1
|
shadow 4.13-r0 apk
|
||||||
uriparser-0.9.7-r0
|
skalibs 2.12.0.1-r0 apk
|
||||||
utmps-libs-0.1.2.0-r1
|
soxr 0.1.3-r3 apk
|
||||||
v4l-utils-libs-1.22.1-r2
|
speexdsp 1.2.1-r0 apk
|
||||||
vidstab-1.1.0-r2
|
sqlite-libs 3.40.1-r0 apk
|
||||||
vulkan-loader-1.3.231.2-r0
|
ssl_client 1.35.0-r29 apk
|
||||||
wayland-libs-client-1.21.0-r1
|
svt-av1-libs 1.3.0-r0 apk
|
||||||
x264-0.164_git20220602-r0
|
tdb-libs 1.4.6-r0 apk
|
||||||
x264-libs-0.164_git20220602-r0
|
tzdata 2023c-r0 apk
|
||||||
x265-3.5-r3
|
uriparser 0.9.7-r0 apk
|
||||||
x265-libs-3.5-r3
|
urllib3 1.26.12 python
|
||||||
xvidcore-1.3.7-r1
|
utmps-libs 0.1.2.0-r1 apk
|
||||||
xz-5.2.9-r0
|
v4l-utils-libs 1.22.1-r2 apk
|
||||||
xz-libs-5.2.9-r0
|
vidstab 1.1.0-r2 apk
|
||||||
zlib-1.2.13-r0
|
vulkan-loader 1.3.231.2-r0 apk
|
||||||
|
wayland-libs-client 1.21.0-r1 apk
|
||||||
|
x264 0.164_git20220602-r0 apk
|
||||||
|
x264-libs 0.164_git20220602-r0 apk
|
||||||
|
x265 3.5-r3 apk
|
||||||
|
x265-libs 3.5-r3 apk
|
||||||
|
xvidcore 1.3.7-r1 apk
|
||||||
|
xz 5.2.9-r0 apk
|
||||||
|
xz-libs 5.2.9-r0 apk
|
||||||
|
zlib 1.2.13-r0 apk
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "17.03.23:", desc: "Extract picons during build instead of init." }
|
||||||
- { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3, drop armhf support." }
|
- { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3, drop armhf support." }
|
||||||
- { date: "31.08.22:", desc: "Update sample env vars and how RUN_OPTS are handled." }
|
- { date: "31.08.22:", desc: "Update sample env vars and how RUN_OPTS are handled." }
|
||||||
- { date: "19.08.22:", desc: "Switch to new picons builder." }
|
- { date: "19.08.22:", desc: "Switch to new picons builder." }
|
||||||
|
|||||||
@@ -3,50 +3,19 @@
|
|||||||
|
|
||||||
# make folders
|
# make folders
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/config/comskip
|
/config/comskip
|
||||||
|
|
||||||
# copy config
|
# copy config
|
||||||
if [[ ! -e /config/dvr/config ]]; then
|
if [[ ! -e /config/dvr/config ]]; then
|
||||||
(mkdir -p /config/dvr/config && cp /defaults/7a5edfbe189851e5b1d1df19c93962f0 /config/dvr/config/7a5edfbe189851e5b1d1df19c93962f0)
|
(mkdir -p /config/dvr/config && cp /defaults/7a5edfbe189851e5b1d1df19c93962f0 /config/dvr/config/7a5edfbe189851e5b1d1df19c93962f0)
|
||||||
fi
|
fi
|
||||||
if [[ ! -e /config/comskip/comskip.ini ]]; then
|
if [[ ! -e /config/comskip/comskip.ini ]]; then
|
||||||
cp /defaults/comskip.ini.org /config/comskip/comskip.ini
|
cp /defaults/comskip.ini.org /config/comskip/comskip.ini
|
||||||
fi
|
fi
|
||||||
if [[ ! -e /config/config ]]; then
|
if [[ ! -e /config/config ]]; then
|
||||||
(cp /defaults/config /config/config)
|
(cp /defaults/config /config/config)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# extract picons on first run
|
|
||||||
if [[ -f /picons.tar.bz2 ]]; then
|
|
||||||
mkdir -p /picons
|
|
||||||
tar xf \
|
|
||||||
/picons.tar.bz2 -C \
|
|
||||||
/picons &&
|
|
||||||
rm -f /picons.tar.bz2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to randomly sample 5 files for their owner and only chown if not abc
|
|
||||||
chowner () {
|
|
||||||
files=(${1}/*)
|
|
||||||
for i in {1..5}; do
|
|
||||||
user=$(stat -c '%U' $(printf "%s\n" "${files[RANDOM % ${#files[@]}]}"))
|
|
||||||
if [ "${user}" != "abc" ]; then
|
|
||||||
chown -R abc:abc ${1}
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# permissions
|
# permissions
|
||||||
echo "Setting permissions"
|
echo "Setting permissions"
|
||||||
abc_dirs=( \
|
lsiown -R abc:abc /config
|
||||||
/config \
|
|
||||||
/picons \
|
|
||||||
)
|
|
||||||
for i in "${abc_dirs[@]}"; do
|
|
||||||
if [ "$(ls -A ${i})" ]; then
|
|
||||||
chowner ${i}
|
|
||||||
else
|
|
||||||
chown -R abc:abc ${i}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|||||||
@@ -5,23 +5,23 @@ FILES=$(find /dev/dri /dev/dvb -type c -print 2>/dev/null)
|
|||||||
|
|
||||||
for i in $FILES
|
for i in $FILES
|
||||||
do
|
do
|
||||||
VIDEO_GID=$(stat -c '%g' "$i")
|
VIDEO_GID=$(stat -c '%g' "$i")
|
||||||
if id -G abc | grep -qw "$VIDEO_GID"; then
|
if id -G abc | grep -qw "$VIDEO_GID"; then
|
||||||
touch /groupadd
|
touch /groupadd
|
||||||
else
|
else
|
||||||
if [ ! "${VIDEO_GID}" == '0' ]; then
|
if [ ! "${VIDEO_GID}" == '0' ]; then
|
||||||
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
|
VIDEO_NAME=$(getent group "${VIDEO_GID}" | awk -F: '{print $1}')
|
||||||
if [ -z "${VIDEO_NAME}" ]; then
|
if [ -z "${VIDEO_NAME}" ]; then
|
||||||
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c8)"
|
VIDEO_NAME="video$(head /dev/urandom | tr -dc 'a-z0-9' | head -c8)"
|
||||||
groupadd "$VIDEO_NAME"
|
groupadd "$VIDEO_NAME"
|
||||||
groupmod -g "$VIDEO_GID" "$VIDEO_NAME"
|
groupmod -g "$VIDEO_GID" "$VIDEO_NAME"
|
||||||
fi
|
fi
|
||||||
usermod -a -G "$VIDEO_NAME" abc
|
usermod -a -G "$VIDEO_NAME" abc
|
||||||
touch /groupadd
|
touch /groupadd
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
if [ -n "${FILES}" ] && [ ! -f "/groupadd" ]; then
|
||||||
usermod -a -G root abc
|
usermod -a -G root abc
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user