Compare commits
11 Commits
46bce91f-p
...
11517-ls7
Author | SHA1 | Date | |
---|---|---|---|
02b4c12dc1 | |||
9e9470eab5 | |||
fb2c75179c | |||
1cafe3e38b | |||
9beff939fe | |||
ce79a74de0 | |||
22d3d9f323 | |||
9e04fd2a5b | |||
20a2cd5860 | |||
ba977cc7a0 | |||
8046d7e097 |
@ -3,6 +3,7 @@ FROM lsiobase/alpine:3.8
|
|||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
ARG OSCAM_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="saarg"
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
@ -18,6 +19,7 @@ RUN \
|
|||||||
make \
|
make \
|
||||||
libressl-dev \
|
libressl-dev \
|
||||||
pcsc-lite-dev \
|
pcsc-lite-dev \
|
||||||
|
subversion \
|
||||||
tar && \
|
tar && \
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
@ -28,7 +30,10 @@ RUN \
|
|||||||
pcsc-lite \
|
pcsc-lite \
|
||||||
pcsc-lite-libs && \
|
pcsc-lite-libs && \
|
||||||
echo "**** compile oscam ****" && \
|
echo "**** compile oscam ****" && \
|
||||||
bzr branch lp:oscam /tmp/oscam-svn && \
|
if [ -z ${OSCAM_VERSION+x} ]; then \
|
||||||
|
OSCAM_VERSION=$(svn info --show-item revision http://www.streamboard.tv/svn/oscam/trunk ); \
|
||||||
|
fi && \
|
||||||
|
svn checkout http://www.streamboard.tv/svn/oscam/trunk@${OSCAM_VERSION} /tmp/oscam-svn && \
|
||||||
cd /tmp/oscam-svn && \
|
cd /tmp/oscam-svn && \
|
||||||
./config.sh \
|
./config.sh \
|
||||||
--enable all \
|
--enable all \
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
FROM lsiobase/alpine.arm64:3.8
|
FROM lsiobase/alpine:arm64v8-3.8
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
|
||||||
COPY qemu-aarch64-static /usr/bin
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
ARG OSCAM_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="saarg"
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
@ -21,6 +19,7 @@ RUN \
|
|||||||
make \
|
make \
|
||||||
libressl-dev \
|
libressl-dev \
|
||||||
pcsc-lite-dev \
|
pcsc-lite-dev \
|
||||||
|
subversion \
|
||||||
tar && \
|
tar && \
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
@ -31,7 +30,10 @@ RUN \
|
|||||||
pcsc-lite \
|
pcsc-lite \
|
||||||
pcsc-lite-libs && \
|
pcsc-lite-libs && \
|
||||||
echo "**** compile oscam ****" && \
|
echo "**** compile oscam ****" && \
|
||||||
bzr branch lp:oscam /tmp/oscam-svn && \
|
if [ -z ${OSCAM_VERSION+x} ]; then \
|
||||||
|
OSCAM_VERSION=$(svn info --show-item revision http://www.streamboard.tv/svn/oscam/trunk ); \
|
||||||
|
fi && \
|
||||||
|
svn checkout http://www.streamboard.tv/svn/oscam/trunk@${OSCAM_VERSION} /tmp/oscam-svn && \
|
||||||
cd /tmp/oscam-svn && \
|
cd /tmp/oscam-svn && \
|
||||||
./config.sh \
|
./config.sh \
|
||||||
--enable all \
|
--enable all \
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
FROM lsiobase/alpine.armhf:3.8
|
FROM lsiobase/alpine:arm32v7-3.8
|
||||||
|
|
||||||
# Add qemu to build on x86_64 systems
|
|
||||||
COPY qemu-arm-static /usr/bin
|
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
ARG VERSION
|
ARG VERSION
|
||||||
|
ARG OSCAM_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="saarg"
|
LABEL maintainer="saarg"
|
||||||
|
|
||||||
@ -21,6 +19,7 @@ RUN \
|
|||||||
make \
|
make \
|
||||||
libressl-dev \
|
libressl-dev \
|
||||||
pcsc-lite-dev \
|
pcsc-lite-dev \
|
||||||
|
subversion \
|
||||||
tar && \
|
tar && \
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
@ -31,7 +30,10 @@ RUN \
|
|||||||
pcsc-lite \
|
pcsc-lite \
|
||||||
pcsc-lite-libs && \
|
pcsc-lite-libs && \
|
||||||
echo "**** compile oscam ****" && \
|
echo "**** compile oscam ****" && \
|
||||||
bzr branch lp:oscam /tmp/oscam-svn && \
|
if [ -z ${OSCAM_VERSION+x} ]; then \
|
||||||
|
OSCAM_VERSION=$(svn info --show-item revision http://www.streamboard.tv/svn/oscam/trunk ); \
|
||||||
|
fi && \
|
||||||
|
svn checkout http://www.streamboard.tv/svn/oscam/trunk@${OSCAM_VERSION} /tmp/oscam-svn && \
|
||||||
cd /tmp/oscam-svn && \
|
cd /tmp/oscam-svn && \
|
||||||
./config.sh \
|
./config.sh \
|
||||||
--enable all \
|
--enable all \
|
||||||
|
133
Jenkinsfile
vendored
133
Jenkinsfile
vendored
@ -35,7 +35,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''curl -s https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||||
@ -91,12 +91,14 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is an os release set release type to none to indicate no external release
|
// If this is a custom command to determine version use that command
|
||||||
stage("Set ENV os"){
|
stage("Set tag custom bash"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = env.PACKAGE_TAG
|
env.EXT_RELEASE = sh(
|
||||||
env.RELEASE_LINK = 'none'
|
script: ''' docker run --rm alpine:3.9 sh -c 'apk add subversion > /dev/null 2>&1 && svn info --show-item revision http://www.streamboard.tv/svn/oscam/trunk' ''',
|
||||||
|
returnStdout: true).trim()
|
||||||
|
env.RELEASE_LINK = 'custom_command'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -120,7 +122,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.DOCKERHUB_IMAGE
|
env.IMAGE = env.DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@ -138,7 +140,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
env.IMAGE = env.DEV_DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
}
|
}
|
||||||
@ -156,7 +158,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
env.IMAGE = env.PR_DOCKERHUB_IMAGE
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v6-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
}
|
}
|
||||||
@ -166,6 +168,35 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Run ShellCheck
|
||||||
|
stage('ShellCheck') {
|
||||||
|
when {
|
||||||
|
environment name: 'CI', value: 'true'
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
withCredentials([
|
||||||
|
string(credentialsId: 'spaces-key', variable: 'DO_KEY'),
|
||||||
|
string(credentialsId: 'spaces-secret', variable: 'DO_SECRET')
|
||||||
|
]) {
|
||||||
|
script{
|
||||||
|
env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml'
|
||||||
|
}
|
||||||
|
sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
set -e
|
||||||
|
docker pull lsiodev/spaces-file-upload:latest
|
||||||
|
docker run --rm \
|
||||||
|
-e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
|
||||||
|
-e FILE_NAME="shellcheck-result.xml" \
|
||||||
|
-e MIMETYPE="text/xml" \
|
||||||
|
-v ${WORKSPACE}:/mnt \
|
||||||
|
-e SECRET_KEY=\"${DO_SECRET}\" \
|
||||||
|
-e ACCESS_KEY=\"${DO_KEY}\" \
|
||||||
|
-t lsiodev/spaces-file-upload:latest \
|
||||||
|
python /upload.py'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
@ -199,7 +230,7 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
mkdir -p ${TEMPDIR}/gitbook
|
mkdir -p ${TEMPDIR}/gitbook
|
||||||
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
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
|
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/
|
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||||
cd ${TEMPDIR}/gitbook/docker-documentation/
|
cd ${TEMPDIR}/gitbook/docker-documentation/
|
||||||
git add images/docker-${CONTAINER_NAME}.md
|
git add images/docker-${CONTAINER_NAME}.md
|
||||||
@ -240,7 +271,7 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh "docker build --no-cache -t ${IMAGE}:${META_TAG} \
|
sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -253,7 +284,7 @@ pipeline {
|
|||||||
parallel {
|
parallel {
|
||||||
stage('Build X86') {
|
stage('Build X86') {
|
||||||
steps {
|
steps {
|
||||||
sh "docker build --no-cache -t ${IMAGE}:amd64-${META_TAG} \
|
sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -274,15 +305,13 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
|
sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
|
||||||
sh "chmod +x qemu-*"
|
|
||||||
sh "docker build --no-cache -f Dockerfile.armhf -t ${IMAGE}:arm32v6-${META_TAG} \
|
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:arm32v6-${META_TAG} \
|
${IMAGE}:arm32v7-${META_TAG} \
|
||||||
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -303,15 +332,13 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
|
sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
||||||
sh "chmod +x qemu-*"
|
|
||||||
sh "docker build --no-cache -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \
|
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:arm64v8-${META_TAG} \
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -335,13 +362,13 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
if [ "${DIST_IMAGE}" == "alpine" ]; then
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
apk info > packages && \
|
apk info -v > /tmp/package_versions.txt && \
|
||||||
apk info -v > versions && \
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
paste -d " " packages versions > /tmp/package_versions.txt && \
|
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
|
||||||
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
|
||||||
apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
|
apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
|
||||||
|
sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
|
||||||
chmod 777 /tmp/package_versions.txt'
|
chmod 777 /tmp/package_versions.txt'
|
||||||
fi
|
fi
|
||||||
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
|
||||||
@ -421,9 +448,9 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
docker pull lsiodev/ci:latest
|
docker pull lsiodev/ci:latest
|
||||||
if [ "${MULTIARCH}" == "true" ]; then
|
if [ "${MULTIARCH}" == "true" ]; then
|
||||||
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
|
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi
|
fi
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
@ -475,7 +502,7 @@ pipeline {
|
|||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
sh "docker push ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:${META_TAG} \
|
${IMAGE}:${META_TAG} \
|
||||||
${IMAGE}:latest '''
|
${IMAGE}:latest || :'''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -500,39 +527,39 @@ pipeline {
|
|||||||
'''
|
'''
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
if [ "${CI}" == "false" ]; then
|
if [ "${CI}" == "false" ]; then
|
||||||
docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG}
|
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi'''
|
fi'''
|
||||||
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
||||||
sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-latest"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm32v6-${META_TAG}"
|
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:amd64-latest"
|
sh "docker push ${IMAGE}:amd64-latest"
|
||||||
sh "docker push ${IMAGE}:arm32v6-latest"
|
sh "docker push ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker push ${IMAGE}:arm64v8-latest"
|
sh "docker push ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
||||||
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v6-latest ${IMAGE}:arm64v8-latest"
|
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v6-latest --os linux --arch arm"
|
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 annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
||||||
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm"
|
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 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}:latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:amd64-${META_TAG} \
|
${IMAGE}:amd64-${META_TAG} \
|
||||||
${IMAGE}:amd64-latest \
|
${IMAGE}:amd64-latest \
|
||||||
${IMAGE}:arm32v6-${META_TAG} \
|
${IMAGE}:arm32v7-${META_TAG} \
|
||||||
${IMAGE}:arm32v6-latest \
|
${IMAGE}:arm32v7-latest \
|
||||||
${IMAGE}:arm64v8-${META_TAG} \
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
${IMAGE}:arm64v8-latest \
|
${IMAGE}:arm64v8-latest \
|
||||||
lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} \
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -541,26 +568,26 @@ pipeline {
|
|||||||
when {
|
when {
|
||||||
branch "master"
|
branch "master"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-pkg-${PACKAGE_TAG}-ls${LS_TAG_NUMBER}"
|
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
|
||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
|
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "master",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
@ -602,7 +629,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
|
||||||
-d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
|
-d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -617,12 +644,12 @@ pipeline {
|
|||||||
}
|
}
|
||||||
else if (currentBuild.currentResult == "SUCCESS"){
|
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 --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
|
||||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** Success\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||||
}
|
}
|
||||||
else {
|
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 --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
|
||||||
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
"description": "**Build:** '${BUILD_NUMBER}'\\n**CI Results:** '${CI_URL}'\\n**ShellCheck Results:** '${SHELLCHECK_URL}'\\n**Status:** failure\\n**Job:** '${RUN_DISPLAY_URL}'\\n**Change:** '${CODE_URL}'\\n**External Release:**: '${RELEASE_LINK}'\\n**DockerHub:** '${DOCKERHUB_LINK}'\\n"}],\
|
||||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
44
README.md
44
README.md
@ -12,7 +12,6 @@ Find us at:
|
|||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||||
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
|
||||||
|
|
||||||
# [linuxserver/oscam](https://github.com/linuxserver/docker-oscam)
|
# [linuxserver/oscam](https://github.com/linuxserver/docker-oscam)
|
||||||
[](https://discord.gg/YWrKVTn)
|
[](https://discord.gg/YWrKVTn)
|
||||||
@ -39,7 +38,7 @@ The architectures supported by this image are:
|
|||||||
| :----: | --- |
|
| :----: | --- |
|
||||||
| x86-64 | amd64-latest |
|
| x86-64 | amd64-latest |
|
||||||
| arm64 | arm64v8-latest |
|
| arm64 | arm64v8-latest |
|
||||||
| armhf | arm32v6-latest |
|
| armhf | arm32v7-latest |
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
@ -165,15 +164,6 @@ Below are the instructions for updating containers:
|
|||||||
* Start the new container: `docker start oscam`
|
* Start the new container: `docker start oscam`
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
### Via Taisun auto-updater (especially useful if you don't remember the original parameters)
|
|
||||||
* Pull the latest image at its tag and replace it with the same env variables in one shot:
|
|
||||||
```
|
|
||||||
docker run --rm \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock taisun/updater \
|
|
||||||
--oneshot oscam
|
|
||||||
```
|
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
|
||||||
|
|
||||||
### Via Docker Compose
|
### Via Docker Compose
|
||||||
* Update all images: `docker-compose pull`
|
* Update all images: `docker-compose pull`
|
||||||
* or update a single image: `docker-compose pull oscam`
|
* or update a single image: `docker-compose pull oscam`
|
||||||
@ -181,8 +171,40 @@ Below are the instructions for updating containers:
|
|||||||
* or update a single container: `docker-compose up -d oscam`
|
* or update a single container: `docker-compose up -d oscam`
|
||||||
* You can also remove the old dangling images: `docker image prune`
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
|
||||||
|
* Pull the latest image at its tag and replace it with the same env variables in one run:
|
||||||
|
```
|
||||||
|
docker run --rm \
|
||||||
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
|
containrrr/watchtower \
|
||||||
|
--run-once oscam
|
||||||
|
```
|
||||||
|
* You can also remove the old dangling images: `docker image prune`
|
||||||
|
|
||||||
|
## Building locally
|
||||||
|
|
||||||
|
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
||||||
|
```
|
||||||
|
git clone https://github.com/linuxserver/docker-oscam.git
|
||||||
|
cd docker-oscam
|
||||||
|
docker build \
|
||||||
|
--no-cache \
|
||||||
|
--pull \
|
||||||
|
-t linuxserver/oscam:latest .
|
||||||
|
```
|
||||||
|
|
||||||
|
The ARM variants can be built on x86_64 hardware using `multiarch/qemu-user-static`
|
||||||
|
```
|
||||||
|
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||||
|
```
|
||||||
|
|
||||||
|
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **29.04.19:** - Add revision check, so pipeline can build new revisions.
|
||||||
|
* **28.04.19:** - Switch back to streamboard svn to fix version not showing in UI.
|
||||||
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
* **19.02.19:** - Add pipeline logic and multi arch, rebase to Alpine 3.8.
|
* **19.02.19:** - Add pipeline logic and multi arch, rebase to Alpine 3.8.
|
||||||
* **03.01.18:** - Deprecate cpu_core routine lack of scaling.
|
* **03.01.18:** - Deprecate cpu_core routine lack of scaling.
|
||||||
* **13.12.17:** - Rebase to alpine 3.7.
|
* **13.12.17:** - Rebase to alpine 3.7.
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-oscam
|
project_name: docker-oscam
|
||||||
external_type: os
|
external_type: na
|
||||||
|
custom_version_command: "docker run --rm alpine:3.9 sh -c 'apk add subversion > /dev/null 2>&1 && svn info --show-item revision http://www.streamboard.tv/svn/oscam/trunk'"
|
||||||
release_type: stable
|
release_type: stable
|
||||||
release_tag: latest
|
release_tag: latest
|
||||||
ls_branch: master
|
ls_branch: master
|
||||||
|
@ -1,34 +1,34 @@
|
|||||||
musl musl-1.1.19-r10
|
alpine-baselayout-3.1.0-r0
|
||||||
busybox busybox-1.28.4-r3
|
alpine-keys-2.1-r1
|
||||||
alpine-baselayout alpine-baselayout-3.1.0-r0
|
apk-tools-2.10.1-r0
|
||||||
alpine-keys alpine-keys-2.1-r1
|
bash-4.4.19-r1
|
||||||
libressl2.7-libcrypto libressl2.7-libcrypto-2.7.5-r0
|
busybox-1.28.4-r3
|
||||||
libressl2.7-libssl libressl2.7-libssl-2.7.5-r0
|
ca-certificates-20171114-r3
|
||||||
libressl2.7-libtls libressl2.7-libtls-2.7.5-r0
|
ccid-1.4.29-r0
|
||||||
ssl_client ssl_client-1.28.4-r3
|
coreutils-8.29-r2
|
||||||
zlib zlib-1.2.11-r1
|
eudev-libs-3.2.5-r2
|
||||||
apk-tools apk-tools-2.10.1-r0
|
libacl-2.2.52-r5
|
||||||
scanelf scanelf-1.2.3-r0
|
libattr-2.4.47-r7
|
||||||
musl-utils musl-utils-1.1.19-r10
|
libc-utils-0.7.1-r0
|
||||||
libc-utils libc-utils-0.7.1-r0
|
libcrypto1.0-1.0.2r-r0
|
||||||
xz-libs xz-libs-5.2.4-r0
|
libressl2.7-libcrypto-2.7.5-r0
|
||||||
xz xz-5.2.4-r0
|
libressl2.7-libssl-2.7.5-r0
|
||||||
ca-certificates ca-certificates-20171114-r3
|
libressl2.7-libtls-2.7.5-r0
|
||||||
ncurses-terminfo-base ncurses-terminfo-base-6.1_p20180818-r1
|
libssl1.0-1.0.2r-r0
|
||||||
ncurses-terminfo ncurses-terminfo-6.1_p20180818-r1
|
libusb-1.0.22-r0
|
||||||
ncurses-libs ncurses-libs-6.1_p20180818-r1
|
linux-pam-1.3.0-r0
|
||||||
readline readline-7.0.003-r0
|
musl-1.1.19-r10
|
||||||
bash bash-4.4.19-r1
|
musl-utils-1.1.19-r10
|
||||||
libattr libattr-2.4.47-r7
|
ncurses-libs-6.1_p20180818-r1
|
||||||
libacl libacl-2.2.52-r5
|
ncurses-terminfo-6.1_p20180818-r1
|
||||||
coreutils coreutils-8.29-r2
|
ncurses-terminfo-base-6.1_p20180818-r1
|
||||||
linux-pam linux-pam-1.3.0-r0
|
pcsc-lite-1.8.23-r1
|
||||||
shadow shadow-4.5-r0
|
pcsc-lite-libs-1.8.23-r1
|
||||||
tzdata tzdata-2018f-r0
|
readline-7.0.003-r0
|
||||||
libusb libusb-1.0.22-r0
|
scanelf-1.2.3-r0
|
||||||
eudev-libs eudev-libs-3.2.5-r2
|
shadow-4.5-r0
|
||||||
pcsc-lite-libs pcsc-lite-libs-1.8.23-r1
|
ssl_client-1.28.4-r3
|
||||||
pcsc-lite pcsc-lite-1.8.23-r1
|
tzdata-2019a-r0
|
||||||
ccid ccid-1.4.29-r0
|
xz-5.2.4-r0
|
||||||
libcrypto1.0 libcrypto1.0-1.0.2r-r0
|
xz-libs-5.2.4-r0
|
||||||
libssl1.0 libssl1.0-1.0.2r-r0
|
zlib-1.2.11-r1
|
||||||
|
@ -12,7 +12,7 @@ project_blurb_optional_extras_enabled: false
|
|||||||
available_architectures:
|
available_architectures:
|
||||||
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||||
- { arch: "{{ arch_armhf }}", tag: "arm32v6-latest"}
|
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||||
|
|
||||||
# development version
|
# development version
|
||||||
development_versions: false
|
development_versions: false
|
||||||
@ -73,6 +73,9 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "29.04.19:", desc: "Add revision check, so pipeline can build new revisions." }
|
||||||
|
- { date: "28.04.19:", desc: "Switch back to streamboard svn to fix version not showing in UI." }
|
||||||
|
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||||
- { date: "19.02.19:", desc: "Add pipeline logic and multi arch, rebase to Alpine 3.8." }
|
- { date: "19.02.19:", desc: "Add pipeline logic and multi arch, rebase to Alpine 3.8." }
|
||||||
- { date: "03.01.18:", desc: "Deprecate cpu_core routine lack of scaling." }
|
- { date: "03.01.18:", desc: "Deprecate cpu_core routine lack of scaling." }
|
||||||
- { date: "13.12.17:", desc: "Rebase to alpine 3.7." }
|
- { date: "13.12.17:", desc: "Rebase to alpine 3.7." }
|
||||||
|
Reference in New Issue
Block a user