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 <josh@joshspicer.com>
This commit is contained in:
Chuck Lantz 2022-04-22 07:03:16 -05:00 коммит произвёл GitHub
Родитель ac0a5435d6
Коммит f2d3ec2ca9
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
15 изменённых файлов: 50 добавлений и 46 удалений

Просмотреть файл

@ -40,8 +40,10 @@
"https://dl.yarnpkg.com/debian": "https://dl.yarnpkg.com/debian/pubkey.gpg", "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-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-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-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-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", "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://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", "http://security.ubuntu.com/ubuntu": "http://security.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg",

Просмотреть файл

@ -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 ARG VARIANT=debian-11
FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT} FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT}

Просмотреть файл

@ -10,7 +10,7 @@
| *Categories* | Core, Languages | | *Categories* | Core, Languages |
| *Definition type* | Docker Compose | | *Definition type* | Docker Compose |
| *Available image variants* | [See cpp definition](../cpp). | | *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 | | *Works in Codespaces* | Yes |
| *Container host OS support* | Linux, macOS, Windows | | *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian, Ubuntu | | *Container OS* | Debian, Ubuntu |

Просмотреть файл

@ -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 ARG VARIANT=debian-11
FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT} FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT}

Просмотреть файл

@ -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 # [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-10 ARG VARIANT=debian-11
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# Install needed packages. Use a separate RUN statement to add your own dependencies. # Install needed packages. Use a separate RUN statement to add your own dependencies.

Просмотреть файл

@ -2,8 +2,8 @@
"name": "C++", "name": "C++",
"build": { "build": {
"dockerfile": "Dockerfile", "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 // 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, Debian 9, Ubuntu 18.04 or Ubuntu 21.04 on local arm64/Apple Silicon // Use Debian 11, Ubuntu 18.04 or Ubuntu 22.04 on local arm64/Apple Silicon
"args": { "VARIANT": "debian-11" } "args": { "VARIANT": "debian-11" }
}, },
"runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"], "runArgs": ["--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"],

Просмотреть файл

@ -10,8 +10,8 @@
| *Categories* | Core, Languages | | *Categories* | Core, Languages |
| *Definition type* | Dockerfile | | *Definition type* | Dockerfile |
| *Published images* | mcr.microsoft.com/vscode/devcontainers/cpp | | *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)) | | *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 `bullseye`, `bionic`, and `hirsute` variants | | *Published image architecture(s)* | x86-64, aarch64/arm64 for `debian-11`, `ubuntu-22.04`, and `ubuntu-18.04` variants |
| *Works in Codespaces* | Yes | | *Works in Codespaces* | Yes |
| *Container host OS support* | Linux, macOS, Windows | | *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Debian, Ubuntu | | *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). 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 ```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. 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` (latest Debian GA)
- `mcr.microsoft.com/vscode/devcontainers/cpp:debian` (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:debian-11` (or `bullseye`)
- `mcr.microsoft.com/vscode/devcontainers/cpp:buster` (or `debian-10`) - `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:ubuntu` (latest Ubuntu LTS)
- `mcr.microsoft.com/vscode/devcontainers/cpp:hirsute` (or `ubuntu-21.04`) - `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu-22.04` (or `jammy`)
- `mcr.microsoft.com/vscode/devcontainers/cpp:focal` (or `ubuntu-20.04`) - `mcr.microsoft.com/vscode/devcontainers/cpp:ubuntu-20.04` (or `focal`)
- `mcr.microsoft.com/vscode/devcontainers/cpp:bionic` (or `ubuntu-18.04`) - `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: 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-bullseye`
- `mcr.microsoft.com/vscode/devcontainers/cpp:0.203-bullseye` - `mcr.microsoft.com/vscode/devcontainers/cpp:0.204-bullseye`
- `mcr.microsoft.com/vscode/devcontainers/cpp:0.203.0-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). 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).

Просмотреть файл

