Compare commits
13 Commits
4.4.020201
...
unstable-4
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9adbd5b7a6 | ||
|
|
64dddefaa4 | ||
|
|
2715c57de0 | ||
|
|
1e4fb78c7f | ||
|
|
ae0cd8e956 | ||
|
|
80d63bc664 | ||
|
|
2358dfa548 | ||
|
|
8936b76871 | ||
|
|
8f1c67d305 | ||
|
|
43dad217e2 | ||
|
|
9bddaa682c | ||
|
|
7be7da77fd | ||
|
|
d2018f8bdd |
21
.github/workflows/external_trigger.yml
vendored
21
.github/workflows/external_trigger.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
echo "**** External trigger running off of unstable branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
|
echo "**** External trigger running off of unstable branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
|
||||||
echo "**** Retrieving external version ****"
|
echo "**** Retrieving external version ****"
|
||||||
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
|
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
|
||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "**** Can't retrieve external version, exiting ****"
|
echo "**** Can't retrieve external version, exiting ****"
|
||||||
FAILURE_REASON="Can't retrieve external version for qbittorrent branch unstable"
|
FAILURE_REASON="Can't retrieve external version for qbittorrent branch unstable"
|
||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
|
EXT_RELEASE_CLEAN=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
|
||||||
echo "**** External version: ${EXT_RELEASE} ****"
|
echo "**** External version: ${EXT_RELEASE} ****"
|
||||||
echo "**** Retrieving last pushed version ****"
|
echo "**** Retrieving last pushed version ****"
|
||||||
image="linuxserver/qbittorrent"
|
image="linuxserver/qbittorrent"
|
||||||
@@ -61,14 +61,20 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
|
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
|
||||||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
if [ "${EXT_RELEASE_CLEAN}" == "${IMAGE_VERSION}" ]; then
|
||||||
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
||||||
exit 0
|
exit 0
|
||||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||||
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
|
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
|
echo "**** New version ${EXT_RELEASE_CLEAN} found; old version was ${IMAGE_VERSION}. Checking artifacts. . . ****"
|
||||||
|
EXT_RELEASE_STRIPPED=$(echo ${EXT_RELEASE} | sed 's|^1:||')
|
||||||
|
URL_AMD64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_amd64.deb"
|
||||||
|
URL_ARMHF="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_armhf.deb"
|
||||||
|
URL_ARM64="https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-unstable/+files/qbittorrent-nox_${EXT_RELEASE_STRIPPED}_arm64.deb"
|
||||||
|
if curl -fL "${URL_AMD64}" >/dev/null && curl -fL "${URL_ARMHF}" >/dev/null && curl -fL "${URL_ARM64}" >/dev/null; then
|
||||||
|
echo "**** All artifacts seem to be published, triggering build ****"
|
||||||
response=$(curl -iX POST \
|
response=$(curl -iX POST \
|
||||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/buildWithParameters?PACKAGE_CHECK=false \
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/buildWithParameters?PACKAGE_CHECK=false \
|
||||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||||
@@ -89,4 +95,11 @@ jobs:
|
|||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||||
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
else
|
||||||
|
echo "**** Not all artifacts are published yet, skipping trigger ****"
|
||||||
|
FAILURE_REASON="New version ${EXT_RELEASE} for qbittorrent tag unstable is detected, however not all artifacts are uploaded to launchpad yet. Will try again in 1 hr."
|
||||||
|
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||||
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||||
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -41,3 +41,4 @@ $RECYCLE.BIN/
|
|||||||
Network Trash Folder
|
Network Trash Folder
|
||||||
Temporary Items
|
Temporary Items
|
||||||
.apdisk
|
.apdisk
|
||||||
|
.jenkins-external
|
||||||
|
|||||||
10
Dockerfile
10
Dockerfile
@@ -1,4 +1,4 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
|
FROM ghcr.io/linuxserver/baseimage-ubuntu:focal
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
|
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-focal
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
|
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-focal
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian focal main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
81
Jenkinsfile
vendored
81
Jenkinsfile
vendored
@@ -55,7 +55,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 ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml'
|
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger_scheduler.yml'
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@@ -103,7 +103,7 @@ pipeline {
|
|||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
|
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.RELEASE_LINK = 'custom_command'
|
env.RELEASE_LINK = 'custom_command'
|
||||||
}
|
}
|
||||||
@@ -231,10 +231,53 @@ pipeline {
|
|||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
|
# Stage 1 - Jenkinsfile update
|
||||||
|
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||||
|
mkdir -p ${TEMPDIR}/repo
|
||||||
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
|
git checkout -f unstable
|
||||||
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
git add Jenkinsfile
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Updating Jenkinsfile"
|
||||||
|
rm -Rf ${TEMPDIR}
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "Jenkinsfile is up to date."
|
||||||
|
fi
|
||||||
|
# Stage 2 - Delete old templates
|
||||||
|
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md"
|
||||||
|
for i in ${OLD_TEMPLATES}; do
|
||||||
|
if [[ -f "${i}" ]]; then
|
||||||
|
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then
|
||||||
|
mkdir -p ${TEMPDIR}/repo
|
||||||
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
|
git checkout -f unstable
|
||||||
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
|
for i in ${TEMPLATES_TO_DELETE}; do
|
||||||
|
git rm "${i}"
|
||||||
|
done
|
||||||
|
git commit -m 'Bot Updating Templated Files'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
|
echo "Deleting old templates"
|
||||||
|
rm -Rf ${TEMPDIR}
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo "No templates to delete"
|
||||||
|
fi
|
||||||
|
# Stage 3 - Update templates
|
||||||
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then
|
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then
|
||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
@@ -242,11 +285,13 @@ pipeline {
|
|||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||||
rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
|
|
||||||
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
|
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}/
|
cd ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
|
||||||
|
echo ".jenkins-external" >> .gitignore
|
||||||
|
git add .gitignore
|
||||||
|
fi
|
||||||
git add ${TEMPLATED_FILES}
|
git add ${TEMPLATED_FILES}
|
||||||
git rm .github/ISSUE_TEMPLATE.md || :
|
|
||||||
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}
|
||||||
@@ -255,8 +300,8 @@ 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") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/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
|
||||||
git commit -m 'Bot Updating Documentation'
|
git commit -m 'Bot Updating Documentation'
|
||||||
@@ -266,13 +311,13 @@ pipeline {
|
|||||||
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
|
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
|
||||||
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
|
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
|
||||||
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
|
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
|
||||||
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml
|
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
|
||||||
fi
|
fi
|
||||||
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
|
||||||
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
||||||
echo "Image is on the ignore list, skipping Unraid template upload"
|
echo "Image is on the ignore list, skipping Unraid template upload"
|
||||||
else
|
else
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
||||||
cd ${TEMPDIR}/unraid/templates/
|
cd ${TEMPDIR}/unraid/templates/
|
||||||
git add unraid/${CONTAINER_NAME}.xml
|
git add unraid/${CONTAINER_NAME}.xml
|
||||||
git commit -m 'Bot Updating Unraid Template'
|
git commit -m 'Bot Updating Unraid Template'
|
||||||
@@ -512,7 +557,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-ci:latest
|
docker pull ghcr.io/linuxserver/ci:latest
|
||||||
if [ "${MULTIARCH}" == "true" ]; then
|
if [ "${MULTIARCH}" == "true" ]; then
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
@@ -537,7 +582,7 @@ pipeline {
|
|||||||
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
-e WEB_PATH=\"${CI_WEBPATH}\" \
|
||||||
-e DO_REGION="ams3" \
|
-e DO_REGION="ams3" \
|
||||||
-e DO_BUCKET="lsio-ci" \
|
-e DO_BUCKET="lsio-ci" \
|
||||||
-t ghcr.io/linuxserver/lsiodev-ci:latest \
|
-t ghcr.io/linuxserver/ci:latest \
|
||||||
python /ci/ci.py'''
|
python /ci/ci.py'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -682,9 +727,9 @@ pipeline {
|
|||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}"
|
echo "Pushing New tag for current commit ${META_TAG}"
|
||||||
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}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${META_TAG}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
@@ -692,9 +737,9 @@ pipeline {
|
|||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${META_TAG}'",\
|
||||||
"target_commitish": "unstable",\
|
"target_commitish": "unstable",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${META_TAG}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
@@ -721,7 +766,7 @@ pipeline {
|
|||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker pull ghcr.io/linuxserver/lsiodev-readme-sync
|
docker pull ghcr.io/linuxserver/readme-sync
|
||||||
docker run --rm=true \
|
docker run --rm=true \
|
||||||
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
-e DOCKERHUB_USERNAME=$DOCKERUSER \
|
||||||
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
|
-e DOCKERHUB_PASSWORD=$DOCKERPASS \
|
||||||
@@ -729,7 +774,7 @@ pipeline {
|
|||||||
-e DOCKER_REPOSITORY=${IMAGE} \
|
-e DOCKER_REPOSITORY=${IMAGE} \
|
||||||
-e GIT_BRANCH=master \
|
-e GIT_BRANCH=master \
|
||||||
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
|
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
|
||||||
ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
|
ghcr.io/linuxserver/readme-sync bash -c 'node sync'
|
||||||
rm -Rf ${TEMPDIR} '''
|
rm -Rf ${TEMPDIR} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -259,6 +259,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **24.03.21:** - Rebase to focal.
|
||||||
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
||||||
* **05.07.20:** - Shift to Python3
|
* **05.07.20:** - Shift to Python3
|
||||||
* **31.10.19:** - Adding unstable tag.
|
* **31.10.19:** - Adding unstable tag.
|
||||||
|
|||||||
@@ -3,10 +3,11 @@
|
|||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-qbittorrent
|
project_name: docker-qbittorrent
|
||||||
external_type: na
|
external_type: na
|
||||||
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
|
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/focal/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
|
||||||
release_type: prerelease
|
release_type: prerelease
|
||||||
release_tag: unstable
|
release_tag: unstable
|
||||||
ls_branch: unstable
|
ls_branch: unstable
|
||||||
|
custom_external_trigger: true
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- CONTAINER_NAME = 'qbittorrent'
|
- CONTAINER_NAME = 'qbittorrent'
|
||||||
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
||||||
|
|||||||
@@ -1,180 +1,191 @@
|
|||||||
adduser3.116ubuntu1
|
adduser3.118ubuntu2
|
||||||
apt1.6.12ubuntu0.2
|
apt2.0.4
|
||||||
apt-utils1.6.12ubuntu0.2
|
apt-utils2.0.4
|
||||||
base-files10.1ubuntu2.10
|
base-files11ubuntu5.3
|
||||||
base-passwd3.5.44
|
base-passwd3.5.47
|
||||||
bash4.4.18-2ubuntu1.2
|
bash5.0-6ubuntu1.1
|
||||||
bsdutils1:2.31.1-0.4ubuntu3.7
|
bsdutils1:2.34-0.1ubuntu9.1
|
||||||
bzip21.0.6-8.1ubuntu0.2
|
bzip21.0.8-2
|
||||||
ca-certificates20201027ubuntu0.18.04.1
|
ca-certificates20210119~20.04.1
|
||||||
coreutils8.28-1ubuntu1
|
coreutils8.30-3ubuntu2
|
||||||
curl7.58.0-2ubuntu3.12
|
curl7.68.0-1ubuntu2.4
|
||||||
dash0.5.8-2.10
|
dash0.5.10.2-6
|
||||||
dbus1.12.2-1ubuntu1.2
|
dbus1.12.16-2ubuntu2.1
|
||||||
debconf1.5.66ubuntu1
|
debconf1.5.73
|
||||||
debianutils4.8.4
|
debianutils4.9.1
|
||||||
diffutils1:3.6-1
|
diffutils1:3.7-3
|
||||||
dirmngr2.2.4-1ubuntu1.3
|
dirmngr2.2.19-3ubuntu2.1
|
||||||
dpkg1.19.0.5ubuntu2.3
|
dpkg1.19.7ubuntu3
|
||||||
e2fsprogs1.44.1-1ubuntu1.3
|
e2fsprogs1.45.5-2ubuntu1
|
||||||
fdisk2.31.1-0.4ubuntu3.7
|
fdisk2.34-0.1ubuntu9.1
|
||||||
file1:5.32-2ubuntu0.4
|
file1:5.38-4
|
||||||
findutils4.6.0+git+20170828-2
|
findutils4.7.0-1ubuntu1
|
||||||
gcc-8-base8.4.0-1ubuntu1~18.04
|
gcc-10-base10.2.0-5ubuntu1~20.04
|
||||||
geoip-bin1.6.12-1
|
geoip-bin1.6.12-6build1
|
||||||
geoip-database20180315-1
|
geoip-database20191224-2
|
||||||
gnupg2.2.4-1ubuntu1.3
|
gnupg2.2.19-3ubuntu2.1
|
||||||
gnupg-l10n2.2.4-1ubuntu1.3
|
gnupg-l10n2.2.19-3ubuntu2.1
|
||||||
gnupg-utils2.2.4-1ubuntu1.3
|
gnupg-utils2.2.19-3ubuntu2.1
|
||||||
gpg2.2.4-1ubuntu1.3
|
gpg2.2.19-3ubuntu2.1
|
||||||
gpg-agent2.2.4-1ubuntu1.3
|
gpg-agent2.2.19-3ubuntu2.1
|
||||||
gpgconf2.2.4-1ubuntu1.3
|
gpgconf2.2.19-3ubuntu2.1
|
||||||
gpgsm2.2.4-1ubuntu1.3
|
gpgsm2.2.19-3ubuntu2.1
|
||||||
gpgv2.2.4-1ubuntu1.3
|
gpgv2.2.19-3ubuntu2.1
|
||||||
gpg-wks-client2.2.4-1ubuntu1.3
|
gpg-wks-client2.2.19-3ubuntu2.1
|
||||||
gpg-wks-server2.2.4-1ubuntu1.3
|
gpg-wks-server2.2.19-3ubuntu2.1
|
||||||
grep3.1-2build1
|
grep3.4-1
|
||||||
gzip1.6-5ubuntu1
|
gzip1.10-0ubuntu4
|
||||||
hostname3.20
|
hostname3.23
|
||||||
init-system-helpers1.51
|
init-system-helpers1.57
|
||||||
krb5-locales1.16-2ubuntu0.2
|
krb5-locales1.17-6ubuntu4.1
|
||||||
libacl12.2.52-3build1
|
libacl12.2.53-6
|
||||||
libapparmor12.12-4ubuntu5.1
|
libapparmor12.13.3-7ubuntu5.1
|
||||||
libapt-inst2.01.6.12ubuntu0.2
|
libapt-pkg6.02.0.4
|
||||||
libapt-pkg5.01.6.12ubuntu0.2
|
libasn1-8-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libasn1-8-heimdal7.5.0+dfsg-1
|
libassuan02.5.3-7ubuntu2
|
||||||
libassuan02.5.1-2
|
libattr11:2.4.48-5
|
||||||
libattr11:2.4.47-2build1
|
libaudit11:2.8.5-2ubuntu6
|
||||||
libaudit11:2.8.2-1ubuntu1.1
|
libaudit-common1:2.8.5-2ubuntu6
|
||||||
libaudit-common1:2.8.2-1ubuntu1.1
|
libblkid12.34-0.1ubuntu9.1
|
||||||
libblkid12.31.1-0.4ubuntu3.7
|
libbrotli11.0.7-6ubuntu0.1
|
||||||
libboost-system1.65.11.65.1+dfsg-0ubuntu5
|
libbz2-1.01.0.8-2
|
||||||
libbz2-1.01.0.6-8.1ubuntu0.2
|
libc62.31-0ubuntu9.2
|
||||||
libc62.27-3ubuntu1.4
|
libcap-ng00.7.9-2.1build1
|
||||||
libcap-ng00.7.7-3.1
|
libc-bin2.31-0ubuntu9.2
|
||||||
libc-bin2.27-3ubuntu1.4
|
libcom-err21.45.5-2ubuntu1
|
||||||
libcom-err21.44.1-1ubuntu1.3
|
libcrypt11:4.4.10-10ubuntu4
|
||||||
libcurl47.58.0-2ubuntu3.12
|
libcurl47.68.0-1ubuntu2.4
|
||||||
libdb5.35.3.28-13.1ubuntu1.1
|
libdb5.35.3.28+dfsg1-0.6ubuntu2
|
||||||
libdbus-1-31.12.2-1ubuntu1.2
|
libdbus-1-31.12.16-2ubuntu2.1
|
||||||
libdebconfclient00.213ubuntu1
|
libdebconfclient00.251ubuntu1
|
||||||
libdouble-conversion12.0.1-4ubuntu1
|
libdouble-conversion33.1.5-4ubuntu1
|
||||||
libexpat12.2.5-3ubuntu0.2
|
libexpat12.2.9-1build1
|
||||||
libext2fs21.44.1-1ubuntu1.3
|
libext2fs21.45.5-2ubuntu1
|
||||||
libfdisk12.31.1-0.4ubuntu3.7
|
libfdisk12.34-0.1ubuntu9.1
|
||||||
libffi63.2.1-8
|
libffi73.3-4
|
||||||
libgcc11:8.4.0-1ubuntu1~18.04
|
libgcc-s110.2.0-5ubuntu1~20.04
|
||||||
libgcrypt201.8.1-4ubuntu1.2
|
libgcrypt201.8.5-5ubuntu1
|
||||||
libgeoip11.6.12-1
|
libgdbm61.18.1-5
|
||||||
libglib2.0-02.56.4-0ubuntu0.18.04.6
|
libgdbm-compat41.18.1-5
|
||||||
libglib2.0-data2.56.4-0ubuntu0.18.04.6
|
libgeoip11.6.12-6build1
|
||||||
libgmp102:6.1.2+dfsg-2
|
libglib2.0-02.64.6-1~ubuntu20.04.3
|
||||||
libgnutls303.5.18-1ubuntu1.4
|
libglib2.0-data2.64.6-1~ubuntu20.04.3
|
||||||
libgpg-error01.27-6
|
libgmp102:6.2.0+dfsg-4
|
||||||
libgssapi3-heimdal7.5.0+dfsg-1
|
libgnutls303.6.13-2ubuntu1.3
|
||||||
libgssapi-krb5-21.16-2ubuntu0.2
|
libgpg-error01.37-1
|
||||||
libhcrypto4-heimdal7.5.0+dfsg-1
|
libgssapi3-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libheimbase1-heimdal7.5.0+dfsg-1
|
libgssapi-krb5-21.17-6ubuntu4.1
|
||||||
libheimntlm0-heimdal7.5.0+dfsg-1
|
libhcrypto4-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libhogweed43.4-1
|
libheimbase1-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libhx509-5-heimdal7.5.0+dfsg-1
|
libheimntlm0-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libicu6060.2-3ubuntu3.1
|
libhogweed53.5.1+really3.5.1-2
|
||||||
libidn2-02.0.4-1.1ubuntu0.2
|
libhx509-5-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libk5crypto31.16-2ubuntu0.2
|
libicu6666.1-2ubuntu2
|
||||||
libkeyutils11.5.9-9.2ubuntu2
|
libidn2-02.2.0-2
|
||||||
libkrb5-26-heimdal7.5.0+dfsg-1
|
libk5crypto31.17-6ubuntu4.1
|
||||||
libkrb5-31.16-2ubuntu0.2
|
libkeyutils11.6-6ubuntu1
|
||||||
libkrb5support01.16-2ubuntu0.2
|
libkrb5-26-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
|
libkrb5-31.17-6ubuntu4.1
|
||||||
|
libkrb5support01.17-6ubuntu4.1
|
||||||
libksba81.3.5-2
|
libksba81.3.5-2
|
||||||
libldap-2.4-22.4.45+dfsg-1ubuntu1.8
|
libldap-2.4-22.4.49+dfsg-2ubuntu1.7
|
||||||
libldap-common2.4.45+dfsg-1ubuntu1.8
|
libldap-common2.4.49+dfsg-2ubuntu1.7
|
||||||
liblz4-10.0~r131-2ubuntu3
|
liblz4-11.9.2-2
|
||||||
liblzma55.2.2-1.3
|
liblzma55.2.4-1ubuntu1
|
||||||
libmagic11:5.32-2ubuntu0.4
|
libmagic11:5.38-4
|
||||||
libmagic-mgc1:5.32-2ubuntu0.4
|
libmagic-mgc1:5.38-4
|
||||||
libmount12.31.1-0.4ubuntu3.7
|
libmount12.34-0.1ubuntu9.1
|
||||||
libmpdec22.4.2-1ubuntu1
|
libmpdec22.4.2-3
|
||||||
libncurses56.1-1ubuntu1.18.04
|
libncurses66.2-0ubuntu2
|
||||||
libncursesw56.1-1ubuntu1.18.04
|
libncursesw66.2-0ubuntu2
|
||||||
libnettle63.4-1
|
libnetaddr-ip-perl4.079+dfsg-1build4
|
||||||
libnghttp2-141.30.0-1ubuntu1
|
libnettle73.5.1+really3.5.1-2
|
||||||
libnpth01.5-3
|
libnghttp2-141.40.0-1build1
|
||||||
libp11-kit00.23.9-2ubuntu0.1
|
libnpth01.6-1
|
||||||
libpam0g1.1.8-3.6ubuntu2.18.04.2
|
libp11-kit00.23.20-1ubuntu0.1
|
||||||
libpam-modules1.1.8-3.6ubuntu2.18.04.2
|
libpam0g1.3.1-5ubuntu4.1
|
||||||
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules1.3.1-5ubuntu4.1
|
||||||
libpam-runtime1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules-bin1.3.1-5ubuntu4.1
|
||||||
libpcre32:8.39-9
|
libpam-runtime1.3.1-5ubuntu4.1
|
||||||
libprocps62:3.3.12-3ubuntu1.2
|
libpcre2-16-010.34-7
|
||||||
libpsl50.19.1-5build1
|
libpcre2-8-010.34-7
|
||||||
libpython3.6-minimal3.6.9-1~18.04ubuntu1.3
|
libpcre32:8.39-12build1
|
||||||
libpython3.6-stdlib3.6.9-1~18.04ubuntu1.3
|
libperl5.305.30.0-9ubuntu0.2
|
||||||
libpython3-stdlib3.6.7-1~18.04
|
libprocps82:3.3.16-1ubuntu2
|
||||||
libqt5core5a5.9.5+dfsg-0ubuntu2.5
|
libpsl50.21.0-1ubuntu1
|
||||||
libqt5dbus55.9.5+dfsg-0ubuntu2.5
|
libpython3.8-minimal3.8.5-1~20.04.2
|
||||||
libqt5network55.9.5+dfsg-0ubuntu2.5
|
libpython3.8-stdlib3.8.5-1~20.04.2
|
||||||
libqt5xml55.9.5+dfsg-0ubuntu2.5
|
libpython3-stdlib3.8.2-0ubuntu2
|
||||||
libreadline77.0-3
|
libqt5core5a5.12.8+dfsg-0ubuntu1
|
||||||
libroken18-heimdal7.5.0+dfsg-1
|
libqt5dbus55.12.8+dfsg-0ubuntu1
|
||||||
librtmp12.4+20151223.gitfa8646d.1-1
|
libqt5network55.12.8+dfsg-0ubuntu1
|
||||||
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libqt5xml55.12.8+dfsg-0ubuntu1
|
||||||
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libreadline88.0-4
|
||||||
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
libroken18-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
libseccomp22.4.3-1ubuntu3.18.04.3
|
librtmp12.4+20151223.gitfa8646d.1-2build1
|
||||||
libselinux12.7-2build2
|
libsasl2-22.1.27+dfsg-2
|
||||||
libsemanage12.7-2build2
|
libsasl2-modules2.1.27+dfsg-2
|
||||||
libsemanage-common2.7-2build2
|
libsasl2-modules-db2.1.27+dfsg-2
|
||||||
libsepol12.7-1
|
libseccomp22.4.3-1ubuntu3.20.04.3
|
||||||
libsmartcols12.31.1-0.4ubuntu3.7
|
libselinux13.0-1build2
|
||||||
libsqlite3-03.22.0-1ubuntu0.4
|
libsemanage13.0-1build2
|
||||||
libss21.44.1-1ubuntu1.3
|
libsemanage-common3.0-1build2
|
||||||
libssl1.0.01.0.2n-1ubuntu5.5
|
libsepol13.0-1
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.7
|
libsmartcols12.34-0.1ubuntu9.1
|
||||||
libstdc++68.4.0-1ubuntu1~18.04
|
libsocket6-perl0.29-1build1
|
||||||
libsystemd0237-3ubuntu10.44
|
libsqlite3-03.31.1-4ubuntu0.2
|
||||||
libtasn1-64.13-2
|
libss21.45.5-2ubuntu1
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libssh-40.9.3-2ubuntu2.1
|
||||||
libtorrent-rasterbar101.2.12+git20210118.3efdb8a941-1ppa1~18.04
|
libssl1.11.1.1f-1ubuntu2.2
|
||||||
libudev1237-3ubuntu10.44
|
libstdc++610.2.0-5ubuntu1~20.04
|
||||||
libunistring20.9.9-0ubuntu2
|
libsystemd0245.4-4ubuntu3.4
|
||||||
libuuid12.31.1-0.4ubuntu3.7
|
libtasn1-64.16.0-2
|
||||||
libwind0-heimdal7.5.0+dfsg-1
|
libtinfo66.2-0ubuntu2
|
||||||
libxml22.9.4+dfsg1-6.1ubuntu1.3
|
libtorrent-rasterbar101.2.13+git20210323.34a979720b-1ppa1~20.04
|
||||||
libzstd11.3.3+dfsg-2ubuntu1.1
|
libudev1245.4-4ubuntu3.4
|
||||||
locales2.27-3ubuntu1.4
|
libunistring20.9.10-2
|
||||||
login1:4.5-1ubuntu2
|
libuuid12.34-0.1ubuntu9.1
|
||||||
lsb-base9.20170808ubuntu1
|
libwind0-heimdal7.7.0+dfsg-1ubuntu1
|
||||||
mawk1.3.3-17ubuntu3
|
libxml22.9.10+dfsg-5
|
||||||
mime-support3.60ubuntu1
|
libzstd11.4.4+dfsg-3ubuntu0.1
|
||||||
mount2.31.1-0.4ubuntu3.7
|
locales2.31-0ubuntu9.2
|
||||||
ncurses-base6.1-1ubuntu1.18.04
|
login1:4.8.1-1ubuntu5.20.04
|
||||||
ncurses-bin6.1-1ubuntu1.18.04
|
logsave1.45.5-2ubuntu1
|
||||||
openssl1.1.1-1ubuntu2.1~18.04.7
|
lsb-base11.1.0ubuntu2
|
||||||
p7zip16.02+dfsg-6
|
mawk1.3.4.20200120-2
|
||||||
p7zip-full16.02+dfsg-6
|
mime-support3.64ubuntu1
|
||||||
passwd1:4.5-1ubuntu2
|
mount2.34-0.1ubuntu9.1
|
||||||
perl-base5.26.1-6ubuntu0.5
|
ncurses-base6.2-0ubuntu2
|
||||||
pinentry-curses1.1.0-1
|
ncurses-bin6.2-0ubuntu2
|
||||||
procps2:3.3.12-3ubuntu1.2
|
netbase6.1
|
||||||
publicsuffix20180223.1310-1
|
openssl1.1.1f-1ubuntu2.2
|
||||||
python33.6.7-1~18.04
|
p7zip16.02+dfsg-7build1
|
||||||
python3.63.6.9-1~18.04ubuntu1.3
|
p7zip-full16.02+dfsg-7build1
|
||||||
python3.6-minimal3.6.9-1~18.04ubuntu1.3
|
passwd1:4.8.1-1ubuntu5.20.04
|
||||||
python3-minimal3.6.7-1~18.04
|
perl5.30.0-9ubuntu0.2
|
||||||
|
perl-base5.30.0-9ubuntu0.2
|
||||||
|
perl-modules-5.305.30.0-9ubuntu0.2
|
||||||
|
pinentry-curses1.1.0-3build1
|
||||||
|
procps2:3.3.16-1ubuntu2
|
||||||
|
publicsuffix20200303.0012-1
|
||||||
|
python33.8.2-0ubuntu2
|
||||||
|
python3.83.8.5-1~20.04.2
|
||||||
|
python3.8-minimal3.8.5-1~20.04.2
|
||||||
|
python3-minimal3.8.2-0ubuntu2
|
||||||
qbittorrent-cli1.6.20334-1
|
qbittorrent-cli1.6.20334-1
|
||||||
qbittorrent-nox4.4.0~202012311433-7161-a579b4a51~ubuntu18.04.1
|
qbittorrent-nox4.4.0~202103241608-7246-9f386afe9~ubuntu20.04.1
|
||||||
qttranslations5-l10n5.9.5-0ubuntu1
|
qttranslations5-l10n5.12.8-0ubuntu1
|
||||||
readline-common7.0-3
|
readline-common8.0-4
|
||||||
sed4.4-2
|
sed4.7-1
|
||||||
sensible-utils0.0.12
|
sensible-utils0.0.12+nmu1
|
||||||
shared-mime-info1.9-2
|
shared-mime-info1.15-1
|
||||||
sysvinit-utils2.88dsf-59.10ubuntu1
|
sysvinit-utils2.96-2.1ubuntu1
|
||||||
tar1.29b-2ubuntu0.2
|
tar1.30+dfsg-7ubuntu0.20.04.1
|
||||||
tzdata2020f-0ubuntu0.18.04
|
tzdata2021a-0ubuntu0.20.04
|
||||||
ubuntu-keyring2018.09.18.1~18.04.0
|
ubuntu-keyring2020.02.11.2
|
||||||
unrar1:5.5.8-1
|
unrar1:5.6.6-2build1
|
||||||
unzip6.0-21ubuntu1.1
|
unzip6.0-25ubuntu1
|
||||||
util-linux2.31.1-0.4ubuntu3.7
|
util-linux2.34-0.1ubuntu9.1
|
||||||
xdg-user-dirs0.17-1ubuntu1
|
xdg-user-dirs0.17-2ubuntu1
|
||||||
xz-utils5.2.2-1.3
|
xz-utils5.2.4-1ubuntu1
|
||||||
zlib1g1:1.2.11.dfsg-0ubuntu2
|
zlib1g1:1.2.11.dfsg-2ubuntu1.2
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- { date: "24.03.21:", desc: "Rebase to focal." }
|
||||||
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
|
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
|
||||||
- { date: "05.07.20:", desc: "Shift to Python3" }
|
- { date: "05.07.20:", desc: "Shift to Python3" }
|
||||||
- { date: "31.10.19:", desc: "Adding unstable tag." }
|
- { date: "31.10.19:", desc: "Adding unstable tag." }
|
||||||
|
|||||||
Reference in New Issue
Block a user