From f2d3ec2ca94cfc88052ad6dbc8efbbe450b18561 Mon Sep 17 00:00:00 2001 From: Chuck Lantz Date: Fri, 22 Apr 2022 07:03:16 -0500 Subject: [PATCH] Prep for Ubuntu 22.04/Jammy release (including C++ definitions) (#1399) * Ubuntu 22.04/Jammy * Adjust C++ definitions for Ubuntu Jammy * Stick with codenames for image generation * Stick with codenames for image generation * Fix references * bump manifest for cpp Co-authored-by: Josh Spicer --- build/config.json | 2 ++ .../cpp-mariadb/.devcontainer/Dockerfile | 2 +- containers/cpp-mariadb/README.md | 2 +- containers/cpp/.devcontainer/Dockerfile | 2 +- containers/cpp/.devcontainer/base.Dockerfile | 4 ++-- .../cpp/.devcontainer/devcontainer.json | 4 ++-- containers/cpp/README.md | 22 +++++++++---------- containers/cpp/definition-manifest.json | 14 +++++++----- containers/ubuntu/.devcontainer/Dockerfile | 6 ++--- .../ubuntu/.devcontainer/base.Dockerfile | 2 +- .../ubuntu/.devcontainer/devcontainer.json | 4 ++-- .../library-scripts/common-debian.sh | 2 +- containers/ubuntu/README.md | 16 +++++++------- containers/ubuntu/definition-manifest.json | 12 +++++----- script-library/common-debian.sh | 2 +- 15 files changed, 50 insertions(+), 46 deletions(-) diff --git a/build/config.json b/build/config.json index 7d8d8abe..1bebe8ce 100644 --- a/build/config.json +++ b/build/config.json @@ -40,8 +40,10 @@ "https://dl.yarnpkg.com/debian": "https://dl.yarnpkg.com/debian/pubkey.gpg", "https://packages.microsoft.com/repos/microsoft-debian-stretch-prod": "https://packages.microsoft.com/keys/microsoft.asc", "https://packages.microsoft.com/repos/microsoft-debian-buster-prod": "https://packages.microsoft.com/keys/microsoft.asc", + "https://packages.microsoft.com/repos/microsoft-debian-bullseye-prod": "https://packages.microsoft.com/keys/microsoft.asc", "https://packages.microsoft.com/repos/microsoft-ubuntu-focal-prod": "https://packages.microsoft.com/keys/microsoft.asc", "https://packages.microsoft.com/repos/microsoft-ubuntu-bionic-prod": "https://packages.microsoft.com/keys/microsoft.asc", + "https://packages.microsoft.com/repos/microsoft-ubuntu-jammy-prod": "https://packages.microsoft.com/keys/microsoft.asc", "https://packages.microsoft.com/repos/azure-cli": "https://packages.microsoft.com/keys/microsoft.asc", "http://archive.ubuntu.com/ubuntu": "http://archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg", "http://security.ubuntu.com/ubuntu": "http://security.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg", diff --git a/containers/cpp-mariadb/.devcontainer/Dockerfile b/containers/cpp-mariadb/.devcontainer/Dockerfile index 8cb28924..95f53d9c 100644 --- a/containers/cpp-mariadb/.devcontainer/Dockerfile +++ b/containers/cpp-mariadb/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -# [Choice] Debian / Ubuntu version (use Debian 11/9, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04 +# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/22.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 ARG VARIANT=debian-11 FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT} diff --git a/containers/cpp-mariadb/README.md b/containers/cpp-mariadb/README.md index 66546d72..f3b0c8c5 100644 --- a/containers/cpp-mariadb/README.md +++ b/containers/cpp-mariadb/README.md @@ -10,7 +10,7 @@ | *Categories* | Core, Languages | | *Definition type* | Docker Compose | | *Available image variants* | [See cpp definition](../cpp). | -| *Supported architecture(s)* | x86-64, aarch64/arm64 for `bullseye`, `stretch`, `bionic`, and `hirsute` variants | +| *Supported architecture(s)* | x86-64, aarch64/arm64 for `debian-11`, `ubuntu-22.04`, and `ubuntu-18.04` variants | | *Works in Codespaces* | Yes | | *Container host OS support* | Linux, macOS, Windows | | *Container OS* | Debian, Ubuntu | diff --git a/containers/cpp/.devcontainer/Dockerfile b/containers/cpp/.devcontainer/Dockerfile index 6ed27921..df1c9e1f 100644 --- a/containers/cpp/.devcontainer/Dockerfile +++ b/containers/cpp/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04 +# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/22.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 ARG VARIANT=debian-11 FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT} diff --git a/containers/cpp/.devcontainer/base.Dockerfile b/containers/cpp/.devcontainer/base.Dockerfile index 26e42099..ee278eb1 100644 --- a/containers/cpp/.devcontainer/base.Dockerfile +++ b/containers/cpp/.devcontainer/base.Dockerfile @@ -1,5 +1,5 @@ -# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/21.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04 -ARG VARIANT=debian-10 +# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/22.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 +ARG VARIANT=debian-11 FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} # Install needed packages. Use a separate RUN statement to add your own dependencies. diff --git a/containers/cpp/.devcontainer/devcontainer.json b/containers/cpp/.devcontainer/devcontainer.json index 0039b2ca..540b047d 100644 --- a/containers/cpp/.devcontainer/devcontainer.json +++ b/containers/cpp/.devcontainer/devcontainer.json @@ -2,8 +2,8 @@ "name": "C++", "build": { "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick an Debian / Ubuntu OS version: debian-11, debian-10, debian-9, ubuntu-21.04, ubuntu-20.04, ubuntu-18.04 - // Use Debian 11, Debian 9, Ubuntu 18.04 or Ubuntu 21.04 on local arm64/Apple Silicon + // Update 'VARIANT' to pick an Debian / Ubuntu OS version: debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 + // Use Debian 11, Ubuntu 18.04 or Ubuntu 22.04 on local arm64/Apple Silicon "args": { "VARIANT": "debian-11" } }, "runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], diff --git a/containers/cpp/README.md b/containers/cpp/README.md index d616904b..1c355ca3 100644 --- a/containers/cpp/README.md +++ b/containers/cpp/README.md @@ -10,8 +10,8 @@ | *Categories* | Core, Languages | | *Definition type* | Dockerfile | | *Published images* | mcr.microsoft.com/vscode/devcontainers/cpp | -| *Available image variants* | buster, bullseye, bionic, focal, hirsute ([full list](https://mcr.microsoft.com/v2/vscode/devcontainers/cpp/tags/list)) | -| *Published image architecture(s)* | x86-64, aarch64/arm64 for `bullseye`, `bionic`, and `hirsute` variants | +| *Available image variants* | debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 ([full list](https://mcr.microsoft.com/v2/vscode/devcontainers/cpp/tags/list)) | +| *Published image architecture(s)* | x86-64, aarch64/arm64 for `debian-11`, `ubuntu-22.04`, and `ubuntu-18.04` variants | | *Works in Codespaces* | Yes | | *Container host OS support* | Linux, macOS, Windows | | *Container OS* | Debian, Ubuntu | @@ -24,27 +24,27 @@ See **[history](history)** for information on the contents of published images. While the definition itself works unmodified, you can select the version of Debian or Ubuntu the container uses by updating the `VARIANT` arg in the included `devcontainer.json` (and rebuilding if you've already created the container). ```json -"args": { "VARIANT": "bullseye" } +"args": { "VARIANT": "debian-11" } ``` You can also directly reference pre-built versions of `.devcontainer/base.Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository. - `mcr.microsoft.com/vscode/devcontainers/cpp` (latest Debian GA) - `mcr.microsoft.com/vscode/devcontainers/cpp:debian` (latest Debian GA) -- `mcr.microsoft.com/vscode/devcontainers/cpp:bullseye` (or `debian-11`) -- `mcr.microsoft.com/vscode/devcontainers/cpp:buster` (or `debian-10`) +- `mcr.microsoft.com/vscode/devcontainers/cpp:debian-11` (or `bullseye`) +- `mcr.microsoft.com/vscode/devcontainers/cpp:debian-10` (or `buster`) - `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu` (latest Ubuntu LTS) -- `mcr.microsoft.com/vscode/devcontainers/cpp:hirsute` (or `ubuntu-21.04`) -- `mcr.microsoft.com/vscode/devcontainers/cpp:focal` (or `ubuntu-20.04`) -- `mcr.microsoft.com/vscode/devcontainers/cpp:bionic` (or `ubuntu-18.04`) +- `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu-22.04` (or `jammy`) +- `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu-20.04` (or `focal`) +- `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu-18.04` (or `bionic`) You can decide how often you want updates by referencing a [semantic version](https://semver.org/) of each image. For example: - `mcr.microsoft.com/vscode/devcontainers/cpp:0-bullseye` -- `mcr.microsoft.com/vscode/devcontainers/cpp:0.203-bullseye` -- `mcr.microsoft.com/vscode/devcontainers/cpp:0.203.0-bullseye` +- `mcr.microsoft.com/vscode/devcontainers/cpp:0.204-bullseye` +- `mcr.microsoft.com/vscode/devcontainers/cpp:0.204.0-bullseye` -However, we only do security patching on the latest [non-breaking, in support](https://github.com/microsoft/vscode-dev-containers/issues/532) versions of images (e.g. `0-bullseye`). You may want to run `apt-get update && apt-get upgrade` in your Dockerfile if you lock to a more specific version to at least pick up OS security updates. +However, we only do security patching on the latest [non-breaking, in support](https://github.com/microsoft/vscode-dev-containers/issues/532) versions of images (e.g. `0-debian-11`). You may want to run `apt-get update && apt-get upgrade` in your Dockerfile if you lock to a more specific version to at least pick up OS security updates. See [history](history) for information on the contents of each version and [here for a complete list of available tags](https://mcr.microsoft.com/v2/vscode/devcontainers/cpp/tags/list). diff --git a/containers/cpp/definition-manifest.json b/containers/cpp/definition-manifest.json index c37d65be..d7286cfe 100644 --- a/containers/cpp/definition-manifest.json +++ b/containers/cpp/definition-manifest.json @@ -1,13 +1,12 @@ { - "variants": ["bullseye", "buster", "hirsute", "focal", "bionic", "stretch"], - "definitionVersion": "0.204.0", + "variants": ["bullseye", "buster", "jammy", "focal", "bionic"], + "definitionVersion": "0.205.0", "build": { "latest": "bullseye", "parent": { "bullseye": "debian", "buster": "debian", - "stretch": "debian", - "hirsute": "ubuntu", + "jammy": "ubuntu", "focal": "ubuntu", "bionic": "ubuntu" }, @@ -15,8 +14,7 @@ "architectures": { "bullseye": ["linux/amd64", "linux/arm64"], "buster": ["linux/amd64"], - "stretch": ["linux/amd64", "linux/arm64"], - "hirsute": ["linux/amd64", "linux/arm64"], + "jammy": ["linux/amd64", "linux/arm64"], "focal": ["linux/amd64"], "bionic": ["linux/amd64", "linux/arm64"] }, @@ -38,6 +36,10 @@ "cpp:${VERSION}-debian-9", "cpp:${VERSION}-debian9" ], + "jammy": [ + "cpp:${VERSION}-ubuntu-22.04", + "cpp:${VERSION}-ubuntu22.04" + ], "hirsute": [ "cpp:${VERSION}-ubuntu-21.04", "cpp:${VERSION}-ubuntu21.04" diff --git a/containers/ubuntu/.devcontainer/Dockerfile b/containers/ubuntu/.devcontainer/Dockerfile index 0075cbd7..fbfe1a7a 100644 --- a/containers/ubuntu/.devcontainer/Dockerfile +++ b/containers/ubuntu/.devcontainer/Dockerfile @@ -1,6 +1,6 @@ -# [Choice] Ubuntu version (use hirsuite or bionic on local arm64/Apple Silicon): hirsute, focal, bionic -ARG VARIANT=focal -FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT} +# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 +ARG VARIANT=ubuntu-20.04 +FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} # [Optional] Uncomment this section to install additional OS packages. # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ diff --git a/containers/ubuntu/.devcontainer/base.Dockerfile b/containers/ubuntu/.devcontainer/base.Dockerfile index 0c46520b..8ad40423 100644 --- a/containers/ubuntu/.devcontainer/base.Dockerfile +++ b/containers/ubuntu/.devcontainer/base.Dockerfile @@ -1,4 +1,4 @@ -# [Choice] Ubuntu version (use hirsute or bionic on local arm64/Apple Silicon): hirsute, focal, bionic +# [Choice] Ubuntu version (use jammy or bionic on local arm64/Apple Silicon): jammy, focal, bionic ARG VARIANT="focal" FROM buildpack-deps:${VARIANT}-curl diff --git a/containers/ubuntu/.devcontainer/devcontainer.json b/containers/ubuntu/.devcontainer/devcontainer.json index f7ebae50..1922aefa 100644 --- a/containers/ubuntu/.devcontainer/devcontainer.json +++ b/containers/ubuntu/.devcontainer/devcontainer.json @@ -2,8 +2,8 @@ "name": "Ubuntu", "build": { "dockerfile": "Dockerfile", - // Update 'VARIANT' to pick an Ubuntu version: hirsute, focal, bionic - // Use hirsute or bionic on local arm64/Apple Silicon. + // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04 + // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon. "args": { "VARIANT": "focal" } }, diff --git a/containers/ubuntu/.devcontainer/library-scripts/common-debian.sh b/containers/ubuntu/.devcontainer/library-scripts/common-debian.sh index af4facc8..29626848 100755 --- a/containers/ubuntu/.devcontainer/library-scripts/common-debian.sh +++ b/containers/ubuntu/.devcontainer/library-scripts/common-debian.sh @@ -102,7 +102,7 @@ if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then libkrb5-3 \ libgssapi-krb5-2 \ libicu[0-9][0-9] \ - liblttng-ust0 \ + liblttng-ust[0-9] \ libstdc++6 \ zlib1g \ locales \ diff --git a/containers/ubuntu/README.md b/containers/ubuntu/README.md index 1cb8c744..65cdb002 100644 --- a/containers/ubuntu/README.md +++ b/containers/ubuntu/README.md @@ -10,8 +10,8 @@ | *Categories* | Core, Other | | *Definition type* | Dockerfile | | *Published images* | mcr.microsoft.com/vscode/devcontainers/base:ubuntu | -| *Available image variants* | hirsute, focal, bionic ([full list](https://mcr.microsoft.com/v2/vscode/devcontainers/base/tags/list)) | -| *Published image architecture(s)* | x86-64, aarch64/arm64 for `hirsute` (21.04) and `bionic` (18.04) variants | +| *Available image variants* | ubuntu-22.04 / jammy, ubuntu-20.04 / focal, ubuntu-18.04 / bionic ([full list](https://mcr.microsoft.com/v2/vscode/devcontainers/base/tags/list)) | +| *Published image architecture(s)* | x86-64, aarch64/arm64 for `ubuntu-22.04` (`jammy`) and `ubuntu-18.04` (`bionic`) variants | | *Works in Codespaces* | Yes | | *Container host OS support* | Linux, macOS, Windows | | *Container OS* | Ubuntu | @@ -24,21 +24,21 @@ See **[history](history)** for information on the contents of published images. While the definition itself works unmodified, you can select the version of Ubuntu the container uses by updating the `VARIANT` arg in the included `devcontainer.json` (and rebuilding if you've already created the container). ```json -"args": { "VARIANT": "bionic" } +"args": { "VARIANT": "ubuntu-18.04" } ``` You can also directly reference pre-built versions of `.devcontainer/base.Dockerfile` by using the `image` property in `.devcontainer/devcontainer.json` or updating the `FROM` statement in your own `Dockerfile` to one of the following. An example `Dockerfile` is included in this repository. - `mcr.microsoft.com/vscode/devcontainers/base:ubuntu` (latest LTS release) -- `mcr.microsoft.com/vscode/devcontainers/base:hirsute` (or `ubuntu-21.04`) -- `mcr.microsoft.com/vscode/devcontainers/base:focal` (or `ubuntu-20.04`) -- `mcr.microsoft.com/vscode/devcontainers/base:bionic` (or `ubuntu-18.04`) +- `mcr.microsoft.com/vscode/devcontainers/base:ubuntu-22.04` (or `jammy`) +- `mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04` (or `focal`) +- `mcr.microsoft.com/vscode/devcontainers/base:ubuntu-18.04` (or `bionic`) You can decide how often you want updates by referencing a [semantic version](https://semver.org/) of each image. For example: - `mcr.microsoft.com/vscode/devcontainers/base:0-focal` -- `mcr.microsoft.com/vscode/devcontainers/base:0.202-focal` -- `mcr.microsoft.com/vscode/devcontainers/base:0.202.0-focal` +- `mcr.microsoft.com/vscode/devcontainers/base:0.203-focal` +- `mcr.microsoft.com/vscode/devcontainers/base:0.203.0-focal` See [history](history) for information on the contents of each version and [here for a complete list of available tags](https://mcr.microsoft.com/v2/vscode/devcontainers/base/tags/list). diff --git a/containers/ubuntu/definition-manifest.json b/containers/ubuntu/definition-manifest.json index ebe376f5..dac691dd 100644 --- a/containers/ubuntu/definition-manifest.json +++ b/containers/ubuntu/definition-manifest.json @@ -1,11 +1,11 @@ { - "variants": ["hirsute", "focal", "bionic"], - "definitionVersion": "0.202.2", + "variants": ["jammy", "focal", "bionic"], + "definitionVersion": "0.203.0", "build": { "latest": false, "rootDistro": "debian", "architectures": { - "hirsute": ["linux/amd64", "linux/arm64"], + "jammy": ["linux/amd64", "linux/arm64"], "focal": ["linux/amd64"], "bionic": ["linux/amd64", "linux/arm64"] }, @@ -13,9 +13,9 @@ "base:${VERSION}-${VARIANT}" ], "variantTags": { - "hirsute": [ - "base:${VERSION}-ubuntu-21.04", - "base:${VERSION}-ubuntu21.04" + "jammy": [ + "base:${VERSION}-ubuntu-22.04", + "base:${VERSION}-ubuntu22.04" ], "focal": [ "base:${VERSION}-ubuntu-20.04", diff --git a/script-library/common-debian.sh b/script-library/common-debian.sh index af4facc8..29626848 100755 --- a/script-library/common-debian.sh +++ b/script-library/common-debian.sh @@ -102,7 +102,7 @@ if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then libkrb5-3 \ libgssapi-krb5-2 \ libicu[0-9][0-9] \ - liblttng-ust0 \ + liblttng-ust[0-9] \ libstdc++6 \ zlib1g \ locales \