@ -1,13 +1,12 @@
{ {
"variants": ["bullseye", "buster", "hirsute", "focal", "bionic", "stretch"], "variants": ["bullseye", "buster", "jammy", "focal", "bionic"],
"definitionVersion": "0.204.0", "definitionVersion": "0.205.0",
"build": { "build": {
"latest": "bullseye", "latest": "bullseye",
"parent": { "parent": {
"bullseye": "debian", "bullseye": "debian",
"buster": "debian", "buster": "debian",
"stretch": "debian", "jammy": "ubuntu",
"hirsute": "ubuntu",
"focal": "ubuntu", "focal": "ubuntu",
"bionic": "ubuntu" "bionic": "ubuntu"
}, },
@ -15,8 +14,7 @@
"architectures": { "architectures": {
"bullseye": ["linux/amd64", "linux/arm64"], "bullseye": ["linux/amd64", "linux/arm64"],
"buster": ["linux/amd64"], "buster": ["linux/amd64"],
"stretch": ["linux/amd64", "linux/arm64"], "jammy": ["linux/amd64", "linux/arm64"],
"hirsute": ["linux/amd64", "linux/arm64"],
"focal": ["linux/amd64"], "focal": ["linux/amd64"],
"bionic": ["linux/amd64", "linux/arm64"] "bionic": ["linux/amd64", "linux/arm64"]
}, },
@ -38,6 +36,10 @@
"cpp:${VERSION}-debian-9", "cpp:${VERSION}-debian-9",
"cpp:${VERSION}-debian9" "cpp:${VERSION}-debian9"
], ],
"jammy": [
"cpp:${VERSION}-ubuntu-22.04",
"cpp:${VERSION}-ubuntu22.04"
],
"hirsute": [ "hirsute": [
"cpp:${VERSION}-ubuntu-21.04", "cpp:${VERSION}-ubuntu-21.04",
"cpp:${VERSION}-ubuntu21.04" "cpp:${VERSION}-ubuntu21.04"

Просмотреть файл

@ -1,6 +1,6 @@
# [Choice] Ubuntu version (use hirsuite or bionic on local arm64/Apple Silicon): hirsute, focal, bionic # [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=focal ARG VARIANT=ubuntu-20.04
FROM mcr.microsoft.com/vscode/devcontainers/base:${VARIANT} FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# [Optional] Uncomment this section to install additional OS packages. # [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ # RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \

Просмотреть файл

@ -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" ARG VARIANT="focal"
FROM buildpack-deps:${VARIANT}-curl FROM buildpack-deps:${VARIANT}-curl

Просмотреть файл

@ -2,8 +2,8 @@
"name": "Ubuntu", "name": "Ubuntu",
"build": { "build": {
"dockerfile": "Dockerfile", "dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Ubuntu version: hirsute, focal, bionic // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
// Use hirsute or bionic on local arm64/Apple Silicon. // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
"args": { "VARIANT": "focal" } "args": { "VARIANT": "focal" }
}, },

Просмотреть файл

@ -102,7 +102,7 @@ if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then
libkrb5-3 \ libkrb5-3 \
libgssapi-krb5-2 \ libgssapi-krb5-2 \
libicu[0-9][0-9] \ libicu[0-9][0-9] \
liblttng-ust0 \ liblttng-ust[0-9] \
libstdc++6 \ libstdc++6 \
zlib1g \ zlib1g \
locales \ locales \

Просмотреть файл

@ -10,8 +10,8 @@
| *Categories* | Core, Other | | *Categories* | Core, Other |
| *Definition type* | Dockerfile | | *Definition type* | Dockerfile |
| *Published images* | mcr.microsoft.com/vscode/devcontainers/base:ubuntu | | *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)) | | *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 `hirsute` (21.04) and `bionic` (18.04) variants | | *Published image architecture(s)* | x86-64, aarch64/arm64 for `ubuntu-22.04` (`jammy`) and `ubuntu-18.04` (`bionic`) variants |
| *Works in Codespaces* | Yes | | *Works in Codespaces* | Yes |
| *Container host OS support* | Linux, macOS, Windows | | *Container host OS support* | Linux, macOS, Windows |
| *Container OS* | Ubuntu | | *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). 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 ```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. 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:ubuntu` (latest LTS release)
- `mcr.microsoft.com/vscode/devcontainers/base:hirsute` (or `ubuntu-21.04`) - `mcr.microsoft.com/vscode/devcontainers/base:ubuntu-22.04` (or `jammy`)
- `mcr.microsoft.com/vscode/devcontainers/base:focal` (or `ubuntu-20.04`) - `mcr.microsoft.com/vscode/devcontainers/base:ubuntu-20.04` (or `focal`)
- `mcr.microsoft.com/vscode/devcontainers/base:bionic` (or `ubuntu-18.04`) - `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: 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-focal`
- `mcr.microsoft.com/vscode/devcontainers/base:0.202-focal` - `mcr.microsoft.com/vscode/devcontainers/base:0.203-focal`
- `mcr.microsoft.com/vscode/devcontainers/base:0.202.0-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). 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).

Просмотреть файл

@ -1,11 +1,11 @@
{ {
"variants": ["hirsute", "focal", "bionic"], "variants": ["jammy", "focal", "bionic"],
"definitionVersion": "0.202.2", "definitionVersion": "0.203.0",
"build": { "build": {
"latest": false, "latest": false,
"rootDistro": "debian", "rootDistro": "debian",
"architectures": { "architectures": {
"hirsute": ["linux/amd64", "linux/arm64"], "jammy": ["linux/amd64", "linux/arm64"],
"focal": ["linux/amd64"], "focal": ["linux/amd64"],
"bionic": ["linux/amd64", "linux/arm64"] "bionic": ["linux/amd64", "linux/arm64"]
}, },
@ -13,9 +13,9 @@
"base:${VERSION}-${VARIANT}" "base:${VERSION}-${VARIANT}"
], ],
"variantTags": { "variantTags": {
"hirsute": [ "jammy": [
"base:${VERSION}-ubuntu-21.04", "base:${VERSION}-ubuntu-22.04",
"base:${VERSION}-ubuntu21.04" "base:${VERSION}-ubuntu22.04"
], ],
"focal": [ "focal": [
"base:${VERSION}-ubuntu-20.04", "base:${VERSION}-ubuntu-20.04",

Просмотреть файл

@ -102,7 +102,7 @@ if [ "${PACKAGES_ALREADY_INSTALLED}" != "true" ]; then
libkrb5-3 \ libkrb5-3 \
libgssapi-krb5-2 \ libgssapi-krb5-2 \
libicu[0-9][0-9] \ libicu[0-9][0-9] \
liblttng-ust0 \ liblttng-ust[0-9] \
libstdc++6 \ libstdc++6 \
zlib1g \ zlib1g \
locales \ locales \