From 658f9ec4c16e021e14f135ee97feb870028bd988 Mon Sep 17 00:00:00 2001
From: thelamer <ryankuba@gmail.com>
Date: Thu, 20 Feb 2020 11:48:01 -0800
Subject: [PATCH] adding focal baseimage

---
 Dockerfile         |  7 +++--
 Dockerfile.aarch64 |  7 +++--
 Dockerfile.armhf   |  7 +++--
 Jenkinsfile        | 72 +++++++++++++++++++++++-----------------------
 jenkins-vars.yml   |  6 ++--
 sources.list       | 24 ++++++++--------
 sources.list.arm   | 24 ++++++++--------
 7 files changed, 75 insertions(+), 72 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index 408e294..ca7a59a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
-FROM alpine:3.9 as rootfs-stage
+FROM alpine:3.11 as rootfs-stage
 
 # environment
-ENV REL=bionic
+ENV REL=focal
 ENV ARCH=amd64
 # install packages
 RUN \
@@ -30,7 +30,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
 LABEL maintainer="TheLamer"
 
 # set version for s6 overlay
-ARG OVERLAY_VERSION="v1.22.0.0"
+ARG OVERLAY_VERSION="v1.22.1.0"
 ARG OVERLAY_ARCH="amd64"
 
 # set environment variables
@@ -84,6 +84,7 @@ RUN \
  echo "**** install packages ****" && \
  apt-get install -y \
 	curl \
+	gnupg \
 	tzdata && \
  echo "**** generate locale ****" && \
  locale-gen en_US.UTF-8 && \
diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64
index b191ee9..d3e7ca9 100644
--- a/Dockerfile.aarch64
+++ b/Dockerfile.aarch64
@@ -1,7 +1,7 @@
-FROM alpine:3.9 as rootfs-stage
+FROM alpine:3.11 as rootfs-stage
 
 # environment
-ENV REL=bionic
+ENV REL=focal
 ENV ARCH=arm64
 # install packages
 RUN \
@@ -30,7 +30,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
 LABEL maintainer="TheLamer"
 
 # set version for s6 overlay
-ARG OVERLAY_VERSION="v1.22.0.0"
+ARG OVERLAY_VERSION="v1.22.1.0"
 ARG OVERLAY_ARCH="aarch64"
 
 # set environment variables
@@ -84,6 +84,7 @@ RUN \
  echo "**** install packages ****" && \
  apt-get install -y \
 	curl \
+	gnupg \
 	tzdata && \
  echo "**** generate locale ****" && \
  locale-gen en_US.UTF-8 && \
diff --git a/Dockerfile.armhf b/Dockerfile.armhf
index 42bba19..71f0e76 100644
--- a/Dockerfile.armhf
+++ b/Dockerfile.armhf
@@ -1,7 +1,7 @@
-FROM alpine:3.9 as rootfs-stage
+FROM alpine:3.11 as rootfs-stage
 
 # environment
-ENV REL=bionic
+ENV REL=focal
 ENV ARCH=armhf
 # install packages
 RUN \
@@ -30,7 +30,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
 LABEL maintainer="TheLamer"
 
 # set version for s6 overlay
-ARG OVERLAY_VERSION="v1.22.0.0"
+ARG OVERLAY_VERSION="v1.22.1.0"
 ARG OVERLAY_ARCH="arm"
 
 # set environment variables
@@ -84,6 +84,7 @@ RUN \
  echo "**** install packages ****" && \
  apt-get install -y \
 	curl \
+	gnupg \
 	tzdata && \
  echo "**** generate locale ****" && \
  locale-gen en_US.UTF-8 && \
diff --git a/Jenkinsfile b/Jenkinsfile
index 75bd22d..00e3a7b 100755
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -41,7 +41,7 @@ pipeline {
         script{
           env.EXIT_STATUS = ''
           env.LS_RELEASE = sh(
-            script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':bionic 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
+            script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':focal 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
             returnStdout: true).trim()
           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' ''',
@@ -117,10 +117,10 @@ pipeline {
         }
       }
     }
