Compare commits

...

15 Commits

Author SHA1 Message Date
LinuxServer-CI
ba4ea42004 Bot Updating Package Versions 2023-04-22 10:46:53 -05:00
LinuxServer-CI
9eb549257c Bot Updating Package Versions 2023-04-15 17:46:32 +02:00
LinuxServer-CI
9d937649a3 Bot Updating Package Versions 2023-04-08 17:50:10 +02:00
LinuxServer-CI
fb3cf77ee1 Bot Updating Package Versions 2023-04-02 10:13:37 -05:00
LinuxServer-CI
ba4c2d4ddf Bot Updating Templated Files 2023-04-02 10:01:59 -05:00
LinuxServer-CI
872a422b3b Bot Updating Templated Files 2023-04-02 10:00:27 -05:00
LinuxServer-CI
0fc26ae6d2 Bot Updating Templated Files 2023-04-02 09:58:49 -05:00
LinuxServer-CI
86630cc696 Bot Updating Package Versions 2023-03-28 13:31:01 -05:00
aptalca
e6e49062ec Merge pull request #221 from linuxserver/piconbuild
extract picons during build
2023-03-28 14:13:23 -04:00
LinuxServer-CI
d7e8758b7d Bot Updating Package Versions 2023-03-26 10:07:35 -05:00
aptalca
a1c3f4e8a9 fix lsiown command 2023-03-17 14:01:28 -04:00
aptalca
fa7487747d Use lsiown to fix perms 2023-03-17 10:00:17 -04:00
aptalca
cf936490b9 extract picons during build 2023-03-17 09:43:24 -04:00
LinuxServer-CI
251f0dc45c Bot Updating Package Versions 2023-03-05 16:12:20 +01:00
LinuxServer-CI
36fbd65464 Bot Updating Templated Files 2023-03-05 08:58:43 -06:00
14 changed files with 378 additions and 402 deletions

View File

@@ -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
View 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
View 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

View File

@@ -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:

View File

@@ -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

View File

@@ -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 }}

View File

@@ -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

View File

@@ -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
View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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." }

View File

@@ -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

View File

@@ -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