-    // If this is a bionic build use live docker endpoints
+    // If this is a focal build use live docker endpoints
     stage("Set ENV live build"){
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
       }
       steps {
@@ -141,7 +141,7 @@ pipeline {
     // If this is a dev build use dev docker endpoints
     stage("Set ENV dev build"){
       when {
-        not {branch "bionic"}
+        not {branch "focal"}
         environment name: 'CHANGE_ID', value: ''
       }
       steps {
@@ -214,7 +214,7 @@ pipeline {
     // Use helper containers to render templated files
     stage('Update-Templates') {
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
         expression {
           env.CONTAINER_NAME != null
@@ -225,7 +225,7 @@ pipeline {
               set -e
               TEMPDIR=$(mktemp -d)
               docker pull linuxserver/jenkins-builder:latest
-              docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=bionic -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest 
+              docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=focal -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest 
               CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
               cd ${TEMPDIR}/docker-${CONTAINER_NAME}
               NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
@@ -233,7 +233,7 @@ pipeline {
                 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 bionic
+                git checkout -f focal
                 cd ${TEMPDIR}/docker-${CONTAINER_NAME}
                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
                 cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
@@ -265,7 +265,7 @@ pipeline {
     // Exit the build if the Templated files were just updated
     stage('Template-exit') {
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
         environment name: 'FILES_UPDATED', value: 'true'
         expression {
@@ -384,7 +384,7 @@ pipeline {
     // Take the image we just built and dump package versions for comparison
     stage('Update-packages') {
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
         environment name: 'EXIT_STATUS', value: ''
       }
@@ -412,7 +412,7 @@ pipeline {
               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
                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
-                git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f bionic
+                git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f focal
                 cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
                 cd ${TEMPDIR}/${LS_REPO}/
                 wait
@@ -436,7 +436,7 @@ pipeline {
     // Exit the build if the package file was just updated
     stage('PACKAGE-exit') {
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
         environment name: 'PACKAGE_UPDATED', value: 'true'
         environment name: 'EXIT_STATUS', value: ''
@@ -450,7 +450,7 @@ pipeline {
     // Exit the build if this is just a package check and there are no changes to push
     stage('PACKAGECHECK-exit') {
       when {
-        branch "bionic"
+        branch "focal"
         environment name: 'CHANGE_ID', value: ''
         environment name: 'PACKAGE_UPDATED', value: 'false'
         environment name: 'EXIT_STATUS', value: ''
@@ -545,14 +545,14 @@ pipeline {
                 echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
                 for PUSHIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
                   docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
-                  docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:bionic
-                  docker push ${PUSHIMAGE}:bionic
+                  docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:focal
+                  docker push ${PUSHIMAGE}:focal
                   docker push ${PUSHIMAGE}:${META_TAG}
                 done
                 for DELETEIMAGE in "${QUAYIMAGE}" "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
                   docker rmi \
                   ${DELETEIMAGE}:${META_TAG} \
-                  ${DELETEIMAGE}:bionic || :
+                  ${DELETEIMAGE}:focal || :
                 done
              '''
         }
@@ -595,41 +595,41 @@ pipeline {
                   docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
                   docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
                   docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
-                  docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-bionic
-                  docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-bionic
-                  docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-bionic
+                  docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-focal
+                  docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-focal
+                  docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-focal
                   docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
                   docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
                   docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
-                  docker push ${MANIFESTIMAGE}:amd64-bionic
-                  docker push ${MANIFESTIMAGE}:arm32v7-bionic
-                  docker push ${MANIFESTIMAGE}:arm64v8-bionic
-                  docker manifest push --purge ${MANIFESTIMAGE}:bionic || :
-                  docker manifest create ${MANIFESTIMAGE}:bionic ${MANIFESTIMAGE}:amd64-bionic ${MANIFESTIMAGE}:arm32v7-bionic ${MANIFESTIMAGE}:arm64v8-bionic
-                  docker manifest annotate ${MANIFESTIMAGE}:bionic ${MANIFESTIMAGE}:arm32v7-bionic --os linux --arch arm
-                  docker manifest annotate ${MANIFESTIMAGE}:bionic ${MANIFESTIMAGE}:arm64v8-bionic --os linux --arch arm64 --variant v8
+                  docker push ${MANIFESTIMAGE}:amd64-focal
+                  docker push ${MANIFESTIMAGE}:arm32v7-focal
+                  docker push ${MANIFESTIMAGE}:arm64v8-focal
+                  docker manifest push --purge ${MANIFESTIMAGE}:focal || :
+                  docker manifest create ${MANIFESTIMAGE}:focal ${MANIFESTIMAGE}:amd64-focal ${MANIFESTIMAGE}:arm32v7-focal ${MANIFESTIMAGE}:arm64v8-focal
+                  docker manifest annotate ${MANIFESTIMAGE}:focal ${MANIFESTIMAGE}:arm32v7-focal --os linux --arch arm
+                  docker manifest annotate ${MANIFESTIMAGE}:focal ${MANIFESTIMAGE}:arm64v8-focal --os linux --arch arm64 --variant v8
                   docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
                   docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
                   docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
                   docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
-                  docker manifest push --purge ${MANIFESTIMAGE}:bionic
+                  docker manifest push --purge ${MANIFESTIMAGE}:focal
                   docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} 
                 done
                 for LEGACYIMAGE in "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
                   docker tag ${IMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:amd64-${META_TAG}
                   docker tag ${IMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-${META_TAG}
                   docker tag ${IMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-${META_TAG}
-                  docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:bionic
+                  docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:focal
                   docker tag ${LEGACYIMAGE}:amd64-${META_TAG} ${LEGACYIMAGE}:${META_TAG}
-                  docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-bionic
-                  docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-bionic
+                  docker tag ${LEGACYIMAGE}:arm32v7-${META_TAG} ${LEGACYIMAGE}:arm32v7-focal
+                  docker tag ${LEGACYIMAGE}:arm64v8-${META_TAG} ${LEGACYIMAGE}:arm64v8-focal
                   docker push ${LEGACYIMAGE}:amd64-${META_TAG}
                   docker push ${LEGACYIMAGE}:arm32v7-${META_TAG}
                   docker push ${LEGACYIMAGE}:arm64v8-${META_TAG}
-                  docker push ${LEGACYIMAGE}:bionic
+                  docker push ${LEGACYIMAGE}:focal
                   docker push ${LEGACYIMAGE}:${META_TAG}
-                  docker push ${LEGACYIMAGE}:arm32v7-bionic
-                  docker push ${LEGACYIMAGE}:arm64v8-bionic
+                  docker push ${LEGACYIMAGE}:arm32v7-focal
+                  docker push ${LEGACYIMAGE}:arm64v8-focal
                 done
              '''
         }
@@ -638,7 +638,7 @@ pipeline {
     // If this is a public release tag it in the LS Github
     stage('Github-Tag-Push-Release') {
       when {
-        branch "bionic"
+        branch "focal"
         expression {
           env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
         }
@@ -650,17 +650,17 @@ pipeline {
         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}'",\
              "object": "'${COMMIT_SHA}'",\
-             "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to bionic",\
+             "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to focal",\
              "type": "commit",\
              "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
         echo "Pushing New release for Tag"
         sh '''#! /bin/bash
               echo "Updating base packages to ${PACKAGE_TAG}" > releasebody.json
               echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
-                     "target_commitish": "bionic",\
+                     "target_commitish": "focal",\
                      "name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
                      "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**OS Changes:**\\n\\n' > start
-              printf '","draft": false,"prerelease": false}' >> releasebody.json
+              printf '","draft": false,"prerelease": true}' >> releasebody.json
               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'''
       }
diff --git a/jenkins-vars.yml b/jenkins-vars.yml
index 661c553..8639f65 100644
--- a/jenkins-vars.yml
+++ b/jenkins-vars.yml
@@ -3,9 +3,9 @@
 # jenkins variables
 project_name: docker-baseimage-ubuntu
 external_type: os
-release_type: stable
-release_tag: bionic
-ls_branch: bionic
+release_type: prerelease
+release_tag: focal
+ls_branch: focal
 repo_vars:
   - BUILD_VERSION_ARG = 'OS'
   - LS_USER = 'linuxserver'
diff --git a/sources.list b/sources.list
index 1b2a427..3e9945e 100644
--- a/sources.list
+++ b/sources.list
@@ -1,12 +1,12 @@
-deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted
-deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
-deb http://archive.ubuntu.com/ubuntu/ bionic universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ bionic universe multiverse
-deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates universe multiverse
-deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-security main restricted
-deb http://archive.ubuntu.com/ubuntu/ bionic-security universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-security universe multiverse
+deb http://archive.ubuntu.com/ubuntu/ focal main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted
+deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
+deb http://archive.ubuntu.com/ubuntu/ focal universe multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ focal universe multiverse
+deb http://archive.ubuntu.com/ubuntu/ focal-updates universe multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ focal-updates universe multiverse
+deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted
+deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted
+deb http://archive.ubuntu.com/ubuntu/ focal-security universe multiverse
+deb-src http://archive.ubuntu.com/ubuntu/ focal-security universe multiverse
diff --git a/sources.list.arm b/sources.list.arm
index 29c8227..ceb2389 100644
--- a/sources.list.arm
+++ b/sources.list.arm
@@ -1,12 +1,12 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted multiverse
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted multiverse
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic universe
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates universe
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted multiverse
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security universe
+deb http://ports.ubuntu.com/ubuntu-ports/ focal main restricted multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal main restricted multiverse
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted multiverse
+deb http://ports.ubuntu.com/ubuntu-ports/ focal universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal universe
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-updates universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-updates universe
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted multiverse
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted multiverse
+deb http://ports.ubuntu.com/ubuntu-ports/ focal-security universe
+deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security universe
-- 
GitLab