From nobody Mon Jul 6 20:35:27 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gvGMS6qKNz6k99H for ; Mon, 06 Jul 2026 20:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gvGMS5tg8z3tF7 for ; Mon, 06 Jul 2026 20:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783370132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hQCEXb5hfRo1qnDKOzCqkJpWgu8nflsWBceH44+k4cA=; b=Kg3J+eH58KiEhnhjy514ZJnJpNRNfm8yekEY6AK3EI3fs5qKH1JDnmAMl+rgPfjD23LPsl 6tY9BiJjLx/kMfjunvLmymKFygcYUDA7uHAgT6gXh9rjbe9H34aTbJ/ii0QGtoCNoSGBO7 d0ADz8edijrOCxtTmJkI/23lmkLRkFPVxoFFhBiXMdm9FC/o+a7u+EO3Ivapj0eg0sNjNS 43gb2xFWFERqAGEhfq2ZGYTjnbdOCLtgC4HXIDs7GemwY1FGKK2Gn4/wvumdwXRL+rojQQ aZIQhW35/b67wOgBHVpb9SnAFDKANAtxIcQ/urL6CEbLx3ViFmz9P7r4sML27g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783370132; a=rsa-sha256; cv=none; b=wx6D7TN73lDVwpVas0hna6lKc34TWj0O62quk58GUzQOHC3LdM0q34YQppu1fTEtouuATK Uqr6QfoRzef4vHGujGbsYFZUsBaqxHEJRpRXzB1HfqkysWTfi51AheT5Uq2HpOzSMQ1dti Z0tN5Ssk7o3vDx+Zj9pidIx5TdLe2aijzKZluxMBT4Cw0pNOHPSpV6Tv6Yhvmmdqkp+nQO wjCW7wD+D3ZRfAl6Z0Neki+KShhl50s5Yug6rFp2rMpDRy3us4UbBcOLtSXHSR+iANXmwh JHhlY11dSrnVyxxjwzJcywQTnUig6v4xw5E9dxrQiklk7zuPSKWHV85hQX1pFQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783370132; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hQCEXb5hfRo1qnDKOzCqkJpWgu8nflsWBceH44+k4cA=; b=sqxrnn2FfSz2/YbSkrubIXE7xVV4XT0zr+AyAaOcvAq+qwW9oVpuSgAGa72WV/rUPj8rYi 7rc41+15CY6TnSscUOtNPoBW1l4i76eo+oV7Z+Ol1qmEjyCoBTiJ1CdqTpDEtjLapMwRzn UQNtjqb87ezcXw/TW0c/quyOKXYROaJrfV06AXxNdGW3elYQg2YDtLJDfic55JN4S5w00m iFR/fnYdgVsP5TdWXQjXA27LJ0E0jzSYb1LZnpbnDoVSLEhVrTXHET8ydkydvrizzWjlFx 7xVPYHEAOiN/aV74OPAM1h/HrX4GKGZNQbKFzGWvUt6L4RrNSPERo2Vb9cdAfQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gvGMS4lD9z1Jlp for ; Mon, 06 Jul 2026 20:35:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 461b0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 06 Jul 2026 20:35:27 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Andrey Zakhvatov Subject: git: feb78c784b - main - Update website/themes/beastie/i18n/ru.toml List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andy X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: feb78c784ba49072eeea48d63f2c0c0fded0eb81 Auto-Submitted: auto-generated Date: Mon, 06 Jul 2026 20:35:27 +0000 Message-Id: <6a4c118f.461b0.310f629e@gitrepo.freebsd.org> The branch main has been updated by andy: URL: https://cgit.FreeBSD.org/doc/commit/?id=feb78c784ba49072eeea48d63f2c0c0fded0eb81 commit feb78c784ba49072eeea48d63f2c0c0fded0eb81 Author: Andrey Zakhvatov AuthorDate: 2026-07-06 20:32:48 +0000 Commit: Andrey Zakhvatov CommitDate: 2026-07-06 20:32:48 +0000 Update website/themes/beastie/i18n/ru.toml Update to EN 1429387ea6272ab62c87ba6488bb20742cf95dbd Improve wording --- website/themes/beastie/i18n/ru.toml | 94 ++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/website/themes/beastie/i18n/ru.toml b/website/themes/beastie/i18n/ru.toml index 2d2fea8d13..1c8d1ce64e 100644 --- a/website/themes/beastie/i18n/ru.toml +++ b/website/themes/beastie/i18n/ru.toml @@ -1,5 +1,5 @@ # --------------------------------------------------- -# Global +# Глобальные определения # --------------------------------------------------- [freebsd] other = "FreeBSD" @@ -32,7 +32,7 @@ other = "ещё" other = "лента" # --------------------------------------------------- -# Header +# Шапка # --------------------------------------------------- [documentation] other = "Документация" @@ -59,16 +59,16 @@ other = "Фонд FreeBSD" other = "Кодекс поведения" [h-get-freebsd] -other = "Получить FreeBSD" +other = "Установка FreeBSD" [h-release-information] other = "Информация о релизах" [h-release-engineering] -other = "Разработка релизов" +other = "О подготовке релизов" [h-security-advisories] -other = "Рекомендации по безопасности" +other = "Уведомления о безопасности" [h-documentation] other = "Документация" @@ -79,17 +79,20 @@ other = "Портал документации" [h-freebsd-handbook] other = "Руководство FreeBSD" +[h-documentation-faq] +other = "Часто задаваемые вопросы" + [h-porter-handbook] -other = "Руководство портировщика" +other = "Руководство по созданию портов" [h-documentation-handbook] -other = "Руководство проекта документации" +other = "Учебник проекта документирования" [h-manual-pages] other = "Страницы Справочника" [h-presentation-and-papers] -other = "Презентации и статьи" +other = "Презентации и публикации" [h-wiki] other = "Wiki" @@ -113,10 +116,10 @@ other = "Форум" other = "Списки рассылки" [h-irc-channels] -other = "IRC-каналы" +other = "Каналы IRC" [h-bug-tracker] -other = "Баг-трекер" +other = "Трекер ошибок" [h-support] other = "Поддержка" @@ -137,34 +140,34 @@ other = "Порты" other = "Форумы" [h-user-groups] -other = "Группы пользователей" +other = "Сообщества пользователей" [h-events] other = "События" [h-freebsd-journal] -other = "Журнал FreeBSD" +other = "Вестник FreeBSD" [h-developers] other = "Разработчики" [h-project-ideas] -other = "Идеи проектов" +other = "Идеи для проектов" [h-git-repository] -other = "Git-репозиторий" +other = "Хранилище Git" [h-git-mirror] other = "Зеркало GitHub" [h-phabricator] -other = "Проверка кода (Phabricator)" +other = "Рецензирование кода (Phabricator)" [h-CI] other = "Сервис непрерывной интеграции" [h-vendors] -other = "Поставщики" +other = "Вендоры" [h-security-information] other = "Информация о безопасности" @@ -176,10 +179,10 @@ other = "Сообщения об ошибках" other = "Отправка сообщений об ошибках" [h-webresources] -other = "Веб-ресурсы" +other = "Ресурсы Интернет" # --------------------------------------------------- -# Main +# Главная страница # --------------------------------------------------- [title-one] other = "Мощная операционная система" @@ -191,19 +194,19 @@ other = "с открытым исходным кодом" other = "Скачать FreeBSD" [other] -other = "другое" +other = "другие" [announcement] -other = "объявление" +other = "анонс" [notes] -other = "заметки" +other = "описание" [upcoming-releases] other = "Предстоящие релизы" [development-snapshots] -other = "снимки разработки" +other = "промежуточные релизы" [features-introduction-two] other = "возможности" @@ -212,40 +215,40 @@ other = "возможности" other = "для более подробного знакомства" [zfs-title] -other = "Нативный ZFS" +other = "Встроенная ZFS" [zfs-description] -other = "объединяет файловую систему и менеджер томов в единую надёжную платформу хранения данных. В FreeBSD он полностью интегрирован в систему." +other = "объединяет файловую систему и менеджер томов в единую надёжную платформу хранения данных. Во FreeBSD она полностью интегрирована в систему." [virtualization-title] other = "Виртуализация" [virtualization-description] -other = "— современный гипервизор FreeBSD с поддержкой virtio, PCI passthrough и быстрой эмуляции NVMe." +other = "во FreeBSD является современным гипервизором с поддержкой virtio, сквозного доступа к PCI и быстрой эмуляции NVMe." [jails-title] -other = "Клетки" +other = "Контейнеры" [jails-description] -other = "Клетки (jails) в FreeBSD обеспечивают изоляцию сервисов и приложений. Каждая клетка может работать со своей файловой системой, сетью и конфигурацией." +other = "Собственная реализация контейнеров во FreeBSD обеспечивает изоляцию сервисов и приложений. Каждое изолированное окружение может работать со своей файловой системой, сетевыми настройками и собственной конфигурацией." [networking-title] other = "Сетевые технологии" [networking-description] -other = "FreeBSD широко известна своей производительностью и стабильностью сетевого стека. Она используется в инфраструктуре по всему миру." +other = "FreeBSD широко известна производительностью и стабильностью работы своих сетевых функций. Во всём мире она используется для построения инфраструктуры, обрабатывающей существенные нагрузки." [documentation-title] other = "Документация" [documentation-description] -other = "FreeBSD включает обширную и хорошо поддерживаемую документацию. От Handbook до man-страниц — документация считается частью системы." +other = "FreeBSD содержит обширную и хорошо поддерживаемую документацию. Будь то Руководство или страницы Справочника, документация считается одной из ключевых частей системы." [community-title] other = "Сообщество" [community-description] -other = "FreeBSD имеет живое и дружное сообщество, от отдельных участников до крупных корпоративных организаций. Группы активны в различных каналах: от средств связи в реальном времени до списков рассылки и новостных групп." +other = "FreeBSD имеет живое и дружное сообщество, в которое входят как отдельные участники, так и крупные корпорации. Сообщества ведут свои активности в различных каналах коммуникаций, от средств связи в реальном времени до списков рассылки и новостных групп." [latest-news] other = "Последние новости" @@ -260,10 +263,10 @@ other = "Пресса" other = "Бюл\u00ADле\u00ADте\u00ADни бе\u00ADзо\u00ADпас\u00ADнос\u00ADти" [errata-notices] -other = "Сооб\u00ADще\u00ADния об ис\u00ADправ\u00ADле\u00ADниях" +other = "Уве\u00ADдом\u00ADле\u00ADния об ис\u00ADправ\u00ADле\u00ADниях" # --------------------------------------------------- -# Footer +# Подвал # --------------------------------------------------- [system] other = "Системная" @@ -275,7 +278,7 @@ other = "Светлая" other = "Тёмная" [high-contrast] -other = "Высокий контраст" +other = "Контрастная" [f-about] other = "О проекте" @@ -287,7 +290,7 @@ other = "FreeBSD" other = "Фонд FreeBSD" [f-get-freebsd] -other = "Получить FreeBSD" +other = "Установка FreeBSD" [f-code-of-conduct] other = "Кодекс поведения" @@ -305,7 +308,7 @@ other = "Портал документации" other = "Страницы Справочника" [f-presentation-and-papers] -other = "Презентации и статьи" +other = "Презентации и публикации" [f-previous-versions] other = "Предыдущие версии" @@ -329,10 +332,10 @@ other = "Форум сообщества" other = "Списки рассылки" [f-irc-channels] -other = "IRC-каналы" +other = "Каналы IRC" [f-bug-tracker] -other = "Баг-трекер" +other = "Трекер ошибок" [f-legal] other = "Правовая информация" @@ -371,7 +374,7 @@ other = "Мы не смогли найти запрошенную страниц other = "Пожалуйста, повторите ваш запрос либо воспользуйтесь одной из ссылок в меню навигации или окном поиска вверху страницы." # --------------------------------------------------- -# Ports form +# Форма для портов # --------------------------------------------------- [ports-search] other = "Поиск в портах:" @@ -434,7 +437,7 @@ other = "Ноябрь" [12] other = "Декабрь" -# Security section +# Раздел безопасности [data] other = "Данные" @@ -482,7 +485,7 @@ other = "Океания" [global] other = "Весь мир" -# Commercial software +# Коммерческое программное обеспечение [databases] other = "Базы данных" @@ -490,14 +493,11 @@ other = "Базы данных" other = "Средства разработки" [ecommerce] -other = "Решения и инструменты для электронной комерции" +other = "Решения и инструменты для электронной коммерции" [email] other = "Программное обеспечение для электронной почты" -[misc] -other = "Разное" - [network] other = "Системы и приложения для работы с сетью" @@ -708,3 +708,9 @@ other = "Отправить сообщение о проблеме" [webresources] other = "Веб-ресурсы" + +# +# The FreeBSD Russian Documentation Project +# +# Original EN revision (04.07.2026): 1429387ea6272ab62c87ba6488bb20742cf95dbd +# From nobody Mon Jul 6 20:50:34 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gvGhw2zS3z6kBSs for ; Mon, 06 Jul 2026 20:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gvGhw1XfHz3vMY for ; Mon, 06 Jul 2026 20:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783371040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l+FM370I3GPi8OuUapMyqLA50wwzBB8EX83x2bdJ3jo=; b=ppzyBOc6KvLIbjH/jNCUEjbPbmy/1ffB/fU1fryZ9OcYo5b/7ZVaukF5t+gBqudrGbDS0M FqlVA2GXQLcqVYChC69MFasojLWH0cw/HoG/u/1GmcyiM0KMFGIPicxcanPJO4WtNAfP+7 CCL5d6CTmLD/dpKmeGjdkBiOFn7oQ8cBZqU3WbIAfQzYcY1tgc9TaA6hlIxtJrXEhlhgnp cJfV4fBzsDHzmoiOh0ylvpMENlVRCHssQomtoiDZqyzUD2efSmPl3G44INs46WkA8DFRJU svkLMjiK+gj/dTTV2/OlezUmyBVOMasusXVSICn462ch8rR2TIbOGM1AjeC/sQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783371040; a=rsa-sha256; cv=none; b=suPEn/hEsK+FUJL6wqDHRwxZokP+afr65qac4izf1phNSucZQ0yNusBO2+QpjRi0iVbAbX L2RNhSTHT1uXzK4Z4qjuILxOstlaNwdG8ilmw+6IDAm7C22MoPmD+8QBwIa10xqb84W/bl 0FYk7tOS7V4K6z037DO+y7ElHBToaHIQuzs/S+1OwqoMsrtrm4kdZBQHGoLufO7qJH/xFH 6AIIbWXGm4Rcypw5owwMbJADBSwpPbIG7ptJavPFSnPcvJL9bPqzE4EagGepRlcAMm9hyT /wHpqB0afgTjPdCmg7gmq33n10g7xPbEXcQ4aLVclQIEkSff7i6mW/WO1Kg/4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783371040; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l+FM370I3GPi8OuUapMyqLA50wwzBB8EX83x2bdJ3jo=; b=T6ZsWvSptC5alqEbV02pqbNP+DieHwlBGUWeHV7g+/baO0XVpDTqZ7Ys5KCC+xR+Cqo/Fn E4UULcLB2kJ1iYsAdeGWhiElTz0gQ3MSHsHQKQ2RNdqzXs5GjYw54bLG7BHQLzK82b5idw ASswbmYK+XMlL/tVAgkqrTcDmvSBMsi7jZmKSFFScUb/GnBjgFus8ylcS1YDhLZgTwTZ0Y +N6T4+a53j9oScTAWNnI+Yu9ecgcZ4/6HJkA8MvzcW2FrIh1qCNCDJfTh5S6LQch68Ketw NWQOnJHfrJpJMhBR/8cPEFA/wwQefqXeqhlW6CG/sT30MoE04VKREvByUcsybg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gvGhw0DZqz1K9N for ; Mon, 06 Jul 2026 20:50:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18548 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 06 Jul 2026 20:50:34 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Andrey Zakhvatov Subject: git: d21a71025a - main - website/ru: Update releng/_index.adoc List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andy X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d21a71025a2b70f7d72dab30ad90d62ef9da31da Auto-Submitted: auto-generated Date: Mon, 06 Jul 2026 20:50:34 +0000 Message-Id: <6a4c151a.18548.556ae12a@gitrepo.freebsd.org> The branch main has been updated by andy: URL: https://cgit.FreeBSD.org/doc/commit/?id=d21a71025a2b70f7d72dab30ad90d62ef9da31da commit d21a71025a2b70f7d72dab30ad90d62ef9da31da Author: Andrey Zakhvatov AuthorDate: 2026-07-06 20:49:36 +0000 Commit: Andrey Zakhvatov CommitDate: 2026-07-06 20:49:36 +0000 website/ru: Update releng/_index.adoc Update to EN 8ead66a97f9ac8f2440f5e2126dc85eee4594315 --- website/content/ru/releng/_index.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/content/ru/releng/_index.adoc b/website/content/ru/releng/_index.adoc index ed2fb3f9ca..e5e93446ec 100644 --- a/website/content/ru/releng/_index.adoc +++ b/website/content/ru/releng/_index.adoc @@ -54,7 +54,7 @@ include::shared/ru/urls.adoc[] |`releng/15.0` |Заморожена |security-officer@FreeBSD.org |Поддерживаемая ветка FreeBSD 15.0 для исправления ошибок. |`stable/14` |Открыта |коммиттеры |Ветка разработки для FreeBSD 14-STABLE. |`releng/14.4` |Заморожена |security-officer@FreeBSD.org |Поддерживаемая ветка FreeBSD 14.4 для исправления ошибок. -|`releng/14.3` |Заморожена |security-officer@FreeBSD.org |Поддерживаемая ветка для исправления ошибок FreeBSD 14.3. +|`releng/14.3` |Заморожена |security-officer@FreeBSD.org |Ветка для исправления ошибок FreeBSD 14.3 (официально не поддерживается). |`releng/14.2` |Заморожена |security-officer@FreeBSD.org |Ветка для исправления ошибок FreeBSD 14.2 (официально не поддерживается). |`releng/14.1` |Заморожена |security-officer@FreeBSD.org |Ветка для исправления ошибок FreeBSD 14.1 (официально не поддерживается). |`releng/14.0` |Заморожена |security-officer@FreeBSD.org |Ветка для исправления ошибок FreeBSD 14.0 (официально не поддерживается). @@ -111,5 +111,5 @@ include::shared/ru/urls.adoc[] // // The FreeBSD Russian Documentation Project // -// Original EN revision (23.06.2026): f3fafbb2269e32004327c79e90ba48fbdf545d0d +// Original EN revision (02.07.2026): 8ead66a97f9ac8f2440f5e2126dc85eee4594315 // From nobody Tue Jul 7 19:35:23 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gvrzc1Gn7z6kMGc for ; Tue, 07 Jul 2026 19:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gvrzc0XWZz3TVq for ; Tue, 07 Jul 2026 19:35:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783452924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O4nKvEyqfgbfXdJOHFO8ho/EmLbq2yNWuwWlCUar3G8=; b=igwU89HQ0Xxpj/xqzMtjva2Z7RgsLe3q3ENk+EY/Zo98VnJ2oMfGmjM195wg6a/h9ADaii EoAgwIVltVWa3w3XEvu/wco1sKca/eImVyWt6/2v24WWmC5A8VlrbEM/P3cSqgJO501uTK PBjHGOdt1x/lJqXS3Z42rcM+A41PRUtaim3wqIaAwRWq0mfZhxws8Ir4zrbprrBYzkoDFn +cgYLS+ikfzw4bHPzk1BlWfRxuBJumBDLcigUFtQiL2VeNVNstVWPexjgG0ViLQ5cQLvO5 t6+Vl5mzHVc2f/PJzqBM9K+JH2xmE9zsnZvtxoE5gnxiMELCkXqqlgm07j7l8g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783452924; a=rsa-sha256; cv=none; b=awU32xcfWRhIYsx3JwIvswFWO70Xj2dW1OyBCktnsi7H6f2iPuWzf2uTOGsaZh/NIRonX8 sJnfYTH5nV8Iq1htdOSuablOQDFM2te/jKlqUKph1sN1/sepn4c/q9WzNS5JDoTHwsn7SY Z6HH72tCev7iOAxT6nZop9dtK3kMMkM40FX8MGFYgxJ3FlOYqIEMeV6cJLFE2Y88pRL42t FGpTrq/6mmTSANnvd3FGSnQ1YJtZrNQ6vkv4IyQ99nUKEp8dGXo8Sf29aZoU4TObagNb0/ VnT+JnFH4QzPr8d5pHugR7juUaQYsU71yT2wT7MVdpr/1vxxyUWGpW5GbgKDHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783452924; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O4nKvEyqfgbfXdJOHFO8ho/EmLbq2yNWuwWlCUar3G8=; b=ItlZb7PUHy6A58tZVxumpvhuueOOrcqMsV/GHOUFaiA+YRU+tqRq9YEiZLl2KJd7MUPCRG MR9gXB7+MxhXIV2LKExALyR3YYF5pBc44bZC/VFGYPE4aSFztwtJVy83wKYmaMgWWDyYZq P/Dz/ZibXfJnFo8Irv4uxD8jB4bGOWW7O9ky/lFbHXyaoVW/um0uyMM0RJavYqrZxMwRb7 BNrc60OLqo+dSDape7a2OiVjjujvi2TnTlIPZVKTwY+n+2vqyuuJXUNdvgesxaj+RNii8W 7jnbpazyHmlCeIwvTFbPww6zLhO7CW1h6jM+9wBDNFiYSZ0VwPs4BlnYMH9CDQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gvrzb5y64zp2r for ; Tue, 07 Jul 2026 19:35:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 414a4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 07 Jul 2026 19:35:23 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Andrey Zakhvatov Subject: git: 3e03928172 - main - website/ru: Update releases/14.4R/readme.adoc List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andy X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 3e039281724f084c5bf35b34ab90066ede06dc2d Auto-Submitted: auto-generated Date: Tue, 07 Jul 2026 19:35:23 +0000 Message-Id: <6a4d54fb.414a4.761f992b@gitrepo.freebsd.org> The branch main has been updated by andy: URL: https://cgit.FreeBSD.org/doc/commit/?id=3e039281724f084c5bf35b34ab90066ede06dc2d commit 3e039281724f084c5bf35b34ab90066ede06dc2d Author: Andrey Zakhvatov AuthorDate: 2026-07-07 19:33:51 +0000 Commit: Andrey Zakhvatov CommitDate: 2026-07-07 19:33:51 +0000 website/ru: Update releases/14.4R/readme.adoc Update to EN ab7514377981460d7b51124777212747697c79e7 --- website/content/ru/releases/14.4R/readme.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/content/ru/releases/14.4R/readme.adoc b/website/content/ru/releases/14.4R/readme.adoc index 106a685dd4..94873608d6 100644 --- a/website/content/ru/releases/14.4R/readme.adoc +++ b/website/content/ru/releases/14.4R/readme.adoc @@ -6,7 +6,7 @@ sidenav: download :releaseCurrent: 14.4-RELEASE :releaseType: release :releaseBranch: 14-STABLE -:releasePrevStable: 14.3-RELEASE +:releasePrevStable: X.Y-RELEASE :releasePrev: 14.3-RELEASE include::shared/releases.adoc[] @@ -74,7 +74,7 @@ link:../../../where/[странице загрузки] веб-сайта FreeBS Если вы отслеживаете ветку `{releaseBranch}`: вы должны подписаться на {freebsd-stable}, чтобы быть в курсе разработок и изменений, которые могут повлиять на ваше использование и обслуживание системы. -Будучи в значительной степени усилиями добровольцев, проект всегда рад дополнительным рукам, готовым помочь — желаемых улучшений гораздо больше, чем времени на их реализацию. +Будучи в значительной степени результатом усилий добровольцев, Проект всегда рад дополнительным рукам, готовым помочь, ведь желаемых улучшений гораздо больше, чем времени на их реализацию. Для связи с разработчиками по техническим вопросам или с предложениями помощи обращайтесь, пожалуйста, в {freebsd-hackers}. Вышеуказанные списки могут содержать значительные объёмы переписки. @@ -159,5 +159,5 @@ FreeBSD представляет собой совокупную работу м // // The FreeBSD Russian Documentation Project // -// Original EN revision (15.10.2025): fdb916e1c318b87a24b66ce62efd7e5d9e72f926 +// Original EN revision (15.06.2026): ab7514377981460d7b51124777212747697c79e7 // From nobody Tue Jul 7 19:49:15 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gvsHj5kH2z6kN7H for ; Tue, 07 Jul 2026 19:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gvsHj3XmKz3Xk6 for ; Tue, 07 Jul 2026 19:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783453761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61UPtX/uZH+4vC23RVStJRjP+5scQi2RItv7kr7FBrc=; b=wGIKFiS3IBaiD/MDgq/P1IfCCNskjkEvukm+7HHco6w7QSR1uKsp8TfOJnwU9M1GV0bdqT yIGzUbmB+etnZrU1mqqQsRqKPZ4ay1DIehEvmsdy7ndGQa0r6Umf+l/k8VAsZnVhptPDbJ zACbaCf7svYAmoTDmYhRBzGQe5JNp/p6cKFuyHEAtmtTEO/Ik+WtOyNO/mqeEXW4zes3nM hWtdbZAPDjEVRW8BFrCwNNl5pz/6+a0m96Sh/r5Lo7wmgHWjbyJ4BnxwLm7pC8smScHOlL 6JmD6RvL6Kq0hCyLdqrjKxdorpr4c2y3dsX8ceOMbwIk8Bd6uCtUCu5EJz5aSQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783453761; a=rsa-sha256; cv=none; b=j0VcbyDZxrGyCxGw4pBLlWvK4/4AQzAmZ1/AA57WCoz+69Dc+jYRabtie1gLpnJUBPJKLy jK3V5kH3nJICyU5U0KmVW8Hhk1xMBQ5eDgl01q9jnuSrIMHzjaDQ9ouFUmE5ozA5dQKMZV CDOqpzAFA9CBPRw8mYI1bYcM4XLG+12K3H/Ykl9HI/eCL5nfKrmCp82Qiv1P8j3I7gGlDM eVAny7i8f84YcnYIEvxKmpttaZ0CNwelivXjytGHM/BVAX80lg5vJdxlpRZnHD+Qyw40Rb +1ot5fC4Blcf2YW9pK8ByK/NIULqeu1n3MQvQJ3mtjlm5xD+BuqZOv4UvGmixw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783453761; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=61UPtX/uZH+4vC23RVStJRjP+5scQi2RItv7kr7FBrc=; b=xdzueoFH+Q3NBeC6yln6ytrr+oO7KqtGZJ57kFg9eGGAulgXdt9yQzh5BsNn+pHIn8/dMF 4VCXG8k14kCeP5iY3yOPezCqI9o17Vw06iAjKu32Q9z/4P3O3444/GdjHLA0Wa0Ko+7MQl AEUq+Wh193758DVwCP9InbSEb1oKmS3fvSghxbeAV1DgPccyCTJWVLskHMBTKU5cIpWsLW 6gKGFML2KnJao97T4c1SMYOSIqiK4o2Gs4wQJVYTYySUdnYLQMNjk6dLV2jUv/MkUaXrrw +VQCAOF+4R36Rk2yIKKCEYNnSdA8iFZ/NidTP12/wVyero7ZL6nAp0LEaUCQiQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gvsHj24gXzpxW for ; Tue, 07 Jul 2026 19:49:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42569 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 07 Jul 2026 19:49:15 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Vladlen Popolitov Subject: git: 90c04a54cf - main - documentation: fix crossref macro with comma in parameter List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vladlen X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 90c04a54cfad6b3fa1badffc121282721f646c1e Auto-Submitted: auto-generated Date: Tue, 07 Jul 2026 19:49:15 +0000 Message-Id: <6a4d583b.42569.8d329cd@gitrepo.freebsd.org> The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=90c04a54cfad6b3fa1badffc121282721f646c1e commit 90c04a54cfad6b3fa1badffc121282721f646c1e Author: Vladlen Popolitov AuthorDate: 2026-07-07 19:49:07 +0000 Commit: Vladlen Popolitov CommitDate: 2026-07-07 19:49:07 +0000 documentation: fix crossref macro with comma in parameter Approved by: carlavilla, ziaee Differential Revision: https://reviews.freebsd.org/D58046 --- documentation/content/en/articles/hubs/_index.adoc | 2 +- documentation/content/en/articles/vinum/_index.adoc | 4 ++-- .../books/fdp-primer/asciidoctor-primer/_index.adoc | 12 ++++++++++++ .../content/en/books/handbook/basics/_index.adoc | 2 +- .../en/books/handbook/serialcomms/_index.adoc | 2 +- .../en/books/porters-handbook/makefiles/_index.adoc | 20 ++++++++++---------- .../en/books/porters-handbook/plist/_index.adoc | 4 ++-- .../books/porters-handbook/slow-porting/_index.adoc | 2 +- .../content/it/books/handbook/vinum/_index.adoc | 4 ++-- 9 files changed, 32 insertions(+), 20 deletions(-) diff --git a/documentation/content/en/articles/hubs/_index.adoc b/documentation/content/en/articles/hubs/_index.adoc index df91360857..21ad08e9d1 100644 --- a/documentation/content/en/articles/hubs/_index.adoc +++ b/documentation/content/en/articles/hubs/_index.adoc @@ -324,7 +324,7 @@ The short answer is: from the site that is closest to you in Internet terms, or ==== I Just Want to Mirror from Somewhere! If you have no special intentions or requirements, the statement in -crossref:hubs[mirror-where-where, Ok, but Where Should I get the Stuff Now?] applies. +crossref:hubs[mirror-where-where,"Ok, but Where Should I get the Stuff Now?"] applies. This means: [.procedure] diff --git a/documentation/content/en/articles/vinum/_index.adoc b/documentation/content/en/articles/vinum/_index.adoc index 52656f88b7..bbb7bc069d 100644 --- a/documentation/content/en/articles/vinum/_index.adoc +++ b/documentation/content/en/articles/vinum/_index.adoc @@ -417,7 +417,7 @@ A typical configuration file might be: The subdisks of the second plex are offset by two drives from those of the first plex. This helps to ensure that writes do not go to the same subdisks even if a transfer goes over two drives. -crossref:vinum[vinum-raid10-vol, A Mirrored, Striped [.filename]#vinum# Volume] represents the structure of this volume. +crossref:vinum[vinum-raid10-vol,"A Mirrored, Striped [.filename]#vinum# Volume"] represents the structure of this volume. [[vinum-raid10-vol]] .A Mirrored, Striped [.filename]#vinum# Volume @@ -678,7 +678,7 @@ The bsdlabel for these devices might look like: It can be observed that the `size` parameter for the faked `a` partition matches the value outlined above, while the `offset` parameter is the sum of the offset within the [.filename]#vinum# partition `h`, and the offset of this partition within the device or slice. This is a typical setup that is necessary to avoid the problem described in -crossref:vinum[vinum-root-panic, Nothing Boots, the Bootstrap Panics]. +crossref:vinum[vinum-root-panic,"Nothing Boots, the Bootstrap Panics"]. The entire `a` partition is completely within the `h` partition containing all the [.filename]#vinum# data for this device. In the above example, the entire device is dedicated to [.filename]#vinum# and there is no leftover pre-[.filename]#vinum# root partition. diff --git a/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc b/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc index d5aae7675a..67ba576464 100644 --- a/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc +++ b/documentation/content/en/books/fdp-primer/asciidoctor-primer/_index.adoc @@ -277,6 +277,18 @@ Do not use either the `xref` macro or its shortcut `<<` `>>`. They do not work well in all output formats. ==== +[IMPORTANT] +==== +When the second parameter of the `crossref` macro contains a comma, it must be enclosed in double quotes. +Otherwise, the comma is interpreted as a parameter separator, and the text after the comma is stripped. + +For example: +.... +crossref:plist[documentation-comma, "First, second"] +.... +Without quotes, only `First` would be used as the link text, and the rest would be lost. +==== + [[asciidoctor-images-icons]] == Images and Icons diff --git a/documentation/content/en/books/handbook/basics/_index.adoc b/documentation/content/en/books/handbook/basics/_index.adoc index 8a488681d8..88c348a858 100644 --- a/documentation/content/en/books/handbook/basics/_index.adoc +++ b/documentation/content/en/books/handbook/basics/_index.adoc @@ -1324,7 +1324,7 @@ Unlike partitions and slices, disk numbering starts at 0. Common codes are listed in crossref:basics[disks-naming,Disk Device Names]. When referring to a partition in a slice, include the disk name, `s`, the slice number, and then the partition letter. -Examples are shown in crossref:basics[basics-disk-slice-part,Sample Disk, Slice, and Partition Names]. +Examples are shown in crossref:basics[basics-disk-slice-part,"Sample Disk, Slice, and Partition Names"]. GPT partitions include the disk name, `p`, and then the partition number. crossref:basics[basics-concept-disk-model,Conceptual Model of a Disk] shows a conceptual model of a disk layout using MBR slices. diff --git a/documentation/content/en/books/handbook/serialcomms/_index.adoc b/documentation/content/en/books/handbook/serialcomms/_index.adoc index af9c67f81d..b31793384c 100644 --- a/documentation/content/en/books/handbook/serialcomms/_index.adoc +++ b/documentation/content/en/books/handbook/serialcomms/_index.adoc @@ -113,7 +113,7 @@ The connector can be either a DB-25 or a DB-9. A null-modem cable can be constructed using the pin connections summarized in crossref:serialcomms[nullmodem-db25, DB-25 to DB-25 Null-Modem Cable], crossref:serialcomms[nullmodem-db9,DB-9 to DB-9 Null-Modem Cable], and -crossref:serialcomms[nullmodem-db9-25,DB-9 to DB-25 Null-Modem Cable, DB-9 to DB-25 Null-Modem Cable]. +crossref:serialcomms[nullmodem-db9-25,"DB-9 to DB-25 Null-Modem Cable, DB-9 to DB-25 Null-Modem Cable"]. While the standard calls for a straight-through pin 1 to pin 1 "Protective Ground" line, it is often omitted. Some terminals work using only pins 2, 3, and 7, while others require different configurations. When in doubt, refer to the documentation for the hardware. diff --git a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc index a9ffe801b9..72aa3c5f0a 100644 --- a/documentation/content/en/books/porters-handbook/makefiles/_index.adoc +++ b/documentation/content/en/books/porters-handbook/makefiles/_index.adoc @@ -2355,7 +2355,7 @@ MASTER_SITES= alpha:DEFAULT,SOME_SITE even if an element is postfixed with `:n`. See both crossref:makefiles[ports-master-sites-n-example-detailed-use-master-site-subdir,Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR`] and - crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. + crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,"Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories"]. + [[ports-master-sites-n-example-detailed-use-master-site-subdir]] .Detailed Use of `MASTER_SITES:n` in `MASTER_SITE_SUBDIR` @@ -2498,7 +2498,7 @@ PATCHFILES= patch1:test with their matching group elements within both `MASTER_SITES` and `PATCH_SITES` which use matching group elements within both `MASTER_SITE_SUBDIR` and `PATCH_SITE_SUBDIR`. Check - crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories]. + crossref:makefiles[ports-master-sites-n-example-detailed-use-complete-example-master-sites,"Detailed Use of `MASTER_SITES:n` with Comma Operator, Multiple Files, Multiple Sites and Multiple Subdirectories"]. ** `fetch-list`: works like old `fetch-list` with the exception that it groups just like `do-fetch`. ** `master-sites` and `patch-sites`: (incompatible with older versions) only return the elements of group `DEFAULT`; in fact, they execute targets `master-sites-default` and `patch-sites-default` respectively. + @@ -3714,7 +3714,7 @@ Variables related to gmake and [.filename]#configure# are described in crossref: Perl related variables are described in crossref:special[using-perl,Using Perl]. X11 variables are listed in crossref:special[using-x11,Using X11]. crossref:special[using-gnome,Using Gnome] deals with GNOME and crossref:special[using-kde,Using KDE] with KDE related variables. -crossref:special[using-java,Using Java] documents Java variables, while crossref:special[using-php,Web Applications, Apache and PHP] contains information on Apache, PHP and PEAR modules. +crossref:special[using-java,Using Java] documents Java variables, while crossref:special[using-php,"Web Applications, Apache and PHP"] contains information on Apache, PHP and PEAR modules. Python is discussed in crossref:special[using-python,Using Python], while Ruby in crossref:uses[uses-ruby,Ruby]. crossref:special[using-sdl,Using SDL] provides variables used for SDL applications and finally, crossref:special[using-xfce,Using Xfce] contains information on Xfce. @@ -4177,7 +4177,7 @@ For easier access, a comprehensive list is provided: `PLIST_SUB`, `SUB_LIST`:: For automatic `%%_OPT_%%` and `%%NO__OPT__%%` generation, see crossref:makefiles[options_sub, `OPTIONS_SUB`]. + -For more complex usage, see crossref:makefiles[options-variables, Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`]. +For more complex usage, see crossref:makefiles[options-variables,"Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"]. `CONFIGURE_ARGS`:: For `--enable-_x_` and `--disable-_x_`, see crossref:makefiles[options-configure_enable, `OPT_CONFIGURE_ENABLE`]. @@ -4208,11 +4208,11 @@ See crossref:makefiles[options-qmake_on, `OPT_QMAKE_ON` and `OPT_QMAKE_OFF`]. See crossref:makefiles[options-use, `OPT_USE` and `OPT_USE_OFF`]. `*_DEPENDS`:: -See crossref:makefiles[options-dependencies, Dependencies, `OPT_DEPTYPE` and `OPT_DEPTYPE_OFF`]. +See crossref:makefiles[options-dependencies,"Dependencies, `OPT_DEPTYPE` and `OPT_DEPTYPE_OFF`"]. `*` (Any variable):: The most used variables have direct helpers, see -crossref:makefiles[options-variables, Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`]. +crossref:makefiles[options-variables,"Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"]. + For any variable without a specific helper, see crossref:makefiles[options-vars, `OPT_VARS` and `OPT_VARS_OFF`]. @@ -4226,7 +4226,7 @@ crossref:makefiles[options-prevents, `OPT_PREVENTS` and `OPT_PREVENTS_MSG`]. Build targets:: When an option need some extra processing, see -crossref:makefiles[options-targets, Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`]. +crossref:makefiles[options-targets,"Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`"]. [[options_sub]] ==== `OPTIONS_SUB` @@ -4751,7 +4751,7 @@ Provides a generic way to set and append to variables. [WARNING] ==== Before using `OPT_VARS` and `OPT_VARS_OFF`, see if there is already a more -specific helper available in crossref:makefiles[options-variables, Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`]. +specific helper available in crossref:makefiles[options-variables,"Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"]. ==== When option _OPT_ is selected, and `OPT_VARS` defined, `_key_=_value_` and `_key_+=_value_` pairs are evaluated from `OPT_VARS`. @@ -5092,7 +5092,7 @@ There are three different variables to register a conflict between packages and [NOTE] ==== -The conflict variables automatically set the variable `IGNORE`, which is more fully documented in crossref:porting-dads[dads-noinstall,Marking a Port Not Installable with `BROKEN`, `FORBIDDEN`, or `IGNORE`]. +The conflict variables automatically set the variable `IGNORE`, which is more fully documented in crossref:porting-dads[dads-noinstall,"Marking a Port Not Installable with `BROKEN`, `FORBIDDEN`, or `IGNORE`"]. ==== When removing one of several conflicting ports, it is advisable to retain `CONFLICTS` in those other ports for a few months to cater for users who only update once in a while. @@ -5336,7 +5336,7 @@ post-install: .... On the other hand, if there is a DOCS option in the port, install the documentation in a `post-install-DOCS-on` target. -These targets are described in crossref:makefiles[options-targets, Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`]. +These targets are described in crossref:makefiles[options-targets,"Additional Build Targets, `_target_-_OPT_-on` and `_target_-_OPT_-off`"]. Here are some handy variables and how they are expanded by default when used in the [.filename]#Makefile#: diff --git a/documentation/content/en/books/porters-handbook/plist/_index.adoc b/documentation/content/en/books/porters-handbook/plist/_index.adoc index 9a76a8e3e8..ea8cd92d84 100644 --- a/documentation/content/en/books/porters-handbook/plist/_index.adoc +++ b/documentation/content/en/books/porters-handbook/plist/_index.adoc @@ -503,7 +503,7 @@ For example, [.filename]#/var/db/${PORTNAME}# needs to have a `@dir` entry where ==== `@exec` _command_, `@unexec` _command_ (Deprecated) Execute _command_ as part of the installation or deinstallation process. -Please use crossref:plist[plist-keywords-base-exec, `@preexec` _command_, `@postexec` _command_, `@preunexec` _command_, `@postunexec` _command_] instead. +Please use crossref:plist[plist-keywords-base-exec,"`@preexec` _command_, `@postexec` _command_, `@preunexec` _command_, `@postunexec` _command_"] instead. [[plist-keywords-base-dirrm]] ==== `@dirrm` _directory_ (Deprecated) @@ -615,7 +615,7 @@ actions: [file(1)] These keywords contains a man:sh[1] script to be executed before or after installation, deinstallation, or upgrade of the package. In addition to the usual `@exec %_foo_` placeholders described in -crossref:plist[plist-keywords-base-exec, `@preexec` _command_, `@postexec` _command_, `@preunexec` _command_, `@postunexec` _command_], there is a new one, `%@`, which represents the argument of the keyword. +crossref:plist[plist-keywords-base-exec,"`@preexec` _command_, `@postexec` _command_, `@preunexec` _command_, `@postunexec` _command_"], there is a new one, `%@`, which represents the argument of the keyword. [[plist-keywords-examples]] ==== Custom Keyword Examples diff --git a/documentation/content/en/books/porters-handbook/slow-porting/_index.adoc b/documentation/content/en/books/porters-handbook/slow-porting/_index.adoc index 5db01cfdd9..e3e0de9c2a 100644 --- a/documentation/content/en/books/porters-handbook/slow-porting/_index.adoc +++ b/documentation/content/en/books/porters-handbook/slow-porting/_index.adoc @@ -306,7 +306,7 @@ EXTRA_PATCHES= ${PATCHDIR}/extra-patch-fbsd10 [example] ==== When an crossref:makefiles[makefile-options,option] requires a patch, use ``opt_EXTRA_PATCHES`` and ``opt_EXTRA_PATCHES_OFF`` to make the patch conditional on the `opt` option. -See crossref:makefiles[options-variables,Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`] for more information. +See crossref:makefiles[options-variables,"Generic Variables Replacement, `OPT_VARIABLE` and `OPT_VARIABLE_OFF`"] for more information. [.programlisting] .... diff --git a/documentation/content/it/books/handbook/vinum/_index.adoc b/documentation/content/it/books/handbook/vinum/_index.adoc index a312e40cc4..c848d4edff 100644 --- a/documentation/content/it/books/handbook/vinum/_index.adoc +++ b/documentation/content/it/books/handbook/vinum/_index.adoc @@ -678,14 +678,14 @@ Alla richiesta di un filesystem di root da montare, ogni periferica che contenga ==== Si Carica Solo l'Avvio Primario -Se [.filename]#/boot/loader# non si carica, ma l'avvio primario si carica comunque (si capisce dal singolo trattino nella colonna di sinistra dello schermo subito dopo l'inizio dell'avvio), si può tentare di fermare l'avvio primario in questo punto, premendo il tasto kbd:[spazio]. Questo fermerà l'avvio nella seconda fase, vedi crossref:boot[boot-boot1,Stadio Uno, /boot/boot1, e Stadio Due, /boot/boot2]. Qua si può fare un tentativo di caricare una differente partizione, ad esempio la partizione contenente il precedente filesystem di root `"a"`, prima di sostituirlo come sopra indicato. +Se [.filename]#/boot/loader# non si carica, ma l'avvio primario si carica comunque (si capisce dal singolo trattino nella colonna di sinistra dello schermo subito dopo l'inizio dell'avvio), si può tentare di fermare l'avvio primario in questo punto, premendo il tasto kbd:[spazio]. Questo fermerà l'avvio nella seconda fase, vedi crossref:boot[boot-boot1,"Stadio Uno, /boot/boot1, e Stadio Due, /boot/boot2"]. Qua si può fare un tentativo di caricare una differente partizione, ad esempio la partizione contenente il precedente filesystem di root `"a"`, prima di sostituirlo come sopra indicato. [[vinum-root-panic]] ==== Non si Carica Niente, l'Avvio va in Panico Questa situazione accade quando l'installazione di Vinum ha distrutto il codice di avvio. Sfortunatamente Vinum lascia solo 4 KB liberi all'inizio della sua partizione prima di scrivere il proprio header. Purtroppo le due fasi dell'avvio e la disklabel compresa tra le due attualmente occupa 8 KB, quindi se la partizione Vinum è creata con spiazzamento 0 in una slice o disco che dovrebbe essere avviabile, la configurazione di Vinum distruggerà il codice di avvio. -Similmente, se la situazione sopra descritta è stata risolta avviando da un disco di "Fixit", e il codice di avvio re-installato usando `disklabel -B` come descritto in crossref:boot[boot-boot1,Stadio Uno, /boot/boot1, e Stadio Due, /boot/boot2], il codice di avvio distruggerà l'header di Vinum, che non saprà più trovare i propri dischi. Benché nessun dato, di configurazione o contenuto, sia distrutto da questo processo, che risulta quindi recuperabile reinserendo la stessa configurazione di Vinum, la situazione è in realtà di difficile risoluzione: sarebbe necessario spostare l'intera partizione Vinum di almeno 4 KB, in modo da lasciare abbastanza spazio sia per il codice di avvio che per l'header Vinum. +Similmente, se la situazione sopra descritta è stata risolta avviando da un disco di "Fixit", e il codice di avvio re-installato usando `disklabel -B` come descritto in crossref:boot[boot-boot1,"Stadio Uno, /boot/boot1, e Stadio Due, /boot/boot2"], il codice di avvio distruggerà l'header di Vinum, che non saprà più trovare i propri dischi. Benché nessun dato, di configurazione o contenuto, sia distrutto da questo processo, che risulta quindi recuperabile reinserendo la stessa configurazione di Vinum, la situazione è in realtà di difficile risoluzione: sarebbe necessario spostare l'intera partizione Vinum di almeno 4 KB, in modo da lasciare abbastanza spazio sia per il codice di avvio che per l'header Vinum. [[vinum-root-4x]] === Differenze per FreeBSD 4.X From nobody Thu Jul 9 18:28:44 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gx3Pm4hVBz6kdqn for ; Thu, 09 Jul 2026 18:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gx3Pm449Sz3nyy for ; Thu, 09 Jul 2026 18:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783621724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=so6BWVcjSCh6TYD9887Gn/78vsMwf0bmTpP65ZMWwXk=; b=egmS3O2/g4+pZeStkg1mmShAogri2tt3VW1DyA4GENu6qaFHXqn0u/45z9WjLmljsI7zio c++CLe7v/sPkpARNDdSWXGxardkMVI+lNbiIn/Kv5UA2Q5iIsy6VVN/3TGPbgZP+qZ1/H0 l7JZkRpXEi81Iplm3d9CvcsxxeT+SNucUN0tz03Eu7Mxf6Xsr1DeDDXdr29sULt6UuCfWm 0eBgYmTP1YbOWy86cPNXLIuU3GuimWHfnYKRP0QgbIGertd1XFNdgF5HvqChMCBW1r8ePT oeg1aLTKyl5VqHtdoNdvIOkpG73nW+BVw9BvpWnkLJFQkOqCqWTjmyFUCo2H+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783621724; a=rsa-sha256; cv=none; b=Q98OgAkhgrAk9x4fnHLBhewXAzpg7d2LpiqC9swDsdKgqfThrFWguHM1e/X6MwFEagtjyf nZ+X84cM1SNCf34L6nAIXRuBQVuPGtGAcPlBzITUbkdY8X8/8dHKbi/kKQFVlLFM4wqWIn RdA7WiltKL+mHGq/GmhCf7zoehejV9RFkfIbm6ED5niYY1AZXm5abWq0g30HSBC3chUxHd 54PbqSngLBLXDggKNwavrjbCYS8lZMWEGwx3ZVlPyi0L1VbPomRGRDNYLVna+B5ekOIrfV Uil1KLNSI8Wgz0ylCuXNzUM5VeUTPHf87DqJ9rWxpxfY2S/wBKR5x+QXpT8flQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783621724; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=so6BWVcjSCh6TYD9887Gn/78vsMwf0bmTpP65ZMWwXk=; b=T5f2kwWeo2ZtR6CqtYbidjiLsrD7+T/jJ+2SNFhgzY1+hbxNeKJro6YVVHGbyDZrmg77pX n8pe6qiBQDqvMe8EIiTKiotlnjE2d1NwA3ax69UocDnmhxNQLOvNxvcGLx1znfs7f3opWt Gkpze8UQc67XJBqIKP0aa6paapQRZzI5URXQh6cj0VvfAhRLLwjC+Qo60ucC6bN6RfcNhi TII1MMXYaCEiW5G4NpkB5xzQVioFE1Kw9L2dP59pCEKG2W+4dtFAydSA1eYmuwhhM0f+sj G0wi4bpdhBQ9CRNgT2RO5VL97k0gOb9ST5FdU5YHXPn8vECy7OqeVogcI7stMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gx3Pm2yqQz50g for ; Thu, 09 Jul 2026 18:28:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44921 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 09 Jul 2026 18:28:44 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando Apeste=?utf-8?Q?gu=C3=ADa?= Subject: git: a5cd26fffa - main - [phb][Uses]: Remove azurepy List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a5cd26fffa383bfe12247d275c58b8fa848ca183 Auto-Submitted: auto-generated Date: Thu, 09 Jul 2026 18:28:44 +0000 Message-Id: <6a4fe85c.44921.10ede193@gitrepo.freebsd.org> The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=a5cd26fffa383bfe12247d275c58b8fa848ca183 commit a5cd26fffa383bfe12247d275c58b8fa848ca183 Author: Fernando Apesteguía AuthorDate: 2026-07-09 18:28:00 +0000 Commit: Fernando Apesteguía CommitDate: 2026-07-09 18:28:00 +0000 [phb][Uses]: Remove azurepy --- documentation/content/en/books/porters-handbook/uses/_index.adoc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/documentation/content/en/books/porters-handbook/uses/_index.adoc b/documentation/content/en/books/porters-handbook/uses/_index.adoc index 3abfc50f39..2bc70fab43 100644 --- a/documentation/content/en/books/porters-handbook/uses/_index.adoc +++ b/documentation/content/en/books/porters-handbook/uses/_index.adoc @@ -244,14 +244,6 @@ If [.filename]#configure.ac# defines subdirectories with their own [.filename]#c The `:build` argument only adds build time dependencies on those tools but does not run `autoreconf`. A port can set `AUTORECONF_WRKSRC` if `WRKSRC` does not contain the path to [.filename]#configure.ac#. -[[uses-azurepy]] -== `azurepy` - -Possible arguments: (none) - -Provide support for `py-azure*` ports. -Removes `azure` namespaces and cleans up common files. - [[uses-blaslapack]] == `blaslapack` From nobody Fri Jul 10 12:38:34 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxWbG5pJpz6l5R1 for ; Fri, 10 Jul 2026 12:38:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxWbG36ggz3dnf for ; Fri, 10 Jul 2026 12:38:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hWpl80XznTdxTZ0fNyqCfLjQm26pdZUYFtUVcIJ9QG8=; b=RVlTQmfZN9twwvbkzqO09f6oZA+azTTgHmGuujHHMqkmMmPc1rni1oYhNbh+vk1fEa4pjU QKypzz4uNBSXZfp2bhQFSW9Rt/+kfOB+wC6aAXgzp7cpIVKul6FRewKorN9UFWz1xSK/ZE S+K2hlMT7DFFFgMutpa9uQv98RdwcoZvcb7QKg3OBx2o8t85MsD5kyJM6VXo7eSgdLiepb 7zLVNzFZCoplKFF6pKpeHC8H1AwNJPXNZ2rHEOqmmOstPlppy0ZTaPYS1TwqjZcTFQFAhH wH2MoiA9YVKT/duiN6LRLxY7Fw1qUFaWexAVpcdgha8bXY7/+uZZz23Q1/UNog== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783687114; a=rsa-sha256; cv=none; b=VTDDBK055nEil71qJe2QkOoOor6PCtNp1nRKKuJ6LqZCipI6R9/Hp8zG1jSIeMl8NhJ5k+ G103JBUec3o6nOgvqvC6H8D4LkABzTmmrlvmBvKPcm7EcmwGVRrbSBm2/LINBm7JP6JQrK aKJnqvxLx1L/aFbxXKnrTRxvhpKcbBtNPyIKUzlxjyLfD4VLTW3tTRlCY5o/6Yu3pAJvtT PY7JuqkMjkP8MrGDnm8wsKJOlHrJjYM8ynKECRXf8nrJYgfhEGLnb4TiIkIAyez7kmzgHa p4chyYjy9A5wXVnBq37KaSxJBytZojeHrB7Ky+CauDucCtbhHsm2fCeoZLoiTw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687114; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hWpl80XznTdxTZ0fNyqCfLjQm26pdZUYFtUVcIJ9QG8=; b=RwHahuoSU3wc8s1FXwFIhRq7BkFIafQiWTCbACjBC1WYQtoh4kEejUzAXK5gBxDWnqCgAw m8IGMiKbgjjf0WJ8ITcO08vmjO2mZiUKhEM4qjEfsMUQ2qOXcIqx8KOQLkHjYBNCOLt3ov Zpa49knGQChlFQ9UijQe4tdVenjkRs2Qar8GyR4zl+SslJr10QHDBO5lkyJl6u0cceb051 tWNxP9dr91wmpkh0w2SPWg6KpnLN8e6NQvE/SvaxCeILDDjo11FvHmW4CSSHPw4pAdo/dy aKK+2sFzBG9tyDurUTtEXgh+npo7RXAiOZ2XJGFPL9XIpgTEiLZC4PmdTmYYRA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxWbG1xTRzvQH for ; Fri, 10 Jul 2026 12:38:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 18e62 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 12:38:34 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Rodrigo Osorio Subject: git: 9862001d51 - main - Add OSXP 2026 to the Upcoming Events section List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rodrigo X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9862001d51ab31a718e3a684f60265b021212989 Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 12:38:34 +0000 Message-Id: <6a50e7ca.18e62.603a33eb@gitrepo.freebsd.org> The branch main has been updated by rodrigo: URL: https://cgit.FreeBSD.org/doc/commit/?id=9862001d51ab31a718e3a684f60265b021212989 commit 9862001d51ab31a718e3a684f60265b021212989 Author: Rodrigo Osorio AuthorDate: 2026-07-10 12:32:11 +0000 Commit: Rodrigo Osorio CommitDate: 2026-07-10 12:32:11 +0000 Add OSXP 2026 to the Upcoming Events section --- website/data/en/events/events2026.toml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/website/data/en/events/events2026.toml b/website/data/en/events/events2026.toml index fae352d3f1..3f802c20a0 100644 --- a/website/data/en/events/events2026.toml +++ b/website/data/en/events/events2026.toml @@ -59,3 +59,14 @@ country = "Belgium" city = "Brussels" site = "VUB Main Campus in Etterbeek" description = "EuroBSDCon is the international annual technical conference held in a different European country each year. It focuses on gathering users and developers working on and with 4.4BSD (Berkeley Software Distribution) based operating systems family and related projects." + +[[events]] +id ="osxp-paris-2026" +name ="Open Source Experience Paris 2026" +url = "https://www.opensource-experience.com/" +startDate = "2026-12-09" +endDate = "2026-12-10" +country = "France" +city = "Paris" +site = "Porte de Versailles" +description = "Open Source Experience (OSXP) is an event held annually in Paris and dedicated to enterprise Open Source IT solutions. The event also host booths for Open Source projects and initiatives. A FreeBSD booth will be organized by a group of contributors and users." From nobody Fri Jul 10 12:38:33 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxWbL51lLz6l5nn for ; Fri, 10 Jul 2026 12:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxWbL45dWz3drb for ; Fri, 10 Jul 2026 12:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XFqulkpVHWkpZtNX/fa1uxCz5S6mEiVZGBuD61Y+E6M=; b=NZ5LpwYepRaSIYYM80kL+IyEuVvSh2SHqNS65ERUKQbAWKsG3L5gD0HpzpT1ZgALZXj3Xz CKBqGWLdcwwH0+u3jg9j17YORSbNo7bQBLogp2MV+1VzfOmF7oLjvHv8l7ysP7i+95qTUA i1XIyPMG1QVSUOFiPdElvcvAgmI84An3l54YzR22VVYnhPfr1f/Zz3J4Vf3VtEcBHwpvqs tKlSQFE85RRqBUzQB+RUZVYjTpho6XG3gSUhwfSt48eDK5yPxwM8jyV8xmQka/K4cKFEQv nTIfu/Pz7B+ge3N04TnENVigk0KukMPtTM4Vqaq4BSKMXFKdeVXJLEyH0EFIYQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783687118; a=rsa-sha256; cv=none; b=MAwqhLgx4j+YZPngvM+VAlsfZA5l4CP8dgXrhp1EzhOKZofnxfgVZzjuWg+lDrNOcqE/us bPL4cuwWQD0/8wSR9GdROxcVwuR1T1CtSYVCfqy9MKvQG+AxZicJqiu4433YfqmtFseiF0 UAzVDmpiPdgSNX7X6SfzxORnB+xObFTrD4CzftaOmTXlMKZJLhivczIqEFE1fPKkiE347J XWEJQcpUvt0WMr98EnNX2zXiVd4zdDlpukJo2tXBbhDvP0bw+Ar+kJjBbBDAI0Hh7xEWmP 4h+wK07m3D6KzuJsjoAp7X4opuKrX0kx54UvK4DiXVirtip/lyDCvun4wlZ8ug== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687118; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XFqulkpVHWkpZtNX/fa1uxCz5S6mEiVZGBuD61Y+E6M=; b=fKOT8tJvi3bjuY0I4syOe5L45pvfeZpmn0w+yGj5mDaUbsIVrO6AE/iwfBDWpMV0fVMlTO QxW/jagYGkYxjzSL1JghEVXPdNkZ0kvxLzRgOxwNdmbGPmH8TQTtmDsU4aT9Be8PipHKJb n6HiPRjJOL00YvEWYU1/V6DwdnUz5fZvkRptdRQOqAMLaUTsW7yBzAMKc3cWri7J5CQ7Nb 7KZxaPCRG+RN8l1PVml/KY6rGf3T+Ulokd/s4HjSRnyO0gp/7ytf+GdJizT4SGJpDd+lUr 3SSolBjCdxyIB8pisxNTE/BINtOCAs9L8SyeOK+FqCGUNAmf/jYpAd0Y6RWkHg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxWbL2c2VzvW1 for ; Fri, 10 Jul 2026 12:38:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3eb35 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 12:38:33 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Rodrigo Osorio Subject: git: cdd42f11b2 - main - Update porter handbook: Quarterly and Latest Ports Branches List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rodrigo X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cdd42f11b285d8886b774a2659f92359c5304a88 Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 12:38:33 +0000 Message-Id: <6a50e7c9.3eb35.27376e6d@gitrepo.freebsd.org> The branch main has been updated by rodrigo: URL: https://cgit.FreeBSD.org/doc/commit/?id=cdd42f11b285d8886b774a2659f92359c5304a88 commit cdd42f11b285d8886b774a2659f92359c5304a88 Author: Rodrigo Osorio AuthorDate: 2026-01-07 09:35:54 +0000 Commit: Rodrigo Osorio CommitDate: 2026-07-10 12:28:31 +0000 Update porter handbook: Quarterly and Latest Ports Branches Summary: By default, the pkg ports repo is now "FreeBSD-ports". Reviewers: bcr Differential Revision: https://reviews.freebsd.org/D54574 --- documentation/content/ru/books/handbook/ports/_index.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/content/ru/books/handbook/ports/_index.po b/documentation/content/ru/books/handbook/ports/_index.po index 512d0fad45..dc4de60441 100644 --- a/documentation/content/ru/books/handbook/ports/_index.po +++ b/documentation/content/ru/books/handbook/ports/_index.po @@ -636,8 +636,8 @@ msgid "" "# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" msgstr "" "# mkdir -p /usr/local/etc/pkg/repos\n" -"# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }" -"' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" +"# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }' > /" +"usr/local/etc/pkg/repos/FreeBSD.conf\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:208 From nobody Fri Jul 10 12:44:49 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxWkZ2Lw2z6l69d for ; Fri, 10 Jul 2026 12:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxWkZ1jM9z3fJl for ; Fri, 10 Jul 2026 12:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VWIiRus01Ui1A/ZBYgWPVyeGavuXJVh6D+a/xbglaHw=; b=PjHIi232FWUk4ogwUcfiGgT4wW6RnrnxX3x26i8GbIhbzYtrc/hfz4uvm8FZS0SCTMN3Wu N/fZXpHGfJWS05Dpq7qYup3V9HwVJD+HFy0JM4ZJA/Z7K9K04R5M68TU4N7pm0m9OyK3Yv XNJccUKJf/dT+c/afFs8uTDmnH8ZzQyJ6G+xfQ+uCe0EyjiYpZnOKEiYuhATd6FuR671Wl 4K9Gu5mYm7ftM9s4HFH+2G2xMtcY/ASmvHs3xC3ojkJLW9cBcS27d6FjeSbgjZULWyyATV O0JlSgJghk+BFogoynk6925H7gzN5sn40/CgPxF8eL99ByZSv05rJ8PNZ8Jk5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783687494; a=rsa-sha256; cv=none; b=W9QeOnOZs6KSM2SsBnCSszEKgqbrCsobjiOg7gR63ACZMr2jy9uZ1he6QC/WYacrdSKETZ hHVFc36Ah71HZDQnrUI1bOHVCTYCm2+UqDcn61HnrXxmhs1Tj8fWEBsTt2lHK/TEGgATkL Xmok0JfGPWCGmxRBPdanEeXbvkwBjo1SYHo+J+vsiwxWSMsbcs+buYmxwhf0aev5/y/2ja Vmu7TnJhf+zKQ2z967SWUsRxpz4jdeqJBmxHJs8JuQzbEI5L0bBjV3ArUyc5Ymre6zrH0i NKRd+KTryjmUmPsZyPRv2tnetthGJi4BMzRFwg7zrT5KcJF5EO/N0zPqRPshhg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783687494; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VWIiRus01Ui1A/ZBYgWPVyeGavuXJVh6D+a/xbglaHw=; b=fTFLTcaRs30YzTcpWOja8HCZaCQ0tE+/yrPwP1IuhPiLGgy/Bzy9Wrkw1zonZZcQvuVOXL 3XokiivGjd0Y5TxcueBGKVVln6Obr5ALatGI0QxQsTKj+77Rsoj7buaC69G9mVchcoJCDm 2DnIzWbjRQ0Jegaa/yXDbH83I0UAhqQJKE0UQUxY+BxNhVAohdGdm1/AjrCvfMqplxd4Wu whHOzeVHb+Orbra1z+22bB4CDS5opy0x8SidjXs0UcF3fzEKGhcJEj76Kf5cv5cbDoSGsJ f7wT0wCGygqXZgAKHfLswfkgGwU5MRgXacMsUSK4t5HPEKdCfCTRH4PgXcFzMA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxWkZ0mvdzvrj for ; Fri, 10 Jul 2026 12:44:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1917c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 12:44:49 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Rodrigo Osorio Subject: git: 51039fd6fa - main - Revert "Update porter handbook: Quarterly and Latest Ports Branches" List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rodrigo X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 51039fd6fa36fed876439b8825ab57abf08460dc Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 12:44:49 +0000 Message-Id: <6a50e941.1917c.15aa06f5@gitrepo.freebsd.org> The branch main has been updated by rodrigo: URL: https://cgit.FreeBSD.org/doc/commit/?id=51039fd6fa36fed876439b8825ab57abf08460dc commit 51039fd6fa36fed876439b8825ab57abf08460dc Author: Rodrigo Osorio AuthorDate: 2026-07-10 12:43:48 +0000 Commit: Rodrigo Osorio CommitDate: 2026-07-10 12:43:48 +0000 Revert "Update porter handbook: Quarterly and Latest Ports Branches" This reverts commit cdd42f11b285d8886b774a2659f92359c5304a88. --- documentation/content/ru/books/handbook/ports/_index.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/content/ru/books/handbook/ports/_index.po b/documentation/content/ru/books/handbook/ports/_index.po index dc4de60441..512d0fad45 100644 --- a/documentation/content/ru/books/handbook/ports/_index.po +++ b/documentation/content/ru/books/handbook/ports/_index.po @@ -636,8 +636,8 @@ msgid "" "# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" msgstr "" "# mkdir -p /usr/local/etc/pkg/repos\n" -"# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }' > /" -"usr/local/etc/pkg/repos/FreeBSD.conf\n" +"# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }" +"' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:208 From nobody Fri Jul 10 18:06:15 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxfsS6pWQz6lV7w for ; Fri, 10 Jul 2026 18:06:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxfsS5tdlz3jGJ for ; Fri, 10 Jul 2026 18:06:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783706780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leeoa8+giRzjW7tf36qJXDA7N1kSenHAKugedOQKv9E=; b=j8zkrpvfi9/GFiuai6bZsw1KNkOGNt2rJWxQ3g85TxexXOkyuLvMvErLu8hmpz8scdI8j7 b9t/8AS94xFLGwI3FgTQmZuQxn3IkHw+NQNoZxpbwiLjqBx08Hxox3VipOj81YhP1Gu9cO nXltHIPpg4iARERb3Ko7ZMYfsFusuzGRmd0MysYQbL26j/DzXQG4bdcEdGd1zsB5yNd4kU l3TOLuBQ/U1QMWC7lUZxtOiW1TyFE2mcFWB92D51lcXuD8K63nS20NrOs00XuOTQGc1rut OK1sVCSJI1aSuJ0grBPOeOifORmS13CfDJgkbWemea7gHo7CxMZ1fwZXNGA5Nw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783706780; a=rsa-sha256; cv=none; b=G6x48k3SBUJBIop0Caa3iBW4EK9uAfqw6HObVvk39WjiZxFA2KctCLhWvizBstPjNyGyIa /T20fTNeUNXY1XclQ9mXesaubTmQp5PEDDFJC+gciHL7XaX5+wL39/JoV3DDhf00sD+qaH TaqcCD5ny54T8BSf1zQVit925ObwfQetoq7hJMpyaJdXa/cDUcFjkXoRzpvGyhF/uvhVKx sv48+Xng284CAwPV6Ca+X1aUrJzw/wKLZrqc+ncD2BewXGuS2opLh4feLaZlm+naqwsKH+ +rpzvQVasQD3DAZCTgRNS8M9M1O7/Au/Me7LpF/OhFipF4qm9RVc9bKHZ9Nr3w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783706780; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=leeoa8+giRzjW7tf36qJXDA7N1kSenHAKugedOQKv9E=; b=ilZvJcOG9oNpGALiaEQCjvUs6OGqh8Q1zxVp1gruvAu7YhtPZ2JZXdexNrurTz10NyRPc9 bjyQfZF3IftHLEjbqpikhAxnQlRmgsTxKr1TON94FSTx21Vhd26nJ1oGbnZXJOyZ8WJMCr Ld3629rJthOF4PJEGzPcBYTScyQwlS3fJyWCj5GvtmFx58Iquzgzcx3y5jEXyJDPC6akZ5 R4m2aYx4BZIIksyRKl8Klt83Rh4DCKKBEwwhlYq+AzLC/6E9ZK2Ny+IM9eOmjfGPiYgUBK D54P7y6Pl9SvQMkOACcIJ0nDGNB56gVGHCpzDGnLYKdBnYgPxcYS1Y5CTyrWxA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxfsS4tB6z15V8 for ; Fri, 10 Jul 2026 18:06:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 447d2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 18:06:15 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Fernando Apeste=?utf-8?Q?gu=C3=ADa?= Subject: git: 9bf095fffe - main - [phb][Uses]: Add npm List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fernape X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9bf095fffe66d74555595b2915f9f46d49609a13 Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 18:06:15 +0000 Message-Id: <6a513497.447d2.284270ae@gitrepo.freebsd.org> The branch main has been updated by fernape: URL: https://cgit.FreeBSD.org/doc/commit/?id=9bf095fffe66d74555595b2915f9f46d49609a13 commit 9bf095fffe66d74555595b2915f9f46d49609a13 Author: Fernando Apesteguía AuthorDate: 2026-07-10 18:03:20 +0000 Commit: Fernando Apesteguía CommitDate: 2026-07-10 18:03:20 +0000 [phb][Uses]: Add npm Following https://cgit.freebsd.org/ports/commit/?id=ed6a84c1c9793271c9cf948458808b47b2622d21 --- .../en/books/porters-handbook/uses/_index.adoc | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/documentation/content/en/books/porters-handbook/uses/_index.adoc b/documentation/content/en/books/porters-handbook/uses/_index.adoc index 2bc70fab43..e30285d720 100644 --- a/documentation/content/en/books/porters-handbook/uses/_index.adoc +++ b/documentation/content/en/books/porters-handbook/uses/_index.adoc @@ -1954,6 +1954,42 @@ specified then `run` and/or `build` must be specified too. The `env` argument sets the environment variables `NODEJS_VERSION` and `NODEJS_SUFFIX`. Currently `lts` is an alias for 24 and `current` is an alias for 26. +[[uses-npm]] +== `npm` + +Possible arguments: ``, `fetch`, `extract`, `build`, `run`, `test` + +`` can take the following values: + +`npm`:: +The port uses NPM as package manager. + +`yarn1`:: +The port uses Yarn (v1) as package manager. + +`yarn2`:: +The port uses Yarn (v2 or v3) as package manager. + +`yarn4`:: +The port uses Yarn (v4+) as package manager. + +`pnpm`:: +The port uses PNPM as package manager. + +The following variables can be set by the port: + +`NPM_VER`:: +A version of node package manager the port uses. + +`NPM_PREFETCH`:: +Downloads node modules the port uses according to the pre-stored +[.filename]#package.json# (and [.filename]#package-lock.json#, +[.filename]#yarn.lock#, or [.filename]#pnpm-lock.yaml# depending +on the node package manager used) in `PKGJSONSDIR`. + +`NPM_EXTRACT`:: +Installs the prefetched node modules into the port's working source directory. + [[uses-objc]] == `objc` From nobody Fri Jul 10 18:15:53 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxg4T3Dtpz6lVsg for ; Fri, 10 Jul 2026 18:15:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxg4T2xnfz3lqs for ; Fri, 10 Jul 2026 18:15:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783707353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mlzFOfZKrGyb1e9b/h8WsH4LtHVcgmt7pvC8a/o6qUM=; b=T2F9+QVJrLHl5C0rQ29sox/gB2iy2X5EhzdXprUwCbXythU1XTpxE8HkkFSO2VsHjK/ATV W/AWNbCskYRVAn8TE/W1zF80jANqkLZERLxsegpKqrYRDM6caOztkgrHOSMNyZUUV4gbeE gjbRFMLs493NpQrlNhdM+KYNRpO4Ky2dYMibOC615uJNuUeZv0djtsE0Khxkih7TDt1Hto UKAERrsvGfl902YoI5XO6n6M5QqBsHelIiM9yqqoaS2uRtNZKKcRCcjvWDWJJvHJbhQLYD Ajl+L7hsIMm8hp9fLxUSptmXHXMXUNa2U55wSzetQXPNk5MdO/V1FUXbMTUDEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783707353; a=rsa-sha256; cv=none; b=uPx637bxP82mnqbxwBs/r7jLVyQFWVLhj8JkrYn5dUJNzO3BV2JPzVk9FM8drDTzCUbaE1 bMJgzo+IWhvW8NoEshSxL09vYZ8zzo1JHXGmrSeaEP0kak7o+3/IEARfpUkAEK4NzjMIcN tmrlML1aIDJ4X8zdj3onBzw0WlDH+4X+rpfrwp0lE0xhHktrnv0wvt12sDUkWBazqXgPle ka14ST7QtG1Axvm0ld4AOYGJCrIqZ3qquILx/Jv0KrveVWXs4oR+kV0HymmGA4fIOdRuAl y3p50KH7NELjQqwgtq2AXgkxWoPsOdp8pQQ+tfWrQMVh4Jw9uaTgJGupGK2IwA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783707353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mlzFOfZKrGyb1e9b/h8WsH4LtHVcgmt7pvC8a/o6qUM=; b=RsUafHxAqpHQ2Lj496la8jqJWezGOJpxKkCkldQO4+V3PPIyH7faxDCax65Hp87DWUkkdy Zcn/Vcx5bxmuQixIFv7zKYV0S2uqknMUTY4chSSJ0kitJE98vzcyo6CIbLB9aWdYmuuVU2 BWe4jQEUGsfyxOYpLwcj4TqO4Q7nCOgzUGVKU/8JlUMUmKSrHKP1Ux+Szhd4qSOD33W1Lg 7Jqo48DkiUv26Jq231M83bjRfItK/qkjcOL81vVANJAlXP+dpu6fMvRc0QoDn7K3KphExi 4eEtzIZQkY10Idm7F41IPed0DoaKGl2rq9D8DQXVJJfoumsnUFWE6znpGqiUfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxg4T1Z48z160P for ; Fri, 10 Jul 2026 18:15:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 454bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 18:15:53 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: bd5db31bb7 - main - 14.5: Regenerate hardware notes from archetype List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bd5db31bb79f20d551878a67d2c5601cc1224728 Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 18:15:53 +0000 Message-Id: <6a5136d9.454bf.3f995234@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=bd5db31bb79f20d551878a67d2c5601cc1224728 commit bd5db31bb79f20d551878a67d2c5601cc1224728 Author: Colin Percival AuthorDate: 2026-07-10 18:15:40 +0000 Commit: Colin Percival CommitDate: 2026-07-10 18:15:40 +0000 14.5: Regenerate hardware notes from archetype Sponsored by: OpenSats Initiative --- website/content/en/releases/14.5R/hardware.adoc | 497 +++++++++++++----------- 1 file changed, 279 insertions(+), 218 deletions(-) diff --git a/website/content/en/releases/14.5R/hardware.adoc b/website/content/en/releases/14.5R/hardware.adoc index 05ff9c24ed..50041bdc3d 100644 --- a/website/content/en/releases/14.5R/hardware.adoc +++ b/website/content/en/releases/14.5R/hardware.adoc @@ -252,7 +252,7 @@ This means that some devices, which are supported by multiple drivers, may appea Controllers supported by the -**aac** +man:aac[4] driver include: * Adaptec AAC-364 @@ -343,7 +343,7 @@ driver include: The -**aacraid** +man:aacraid[4] driver supports the following Adaptec 6G and 12G SAS/SATA RAID controllers: @@ -361,7 +361,7 @@ Adaptec 6G and 12G SAS/SATA RAID controllers: The -**ahc** +man:ahc[4] driver supports the following `SCSI` host adapter chips and @@ -477,7 +477,7 @@ controller cards: The -**ahci** +man:ahci[4] driver supports AHCI compatible controllers having PCI class 1 (mass storage), subclass 6 (SATA) and programming interface 1 (AHCI). @@ -508,7 +508,7 @@ device. The -**ahd** +man:ahd[4] driver supports the following: * Adaptec @@ -533,7 +533,7 @@ driver supports the following: The -**arcmsr** +man:arcmsr[4] driver supports the following cards: * ARC-1110 @@ -582,7 +582,7 @@ driver supports the following cards: The -**ata** +man:ata[4] driver supports the IDE interface on the following ATA/SATA controllers: Acard: @@ -688,7 +688,7 @@ not known what the chipset can do and how to program it. The -**ciss** +man:ciss[4] driver supports controllers implementing Common Interface for SCSI-3 Support Open Specification v1.04, including: @@ -703,10 +703,19 @@ Common Interface for SCSI-3 Support Open Specification v1.04, including: * HP Smart Array 6400 EM * HP Smart Array E200 * HP Smart Array E200i +* HP Smart Array E500 +* HP Smart Array H240 +* HP Smart Array H240ar +* HP Smart Array H240nr +* HP Smart Array H241 +* HP Smart Array H244br * HP Smart Array P212 * HP Smart Array P220i * HP Smart Array P222 * HP Smart Array P230i +* HP Smart Array P240nr +* HP Smart Array P244br +* HP Smart Array P246br * HP Smart Array P400 * HP Smart Array P400i * HP Smart Array P410 @@ -718,19 +727,35 @@ Common Interface for SCSI-3 Support Open Specification v1.04, including: * HP Smart Array P430 * HP Smart Array P430i * HP Smart Array P431 +* HP Smart Array P440 * HP Smart Array P440ar +* HP Smart Array P441 * HP Smart Array P530 * HP Smart Array P531 +* HP Smart Array P542d * HP Smart Array P600 +* HP Smart Array P700m +* HP Smart Array P712m * HP Smart Array P721m * HP Smart Array P731m +* HP Smart Array P741m * HP Smart Array P800 * HP Smart Array P812 +* HP Smart Array P822 * HP Smart Array P830 * HP Smart Array P830i +* HP Smart Array P840 +* HP Smart Array P840ar +* HP Smart Array P841 * HP Modular Smart Array 20 (MSA20) * HP Modular Smart Array 500 (MSA500) +Additionally, several HP Smart Array controllers are supported by PCI +subdevice ID only, as no model name is available for them: +0x3220, 0x3222, 0x3230, 0x3231, 0x3232, 0x3233, 0x3236, 0x3238, +0x3239, 0x323A, 0x323B, 0x323C, and 0x324B +(all with PCI subvendor 0x103C). + [NOTE] ==== @@ -740,7 +765,7 @@ EISA adapters are not supported. The -**hpt27xx** +man:hpt27xx[4] driver supports the following SAS controllers: @@ -753,7 +778,7 @@ controllers: The -**hptiop** +man:hptiop[4] driver supports the following SAS and SATA RAID controllers: * HighPoint RocketRAID 4522 @@ -793,7 +818,7 @@ are already End-of-Life: The -**hptmv** +man:hptmv[4] driver supports the following ATA RAID controllers: @@ -802,7 +827,7 @@ controllers: The -**hptnr** +man:hptnr[4] driver supports the following SATA controllers: @@ -812,7 +837,7 @@ controllers: The -**hptrr** +man:hptrr[4] driver supports the following RAID controllers: @@ -830,7 +855,7 @@ controllers: The following controllers are supported by the -**ida** +man:ida[4] driver: * Compaq SMART Array 221 @@ -846,7 +871,7 @@ driver: Controllers supported by the -**ips** +man:ips[4] driver include: * IBM ServeRAID 3H @@ -864,7 +889,7 @@ driver. The -**isci** +man:isci[4] driver provides support for Intel C600 `SAS` controllers. @@ -872,7 +897,7 @@ controllers. The -**isp** +man:isp[4] driver supports the following optical Fibre Channel adapters: Model: Speed: Bus: @@ -890,7 +915,7 @@ driver supports the following optical Fibre Channel adapters: The -**mfi** +man:mfi[4] driver supports the following hardware: * LSI MegaRAID SAS 1078 @@ -912,7 +937,7 @@ driver supports the following hardware: The -**mlx** +man:mlx[4] driver supports the following Parallel SCSI RAID controllers: * Mylex DAC960P (Wide Fast SCSI-2) @@ -937,13 +962,13 @@ EISA adapters are not supported. The -**mmcsd** +man:mmcsd[4] driver implements direct access block device for MMC and SD memory cards. These controllers are supported by the -**mpi3mr** +man:mpi3mr[4] driver: * Broadcom Ltd. SAS 4116 Tri-Mode RAID Adapter @@ -960,7 +985,7 @@ driver: These controllers are supported by the -**mpr** +man:mpr[4] driver: * Broadcom Ltd./Avago Tech (LSI) SAS 3004 (4 Port SAS) @@ -983,7 +1008,7 @@ driver: These controllers are supported by the -**mps** +man:mps[4] driver: * Broadcom Ltd./Avago Tech (LSI) SAS 2004 (4 Port SAS) @@ -1001,7 +1026,7 @@ driver: The following controllers are supported by the -**mpt** +man:mpt[4] driver: * LSI Logic 53c1030, @@ -1072,8 +1097,8 @@ can take on - no separate compilation is required. The -**mrsas** -driver supports the following LSI/Broadcom SATA/SAS RAID controllers: +man:mrsas[4] +driver supports the following Broadcom/LSI SATA/SAS RAID controllers: Controller Chip Speed Broadcom SAS3916 Aero 12Gb/s @@ -1103,7 +1128,7 @@ driver supports the following LSI/Broadcom SATA/SAS RAID controllers: The -**mvs** +man:mvs[4] driver supports the following controllers: Gen-I (SATA 1.5Gbps): @@ -1137,7 +1162,7 @@ ATAPI and non-DMA ATA commands executed one by one for each port. The -**ocs_fc** +man:ocs_fc[4] driver supports these Fibre Channel adapters: Emulex 16/8G FC GEN 5 HBAS @@ -1157,7 +1182,7 @@ Emulex 64/32G FC GEN 7 HBAS The -**pms** +man:pms[4] driver supports the following hardware: * Tachyon TS Fibre Channel Card @@ -1194,14 +1219,14 @@ driver supports the following hardware: The -**pst** +man:pst[4] driver supports the Promise Supertrak SX6000 ATA hardware RAID controller. The -**sdhci** +man:sdhci[4] driver supports different specification compatible chips. The following chips have been verified to work: @@ -1214,7 +1239,7 @@ The following chips have been verified to work: The -**siis** +man:siis[4] driver supports the following controller chips: * SiI3124 (PCI-X 133MHz/64bit, 4 ports) @@ -1225,7 +1250,7 @@ driver supports the following controller chips: Controllers supported by the -**smartpqi** +man:smartpqi[4] driver include, but not limited to: * HPE Gen10 Smart Array Controller Family @@ -1236,7 +1261,7 @@ driver include, but not limited to: The -**sym** +man:sym[4] driver provides support for the following Symbios/LSI Logic PCI SCSI controllers: @@ -1275,7 +1300,7 @@ one of the following add-on boards: The -**tws** +man:tws[4] driver supports the following SATA/SAS RAID controller: * LSI's 3ware SAS 9750 series @@ -1296,7 +1321,7 @@ The following CD-ROM type systems are supported at this time: The -**ae** +man:ae[4] driver supports Attansic/Atheros L2 PCIe FastEthernet controllers, and is known to support the following hardware: @@ -1308,7 +1333,7 @@ Other hardware may or may not work with this driver. The -**age** +man:age[4] driver provides support for LOMs based on Attansic/Atheros L1 Gigabit Ethernet controller chips, including: @@ -1333,7 +1358,7 @@ Attansic/Atheros L1 Gigabit Ethernet controller chips, including: The -**alc** +man:alc[4] device driver provides support for the following Ethernet controllers: * Atheros AR8131 PCI Express Gigabit Ethernet controller @@ -1353,7 +1378,7 @@ device driver provides support for the following Ethernet controllers: The -**ale** +man:ale[4] device driver provides support for the following Ethernet controllers: * Atheros AR8113 PCI Express Fast Ethernet controller @@ -1363,7 +1388,7 @@ device driver provides support for the following Ethernet controllers: The -**aue** +man:aue[4] driver supports the following USB Fast Ethernet adapters based on the ADMtek AN986 Pegasus chipset: @@ -1392,7 +1417,7 @@ ADMtek AN986 Pegasus chipset: The -**axe** +man:axe[4] driver supports ASIX Electronics AX88172/AX88178/AX88772/AX88772A/AX88772B/AX88760 based USB Ethernet adapters including: @@ -1448,7 +1473,7 @@ AX88760: The -**axge** +man:axge[4] driver supports the following USB Gigabit Ethernet controllers: * ASIX Electronics AX88179A @@ -1458,7 +1483,7 @@ driver supports the following USB Gigabit Ethernet controllers: The -**bce** +man:bce[4] driver provides support for various NICs based on the QLogic NetXtreme II family of Gigabit Ethernet controllers, including the following: @@ -1492,7 +1517,7 @@ The man:bfe[4] driver supports Broadcom BCM4401-based Fast Ethernet devices. The -**bge** +man:bge[4] driver provides support for various NICs based on the Broadcom BCM570x family of Gigabit Ethernet controller chips, including the following: @@ -1519,7 +1544,7 @@ following: The -**bnxt** +man:bnxt[4] driver provides support for various NICs based on the Broadcom NetXtreme-C and NetXtreme-E families of Gigabit Ethernet controller chips, including the following: @@ -1549,7 +1574,7 @@ following: The -**bxe** +man:bxe[4] driver provides support for various NICs based on the QLogic NetXtreme II family of 10Gb Ethernet controller chips, including the following: @@ -1568,7 +1593,7 @@ family of 10Gb Ethernet controller chips, including the following: The chips supported by the -**cas** +man:cas[4] driver are: * National Semiconductor DP83065 Saturn Gigabit Ethernet @@ -1594,7 +1619,7 @@ driver at this time: The -**cdce** +man:cdce[4] driver supports USB Ethernet interfaces implementing the USB Communication Device Class Ethernet Control Model (CDC ECM) or Network Control Model (CDC NCM) protocol, such as: @@ -1609,7 +1634,7 @@ Network Control Model (CDC NCM) protocol, such as: The -**cue** +man:cue[4] driver supports CATC USB-EL1210A based USB Ethernet adapters including: @@ -1621,7 +1646,7 @@ adapters including: The -**cxgb** +man:cxgb[4] driver supports 10 Gigabit and 1 Gigabit Ethernet adapters based on the T3 and T3B chipset: * Chelsio 10GBase-CX4 @@ -1631,7 +1656,7 @@ driver supports 10 Gigabit and 1 Gigabit Ethernet adapters based on the T3 and T The -**cxgbe** +man:cxgbe[4] driver supports 100Gb and 25Gb Ethernet adapters based on the T6 ASIC: * Chelsio T6225-CR @@ -1675,7 +1700,7 @@ driver supports 10Gb and 1Gb Ethernet adapters based on the T4 ASIC: The -**cxgbev** +man:cxgbev[4] driver supports Virtual Functions on 100Gb and 25Gb Ethernet adapters based on the T6 ASIC: @@ -1722,7 +1747,7 @@ on the T4 ASIC: The -**dc** +man:dc[4] driver provides support for the following chipsets: * DEC/Intel 21143 @@ -1785,7 +1810,7 @@ driver at this time: Gigabit Ethernet controllers built into the following Freescale system-on-chip devices are known to work with the -**dtsec** +man:dtsec[4] driver: * P2041, P3041 @@ -1799,7 +1824,7 @@ Additionally, the following devices are expected to work, but are untested: The -**em** +man:em[4] driver supports Gigabit Ethernet adapters based on the Intel 82540, 82541ER, 82541PI, 82542, 82543, 82544, 82545, 82546, 82546EB, 82546GB, 82547, 82571, 82572, 82573, 82574, 82575, 82576, and 82580 @@ -1839,14 +1864,14 @@ The man:ena[4] driver supports the AWS EC2 Elastic Network Adapter. The -**enic** +man:enic[4] driver should supports all known Cisco VIC cards. The -**et** +man:et[4] driver supports Agere ET1310 10/100/Gigabit Ethernet adapters. @@ -1855,7 +1880,7 @@ Ethernet adapters. Adapters supported by the -**fxp** +man:fxp[4] driver include: * Intel EtherExpress PRO/10 @@ -1871,7 +1896,7 @@ driver include: Chips supported by the -**gem** +man:gem[4] driver include: * Apple GMAC @@ -1888,7 +1913,7 @@ driver at this time: The -**genet** +man:genet[4] driver supports the Ethernet controller portion of the Broadcom BCM2711 on the Raspberry Pi 4 Model B and related systems. It utilizes the BCM54213PE PHY. @@ -1899,7 +1924,7 @@ The man:gve[4] driver supports the Google Cloud Compute Engine (GCE) Virtual NIC The -**ice** +man:ice[4] driver supports the Intel Ethernet 800 series. Most adapters in this series with SFP28/QSFP28 cages have firmware that requires that Intel qualified modules are used; these @@ -1910,10 +1935,40 @@ The **ice** driver supports 100Gb Ethernet adapters with these QSFP28 modules: +* Intel® 100G QSFP28 100GBASE-SR4 E100GQSFPSR28SRX +* Intel® 100G QSFP28 100GBASE-SR4 SPTMBP1PMCDF +* Intel® 100G QSFP28 100GBASE-CWDM4 SPTSBP3CLCCO +* Intel® 100G QSFP28 100GBASE-DR SPTSLP2SLCDF + +The +**ice** +driver supports 25Gb and 10Gb Ethernet adapters with these SFP28 modules: + +* Intel® 10G/25G SFP28 25GBASE-SR E25GSFP28SR +* Intel® 25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp) +* Intel® 25G SFP28 25GBASE-LR E25GSFP28LRX (Extended Temp) + +The +**ice** +driver supports 10Gb and 1Gb Ethernet adapters with these SFP+ modules: + +* Intel® 1G/10G SFP+ 10GBASE-SR E10GSFPSR +* Intel® 1G/10G SFP+ 10GBASE-SR E10GSFPSRG1P5 +* Intel® 1G/10G SFP+ 10GBASE-SR E10GSFPSRG2P5 +* Intel® 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp) +* Intel® 1G/10G SFP+ 10GBASE-LR E10GSFPLR + +Note that adapters also support all passive and active +limiting direct attach cables that comply with SFF-8431 v4.1 and +SFF-8472 v10.4 specifications. + +This is not an exhaustive list; please consult product documentation for an +up-to-date list of supported media. + The -**igc** +man:igc[4] driver supports the following models: * I220-V @@ -1932,7 +1987,7 @@ driver supports the following models: The following devices are supported by the -**ipheth** +man:ipheth[4] driver: * Apple iPhone tethering (all models) @@ -1941,7 +1996,7 @@ driver: The -**ix** +man:ix[4] driver supports Intel 10Gb Ethernet PCIe adapters, including: @@ -1958,7 +2013,7 @@ including: The -**ixl** +man:ixl[4] driver supports the Intel Ethernet 700 series. Most adapters in this series with SFP+/SFP28/QSFP+ cages have firmware that requires that Intel qualified modules are used; these @@ -2001,7 +2056,7 @@ up-to-date list of supported media. The -**jme** +man:jme[4] device driver provides support for the following Ethernet controllers: * JMicron JMC250 PCI Express Gigabit Ethernet controller @@ -2012,7 +2067,7 @@ device driver provides support for the following Ethernet controllers: The -**kue** +man:kue[4] driver supports Kawasaki LSI KL5KLUSB101B based USB Ethernet adapters including: @@ -2036,7 +2091,7 @@ adapters including: Adapters supported by the -**lge** +man:lge[4] driver include: * SMC TigerCard 1000 (SMC9462SX) @@ -2045,7 +2100,7 @@ driver include: The -**liquidio** +man:liquidio[4] driver supports the following cards: * LiquidIO II CN2350 210SV/225SV @@ -2054,7 +2109,7 @@ driver supports the following cards: The -**mgb** +man:mgb[4] driver supports Microchip PCIe Gigabit Ethernet interfaces, including: * Microchip LAN7430 PCIe Gigabit Ethernet controller with PHY @@ -2063,7 +2118,7 @@ driver supports Microchip PCIe Gigabit Ethernet interfaces, including: The -**mlx4en** +man:mlx4en[4] driver supports the following network adapters: * Mellanox ConnectX-2 (ETH) @@ -2072,7 +2127,7 @@ driver supports the following network adapters: The -**mlx4ib** +man:mlx4ib[4] driver supports the following network adapters: * Mellanox ConnectX-2 (IB) @@ -2081,7 +2136,7 @@ driver supports the following network adapters: The -**mlx5en** +man:mlx5en[4] driver supports 200Gb, 100Gb, 50Gb, 40Gb, 25Gb and 10Gb ethernet adapters. * ConnectX-6 supports 10/20/25/40/50/56/100Gb/200Gb/s speeds. @@ -2092,7 +2147,7 @@ driver supports 200Gb, 100Gb, 50Gb, 40Gb, 25Gb and 10Gb ethernet adapters. The -**mlx5ib** +man:mlx5ib[4] driver supports 100Gb, 50Gb, 40Gb, 25Gb and 10Gb network adapters. ConnectX-4 supports: 10/20/25/40/50/56/100Gb/s speeds. ConnectX-4 LX supports: 10/25/40/50Gb/s speeds (and reduced power consumption): @@ -2115,7 +2170,7 @@ ConnectX-4 LX supports: 10/25/40/50Gb/s speeds (and reduced power consumption): Adapters supported by the -**mos** +man:mos[4] driver include: * Sitecom LN030 @@ -2123,7 +2178,7 @@ driver include: The -**msk** +man:msk[4] driver provides support for various NICs based on the Marvell/SysKonnect Yukon II based Gigabit Ethernet controller chips, including: @@ -2164,7 +2219,7 @@ Yukon II based Gigabit Ethernet controller chips, including: The -**muge** +man:muge[4] driver supports Microchip USB Gigabit Ethernet interfaces, including: * Microchip LAN7800 USB 3.1 Gigabit Ethernet controller with PHY @@ -2174,7 +2229,7 @@ driver supports Microchip USB Gigabit Ethernet interfaces, including: The -**mxge** +man:mxge[4] driver supports 10 Gigabit Ethernet adapters based on the Myricom LANai Z8E chips: @@ -2185,7 +2240,7 @@ Myricom LANai Z8E chips: The -**my** +man:my[4] driver provides support for various NICs based on the Myson chipset. Supported models include: @@ -2196,7 +2251,7 @@ Supported models include: The -**nfe** +man:nfe[4] driver supports the following NVIDIA MCP onboard adapters: * NVIDIA nForce MCP Networking Adapter @@ -2223,7 +2278,7 @@ driver supports the following NVIDIA MCP onboard adapters: The -**nge** +man:nge[4] driver supports National Semiconductor DP83820 and DP83821 based Gigabit Ethernet adapters including: @@ -2241,7 +2296,7 @@ Gigabit Ethernet adapters including: The -**oce** +man:oce[4] driver supports the following network adapters: * Emulex BladeEngine 2 @@ -2252,7 +2307,7 @@ driver supports the following network adapters: The -**qlnxe** +man:qlnxe[4] driver supports 25/40/100 Gigabit Ethernet & CNA Adapter based on the following chipsets: @@ -2262,7 +2317,7 @@ chipsets: The -**qlxgb** +man:qlxgb[4] driver supports 10 Gigabit Ethernet & CNA Adapter based on the following chipsets: @@ -2272,7 +2327,7 @@ chipsets: The -**qlxgbe** +man:qlxgbe[4] driver supports 10 Gigabit Ethernet & CNA Adapter based on the following chipsets: @@ -2281,7 +2336,7 @@ chipsets: The -**qlxge** +man:qlxge[4] driver supports 10 Gigabit Ethernet & CNA Adapter based on the following chipsets: @@ -2290,7 +2345,7 @@ chipsets: The -**re** +man:re[4] driver supports RealTek RTL8139C+, RTL8169, RTL816xS, RTL811xS, RTL8168, RTL810xE and RTL8111 based Fast Ethernet and Gigabit Ethernet adapters including: @@ -2309,7 +2364,7 @@ RTL810xE and RTL8111 based Fast Ethernet and Gigabit Ethernet adapters including Adapters supported by the -**rl** +man:rl[4] driver include: * Accton @@ -2350,7 +2405,7 @@ driver include: The -**rue** +man:rue[4] driver supports RealTek RTL8150 based USB Ethernet adapters including: @@ -2363,14 +2418,14 @@ adapters including: The -**sfxge** +man:sfxge[4] driver supports all 10Gb Ethernet adapters based on Solarflare SFC9000 family controllers. The -**sge** +man:sge[4] device driver provides support for the following Ethernet controllers: * SiS190 Fast Ethernet controller @@ -2379,7 +2434,7 @@ device driver provides support for the following Ethernet controllers: The -**sis** +man:sis[4] driver supports Silicon Integrated Systems SiS 900 and SiS 7016 based Fast Ethernet adapters and embedded controllers, as well as Fast Ethernet adapters based on the National Semiconductor DP83815 (MacPhyter) and DP83816 @@ -2396,7 +2451,7 @@ Supported adapters include: Adapters supported by the -**sk** +man:sk[4] driver include: * 3Com 3C940 single port, 1000baseT adapter @@ -2416,7 +2471,7 @@ driver include: The following devices are supported by the -**smsc** +man:smsc[4] driver: * LAN9500, LAN9500A, LAN9505 and LAN9505A based Ethernet adapters @@ -2427,7 +2482,7 @@ driver: The -**ste** +man:ste[4] driver supports Sundance Technologies ST201 based Fast Ethernet adapters and embedded controllers including: @@ -2438,7 +2493,7 @@ adapters and embedded controllers including: The -**stge** +man:stge[4] driver provides support for various NICs based on the Sundance/Tamarack TC9021 based Gigabit Ethernet controller chips, including: @@ -2454,7 +2509,7 @@ TC9021 based Gigabit Ethernet controller chips, including: The -**ti** +man:ti[4] driver supports Gigabit Ethernet adapters based on the Alteon Tigon I and II chips. The @@ -2483,7 +2538,7 @@ not yet been tested: Gigabit Ethernet controllers built into the following Freescale system-on-chip devices are known to work with the -**tsec** +man:tsec[4] driver: * MPC8349 @@ -2498,7 +2553,7 @@ devices, is also supported by this driver: The -**udav** +man:udav[4] driver supports the following adapters: *** 1046 LINES SKIPPED *** From nobody Fri Jul 10 18:19:30 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gxg8l6kZbz6lW4v for ; Fri, 10 Jul 2026 18:19:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gxg8l2gkYz3ms0 for ; Fri, 10 Jul 2026 18:19:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783707575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fCpJ/gqjosEbEii+1hgPYjV2fV3TTR6dJBJdaIRQkzc=; b=yvvefN8ptwtfPVHOqiZlu4RmMRT78z75/dA2mMH2ncISQHz3cA6fNe9e938ZLkDe2SmHdc lvNqcKvxu3IyTgKoyquRWbt0sp3AZsseYr+4gy3MwUKhRo7G3MjyxFuQy9kJwIAmaHLM9N LLsj7zscbok1KQ3LXGc2+ZI5OSLTiFXJl0/JfW0Ze/pPA+HSEMQ0Uv0SOzrvgdhQxg2dCh FP84AzPDk2zo8ROinHZl8mFm/j8EMCnt98Ays6NAXNpLHfOi0X6LDWCrkDoFrBbpnHSNrO ffrSo4ebGtJNP1WPiFJCMxCjE1gbzsNDhpYsfWhbwp7vonCdIMXdAgfgZT0XQw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783707575; a=rsa-sha256; cv=none; b=JK2t0ELgmip9gPEIXIGdwDltt0M4qJlOUKi+MARc3omlGLmENgAwkg8EgBx4VzNpEU7NG4 Jqmp4f2ND2JZ8ZTHuDtNtSPLze8jX71UJZjc00PI5SkCA2N1bg3t+5K7bGamGPJ2ogAQPZ xF4GH0in82Wekcjnf3wZY8NhlfN9zju2iTBZGUXmmY+srs0wm5AJmvp2o8FbbsFkwcYfI1 jz2yTyws7GEz4WUbtw5xKMBQdz/2Kwq30q1OK0m907GunZ9+8SHs4j/IzRjnjGGsJLUQmb oU6WBsbn6vy2yhRLXUqDXoQNcDdZEO+3/nV4AzWqUpUcbureHpljb51mt3tZoQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783707575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fCpJ/gqjosEbEii+1hgPYjV2fV3TTR6dJBJdaIRQkzc=; b=FksXQT9Y/sNOA9LPBiaPL63qB5rRtyE4uc/GhaPKVOQLSUolWSwNTdLfDmSIaM9PyE6nc4 uI5woTltagJLhFZma4gdjFEWsHFrCO3qikdJ/DTiJwMq0l7VzuRLR+uXMnggWKr8uO6BxS PncSf0BlJebFEDgcO8NSaVdcT/AyrANzi1Jpwaz/CNOCFqtT8VhewmtsemyTK1NKK0W8Pk oRMCV+G74ONsxKmtzg+sXQNMZTcLSgb/iFqLkC8jTqxwiXWTgIzLB63FuFSGiwtLgbUq+C HXJLnStPAkpzRQGqGy00Wb1zwJ2vgwIZZv3p8ODjQLks6GuKh68QohE/E8uxlA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gxg8l1ZBpz160T for ; Fri, 10 Jul 2026 18:19:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45d04 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Jul 2026 18:19:30 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: bee5dec635 - main - 14.5: Reminder sent to developers List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: bee5dec6356a50a8ff88b8ef7fc39589a00364cc Auto-Submitted: auto-generated Date: Fri, 10 Jul 2026 18:19:30 +0000 Message-Id: <6a5137b2.45d04.56334005@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=bee5dec6356a50a8ff88b8ef7fc39589a00364cc commit bee5dec6356a50a8ff88b8ef7fc39589a00364cc Author: Colin Percival AuthorDate: 2026-07-10 18:18:48 +0000 Commit: Colin Percival CommitDate: 2026-07-10 18:18:48 +0000 14.5: Reminder sent to developers Developers have been reminded that the 14.5-RELEASE slush will start on July 24th and it's time to get changes landed. Sponsored by: OpenSats Initiative --- website/content/en/releases/14.5R/schedule.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/content/en/releases/14.5R/schedule.adoc b/website/content/en/releases/14.5R/schedule.adoc index ed6f0511e0..0e6641be85 100644 --- a/website/content/en/releases/14.5R/schedule.adoc +++ b/website/content/en/releases/14.5R/schedule.adoc @@ -33,7 +33,7 @@ General discussions about the pending release and known issues should be sent to |=== |Action |Expected |Actual |Description |Initial release schedule announcement |- |15 April 2026 |Release Engineers send announcement email to developers with a rough schedule. -|Release schedule reminder |10 July 2026 |- |Release Engineers send reminder announcement e-mail to developers with updated schedule. +|Release schedule reminder |10 July 2026 |10 July 2026 |Release Engineers send reminder announcement e-mail to developers with updated schedule. |Code slush begins |24 July 2026 |- |Release Engineers announce that all further commits to the {localBranchStable} branch will not require explicit approval, however new features should be avoided. |{localBranchReleng} branch |7 August 2026 |- |{localBranchReleng} branch created; future release engineering proceeds on this branch. |BETA1 builds begin |7 August 2026 |- |First beta test snapshot. From nobody Sat Jul 11 20:49:56 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyLRt0gJBz6lcL1 for ; Sat, 11 Jul 2026 20:50:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyLRt0NbTz3mxt for ; Sat, 11 Jul 2026 20:50:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783803002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeHeIUhuyncSIBpd8p1yJSfhMB8m3q8YlLp3A79x2Nw=; b=drttODL61j/q8uAKnm0FAWUnk0Lp6IhcwjIthomBF04aCg+SXRon8zCQLySY9QxT5OrT6G Qjp0RtambJe7YPF6ABCde0E+X2WMZd2tfEOkPdjQmtYeH2F/jM4VnSVRkQMoGs82acEwgl yHG7gEbs34xPbctETq0dMrGRVm0jUSNlUzoFtkaQNylhfjRiRhQvjtwegSlCIq0KgPMr+t 2TX0hgJffHe2C4sDhSxe9AmEPjIHx6Ibfa59RMA33OJFmO79P97SoQKM2d7z9PBqPVvO3K QiSZJzsehzNigiBmaGoBZElWUiE3z/VD+VqdJ+kzrEvBNv82gcZrRMwOfU0T+Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783803002; a=rsa-sha256; cv=none; b=V6Kb+bA3np+jh89MKEpO/y2ZkAAjt3nP/fJqqbrk+tlWb/c+aLFetcCCDbKAO1ac/lKJsO mUnWudJdajAeQGSt/d/IrhP549xR+g4RP14L87fpU8Hzc5klEfeoV8EL8VDqr7Gy2Du3h1 UqRWUkez2NAHp0RRugY0iAk7h9bxDeMGGYfnN2TkR2PCzGYq+ELz+zfnehfRLm53iZjy23 FGzbkw/RkIwcb9ARQm+KQjV/5Yi0fqlKiNiE9xWrgIYDhMwj8tfOz9PK2HdfpUbd0Ruarz avfFpp6ttlmVsVEBlr9NEHf0Ggh60uyIWNVK3nNeefL+J3+8rhF4rtHv6W0zZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783803002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AeHeIUhuyncSIBpd8p1yJSfhMB8m3q8YlLp3A79x2Nw=; b=XBzWi14RPb5P+OQtSToxdXRXoWvDMs9VUk+vaOOWe085TA7Rp5yvbZUUMwaOO8tdqWs+FY 6jJr71lij66QcRDHf5ps/Wyx+5BLvxgvYu68gLdGxdICrSupxUR5XYbAeqXY5W/g9F5+At aOcEc13GFj4iawZ93c84MyX5W0pTGF73ThGgR3wnwTn33HveK+My7mFvGP3Ke0Q3MD93In BfSH2S33DlkpiLztA4eG9sQpCeZj8Sz3/fC0ivqmQgpGmJsS5zJGDFjg4D3lbAa/m13BjG ngMZutdVg4wQHLqPegpxjLRZuhYlF7KmF2KM/jWSIAyKKPAMYiMtphoU2ChZ0A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyLRs6CMKzx16 for ; Sat, 11 Jul 2026 20:50:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3646c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 11 Jul 2026 20:49:56 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Dave Cottlehuber Subject: git: 688a84db45 - main - containers: Add OCI setup and usage List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dch X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 688a84db457859f28d11cc733164a34bdd388121 Auto-Submitted: auto-generated Date: Sat, 11 Jul 2026 20:49:56 +0000 Message-Id: <6a52ac74.3646c.35322aa5@gitrepo.freebsd.org> The branch main has been updated by dch: URL: https://cgit.FreeBSD.org/doc/commit/?id=688a84db457859f28d11cc733164a34bdd388121 commit 688a84db457859f28d11cc733164a34bdd388121 Author: Dave Cottlehuber AuthorDate: 2026-07-11 20:30:51 +0000 Commit: Dave Cottlehuber CommitDate: 2026-07-11 20:49:43 +0000 containers: Add OCI setup and usage Reviewed by: adrian Reviewed by: bcr Reviewed by: dfr Approved by: ziaee Sponsored by: SkunkWerks, GbmH Differential Revision: https://reviews.freebsd.org/D57862 --- .../en/books/handbook/containers/_index.adoc | 865 +++++++++++++++++++++ 1 file changed, 865 insertions(+) diff --git a/documentation/content/en/books/handbook/containers/_index.adoc b/documentation/content/en/books/handbook/containers/_index.adoc index 62c4d516a6..1c7b21bcb0 100644 --- a/documentation/content/en/books/handbook/containers/_index.adoc +++ b/documentation/content/en/books/handbook/containers/_index.adoc @@ -185,3 +185,868 @@ Use these if you want to test against what subsequent future releases of FreeBSD * `+freebsd-runtime:14.snap+` - always the latest build from 14-STABLE branch * `+freebsd-runtime:15.snap+` - always the latest build from 15-STABLE branch * `+freebsd-runtime:16.snap+` - always the latest build from 16-CURRENT branch + +[[containers-registries]] +== Official Registry Locations + +Architecture-independent images can be downloaded and directly imported into your own registry from the https://download.freebsd.org/releases[Official FreeBSD Releases] site, or alternatively, pulled from the FreeBSD project's https://hub.docker.com/u/freebsd[Docker Hub], or https://github.com/orgs/freebsd/packages[GitHub Container Registry]. + +Both https://hub.docker.com/_/alpine/[Alpine Linux] and the https://hub.docker.com/_/debian/[Debian] project publish tagged and mutable images, using similar approaches. + +[[containers-podman-intro]] +== Introduction to Podman + +The Podman suite comprises three main tools and a number of supporting ones: + +* https://podman.io/[podman] is a daemonless container engine using docker-compatible commands +* https://buildah.io/[buildah] generates OCI formatted container images +* https://github.com/containers/skopeo[skopeo] works with remote OCI image registries + +[[containers-preparing]] +== Preparing the System for Podman Containers + +[WARNING] +==== +If running commands over SSH, or in a similar remote session, use man:screen[1], man:tmux[1], or similar to avoid losing the connection while restarting the firewall. +==== + +If ZFS is not available, switch to UFS storage and skip the ZFS commands below: + +[source,shell] +---- +# sed -I .bak -e 's/driver = "zfs"/driver = "vfs"/' \ + /usr/local/etc/containers/storage.conf +---- + +Otherwise, create the container storage dataset: + +[source,shell] +---- +# zfs create -o mountpoint=/var/db/containers zroot/containers +# zfs snapshot zroot/containers@empty +---- + +The File Descriptor filesystem is required: + +[source,shell] +---- +# mount -t fdescfs fdesc /dev/fd +---- + +Podman uses FreeBSD's packet filter to forward container ports to the host network: + +[source,shell] +---- +# test -c /dev/pf || kldload pf +# sysctl net.pf.filter_local=1 +---- + +Amend `+/etc/sysctl.conf+` and `+/etc/fstab+` as appropriate, to make these changes permanent. + +[[containers-installing]] +== Installing Podman + +Only the `+sysutils/podman-suite+` meta-package is required, but if the additional package:emulators/qemu-user-static[] package is installed, it becomes possible to build or test images for other architectures such as `+arm64+` on an `+amd64+` host. + +[source,shell] +---- +# pkg install -r FreeBSD -y podman-suite emulators/qemu-user-static +---- + +Integrate changes from `+/usr/local/etc/containers/pf.conf.sample+` into `+/etc/pf.conf+`, setting egress macros appropriately, then restart the firewall: + +[source,shell] +---- +# service pf restart +---- + +The packages install a number of template configuration files, none of which need to be edited immediately. +Review and amend these as needed: + +[source,shell] +---- +# pkg list buildah podman conmon \ + ocijail containers-common \ + containernetworking-plugins \ + | grep /etc/ +/usr/local/etc/containers/containers.conf.sample +/usr/local/etc/containers/policy.json.sample +/usr/local/etc/containers/registries.conf.sample +/usr/local/etc/containers/storage.conf.sample +/usr/local/etc/containers/pf.conf.sample +---- + +[[containers-terminal-tour]] +== Importing and Running Containers + +[NOTE] +==== +At present, all Podman containers on FreeBSD must run as root, as FreeBSD jails require this. +==== + +With the necessary tools and firewall rules in place, the officially published images can be fetched from https://download.freebsd.org/releases/OCI-IMAGES/[FreeBSD Releases], for https://download.freebsd.org/releases/OCI-IMAGES/{rel-latest}-RELEASE/aarch64/Latest/[aarch64] or https://download.freebsd.org/releases/OCI-IMAGES/{rel-latest}-RELEASE/amd64/Latest/[amd64] as appropriate. + +[[containers-importing]] +=== Importing FreeBSD OCI Images + +It is simplest to pull images directly from a public container registry, but for the strongest chain of trust, download them from https://download.freebsd.org/releases[FreeBSD.org] directly, and verify the checksums against the PGP-signed release announcement. + +[source,shell,subs="attributes"] +---- +# export OCIBASE=https://download.freebsd.org/releases/OCI-IMAGES/{rel-latest}-RELEASE/amd64/Latest +# podman load -i=$OCIBASE/FreeBSD-{rel-latest}-RELEASE-amd64-container-image-static.txz +Getting image source signatures +Copying blob 44defc6cee2e done | +Copying config 5921c62e76 done | +Writing manifest to image destination +Loaded image: localhost/freebsd-static:{rel-latest}-RELEASE-amd64 + +# podman load -i=$OCIBASE/FreeBSD-{rel-latest}-RELEASE-amd64-container-image-dynamic.txz +Getting image source signatures +Copying blob 6054dffc3887 done | +Copying config 33427d59f9 done | +Writing manifest to image destination +Loaded image: localhost/freebsd-dynamic:{rel-latest}-RELEASE-amd64 + +# podman load -i=$OCIBASE/FreeBSD-{rel-latest}-RELEASE-amd64-container-image-runtime.txz +Getting image source signatures +Copying blob dcbbfcb598fe done | +Copying config 90c4936754 done | +Writing manifest to image destination +Loaded image: localhost/freebsd-runtime:{rel-latest}-RELEASE-amd64 + +# podman load -i=$OCIBASE/FreeBSD-{rel-latest}-RELEASE-amd64-container-image-notoolchain.txz +Getting image source signatures +Copying blob a16c94176cc3 done | +Copying config 086572f35c done | +Writing manifest to image destination +Loaded image: localhost/freebsd-notoolchain:{rel-latest}-RELEASE-amd64 + +# podman load -i=$OCIBASE/FreeBSD-{rel-latest}-RELEASE-amd64-container-image-toolchain.txz +Getting image source signatures +Copying blob b04531b7d93d done | +Copying config b927c11b2e done | +Writing manifest to image destination +Loaded image: localhost/freebsd-toolchain:{rel-latest}-RELEASE-amd64 +---- + +[[containers-listing]] +=== Listing Images + +[source,shell,subs="attributes"] +---- +# podman images +REPOSITORY TAG IMAGE ID CREATED SIZE +localhost/freebsd-toolchain {rel-latest}-RELEASE-amd64 b927c11b2e8d 13 days ago 660 MB +localhost/freebsd-notoolchain {rel-latest}-RELEASE-amd64 086572f35cc9 13 days ago 152 MB +localhost/freebsd-runtime {rel-latest}-RELEASE-amd64 90c493675429 13 days ago 34.1 MB +localhost/freebsd-dynamic {rel-latest}-RELEASE-amd64 33427d59f990 13 days ago 14.5 MB +localhost/freebsd-static {rel-latest}-RELEASE-amd64 5921c62e76c1 13 days ago 2.92 MB +---- + +Note that the image IDs are reproducible each time, and the `+IMAGE_ID+` column matches the hashes reported when importing the images. + +[[containers-listing-layers]] +=== Listing Layers + +It is possible to show the layers that comprise an image, demonstrating how the `+runtime+` image has three components, each one a layer in its own right: + +[source,shell] +---- +# podman image tree ghcr.io/freebsd/freebsd-runtime:14.2 +Image ID: c5f3e77557a9 +Tags: [ghcr.io/freebsd/freebsd-runtime:14.2] +Size: 35.07MB +Image Layers +├── ID: cd53fb07fb66 Size: 5.449MB Top Layer of: [ghcr.io/freebsd/freebsd-static:14.2] +├── ID: a01d37f7777b Size: 10.4MB Top Layer of: [ghcr.io/freebsd/freebsd-dynamic:14.2] +└── ID: 36b0c80ca1f7 Size: 19.21MB Top Layer of: [ghcr.io/freebsd/freebsd-runtime:14.2] +---- + +[[containers-public-registries]] +=== Using Public Registries + +While the most secure provenance is downloading from https://download.freebsd.org/releases[Official FreeBSD Releases], there are two public container registries managed by the FreeBSD Release and Cluster Admin teams. +The images from both registries are identical, but provide a simpler and more container-friendly workflow. + +* https://hub.docker.com/u/freebsd[Docker Hub] +* https://github.com/orgs/freebsd/packages[GitHub Container Registry] + +[[containers-fetching]] +=== Fetching Containers + +Images can be fetched from a public registry using `+podman pull+`: + +[source,shell,subs="attributes"] +---- +# podman pull ghcr.io/freebsd/freebsd-notoolchain:{rel-latest} +Trying to pull ghcr.io/freebsd/freebsd-notoolchain:{rel-latest}... +Getting image source signatures +Copying blob 711cf0d3c0ef done | +Copying config 086572f35c done | +Writing manifest to image destination +086572f35cc90b1a1d2b7904b63e8a849071b4ba89b15492f6da47a802372aa2 +---- + +[[containers-running]] +=== Running a Container + +Use `+podman run+` to start a container. +The `+-it+` flags allocate an interactive terminal, and `+--rm+` removes the container when it exits. +If no command is specified, the image's default entrypoint is used: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm ghcr.io/freebsd/freebsd-notoolchain:{rel-latest} +# exit +---- + +A specific command can be given as well: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm ghcr.io/freebsd/freebsd-notoolchain:{rel-latest} uname -a +FreeBSD c0038de70651 {rel-latest}-RELEASE FreeBSD {rel-latest}-RELEASE releng/{rel-latest}-n283562-96841ea08dcf GENERIC amd64 +---- + +As the container image does not include the kernel, man:freebsd-version[1] shows different results for the running kernel versus the installed userland. +In this example, a {rel-latest-previous}-RELEASE container runs on a {rel-latest}-RELEASE host: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm ghcr.io/freebsd/freebsd-notoolchain:{rel-latest-previous} /bin/sh +# freebsd-version -ru +{rel-latest}-RELEASE +{rel-latest-previous}-RELEASE +# exit +---- + +[[containers-variations]] +== Useful Variations and Tips + +Almost all of the `+podman run ...+` parameters also apply to `+podman build+`. +Refer to the man:podman-run[1] and man:podman-build[1] manual pages for details. + +Use the `+--rm+` flag to have ephemeral containers clean themselves up afterwards. + +Use `+podman images -a+` to show all downloaded images: + +[source,shell,subs="attributes"] +---- +# podman images -a +REPOSITORY TAG IMAGE ID CREATED SIZE +ghcr.io/freebsd/freebsd-runtime {rel-latest} 90c493675429 2 weeks ago 34.1 MB +---- + +Use `+podman ps -a+` to see running containers: + +[source,shell,subs="attributes"] +---- +# podman ps -a +CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES +3123623bef9b ghcr.io/freebsd/freebsd-runtime:{rel-latest} /bin/sh 4 minutes ago Up 4 minutes admiring_brattain +---- + +[[containers-env-vars]] +=== Environment Variables + +Podman sets a number of default environment variables in each container: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm ghcr.io/freebsd/freebsd-notoolchain:{rel-latest} /usr/bin/env +container=podman +TERM=xterm +PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +HOME=/root +HOSTNAME=60bae3343e6b +---- + +The `+HOSTNAME+` is set to the container ID by default. +It can be overridden with `+--hostname+`, which is useful when the application inside the container needs a stable or meaningful hostname. + +Arbitrary environment variables can be passed in with `+--env+`: + +[source,shell,subs="attributes"] +---- +# podman run --env FOO=BAR -it --rm ghcr.io/freebsd/freebsd-runtime:{rel-latest} +# echo $FOO +BAR +---- + +[[containers-volumes]] +=== Mounting Files and Volumes + +Both files and volumes can be passed into containers using `+--volume+`. +For example, the `+runtime+` image does not contain man:which[1]: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm ghcr.io/freebsd/freebsd-runtime:{rel-latest} +# which +/bin/sh: which: not found +---- + +It can be mounted into the container from the host: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm --volume /usr/bin/which:/usr/bin/which \ + ghcr.io/freebsd/freebsd-runtime:{rel-latest} +# which which +/usr/bin/which +---- + +For a lean image such as `+freebsd-static+`, mount the existing man:pkg-static[8] from the host to bootstrap man:pkg[8] inside the container. +Sharing the host's package cache via `+--volume /var/cache/pkg+` avoids re-downloading packages that have already been fetched, which is particularly useful when building multiple containers. +The `+--no-hosts+` flag prevents mounting `+/etc/hosts+`, which would otherwise interfere with package upgrades. + +[NOTE] +==== +Sharing the package cache only works when the host and container run the same FreeBSD major version, as packages are version-specific. +==== + +[source,shell,subs="attributes"] +---- +# podman run -it --rm \ + --env ASSUME_ALWAYS_YES=true \ + --no-hosts \ + --volume /usr/local/sbin/pkg-static:/bin/pkg-static \ + --volume /var/cache/pkg \ + ghcr.io/freebsd/freebsd-static:{rel-latest} +# pkg-static bootstrap -r FreeBSD +Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/latest, please wait... +Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done +[fd343e182fa5] Installing pkg-2.1.2... +[fd343e182fa5] Extracting pkg-2.1.2: 100% +---- + +Files and directories from the host can also be mounted into containers: + +[source,shell,subs="attributes"] +---- +# podman run -it --rm \ + --volume /etc/fstab:/etc/fstab \ + --volume /tmp:/var/tmp \ + --volume /tmp \ + ghcr.io/freebsd/freebsd-runtime:{rel-latest} +---- + +[[containers-inspecting]] +=== Inspecting Image Contents + +To list all files in any image, including minimal images with no shell or tools, export the container filesystem and list its contents: + +[source,shell,subs="attributes"] +---- +# podman export $(podman create --rm ghcr.io/freebsd/freebsd-static:{rel-latest} /) | tar tf - +---- + +The container images do not include man:pkg[8] itself, but man:pkg-static[8] can be mounted from the host to query the installed base system packages. +Use `+pkg info -q+` to list package names, or `+pkg info -ql+` to show all files owned by packages: + +[source,shell,subs="attributes"] +---- +# podman run --rm \ + -v /usr/local/sbin/pkg-static:/pkg \ + ghcr.io/freebsd/freebsd-runtime:{rel-latest} /pkg info -q +FreeBSD-audit-lib-{rel-latest} +FreeBSD-bzip2-lib-{rel-latest} +FreeBSD-certctl-{rel-latest} +FreeBSD-clibs-{rel-latest} +FreeBSD-fetch-{rel-latest} +FreeBSD-kerberos-lib-{rel-latest} +FreeBSD-libarchive-{rel-latest} +FreeBSD-libcasper-{rel-latest} +FreeBSD-libexecinfo-{rel-latest} +FreeBSD-libucl-{rel-latest} +FreeBSD-mtree-{rel-latest} +FreeBSD-ncurses-lib-{rel-latest} +FreeBSD-openssl-{rel-latest} +FreeBSD-openssl-lib-{rel-latest} +FreeBSD-pam-lib-{rel-latest} +FreeBSD-pkg-bootstrap-{rel-latest} +FreeBSD-rc-{rel-latest} +FreeBSD-runtime-{rel-latest} +FreeBSD-xz-lib-{rel-latest} +FreeBSD-zlib-{rel-latest} +FreeBSD-zoneinfo-{rel-latest} +FreeBSD-zstd-lib-{rel-latest} +---- + +When the host and container run different FreeBSD major versions, man:pkg[8] detects the ABI by inspecting `+/bin/sh+` inside the container, and will warn about the mismatch: + +[source,shell] +---- +# podman run -it --rm \ + --env ASSUME_ALWAYS_YES=true \ + --no-hosts \ + --volume /usr/local/sbin/pkg-static:/usr/sbin/pkg \ + --volume /var/cache/pkg \ + ghcr.io/freebsd/freebsd-runtime:14.4 /bin/sh +# pkg bootstrap +pkg: Warning: Major OS version upgrade detected. Running "pkg bootstrap -f" recommended +---- + +For images without `+/bin/sh+`, such as `+freebsd-dynamic+`, man:pkg-static[8] cannot detect the system ABI at all. + +[[containers-networking]] +== Networking and Name Resolution + +By default, the Podman suite of tools will use man:mount_nullfs[8] to mount `+/etc/resolv.conf+` and a modified `+/etc/hosts+` from the jail host, as well as a `+.containerenv+` file in `+/var/run+`. + +This hosts file will conflict with base system package upgrades, so it is advised to skip this during `+podman build+` runs, but leave it enabled during production deployment: + +[source,shell] +---- +# podman run --dns 1.2.3.4 ... +# podman build --no-hosts ... +---- + +The `+--dns+` flag specifies a custom DNS server instead of mounting `+/etc/resolv.conf+` from the host. +The `+--no-hosts+` flag prevents mounting `+/etc/hosts+` from the host. + +[[containers-building]] +== Building Custom Images + +Custom images can be built directly from tarballs (for example those from man:poudriere[8], or official release tarballs), from existing tagged images, or bootstrapped from man:pkg[8]. + +[[containers-building-base]] +=== Building from Tarballs + +A custom image can be made from any FreeBSD root filesystem tarball using man:podman-import[1]. +The tarball can be an official release `+base.txz+`, one produced by man:poudriere-image[8], or your own custom tarball. +The final tagged image can be pushed to registries, modified, and used for further image creation. + +[source,shell,subs="attributes"] +---- +# podman import --os freebsd \ + --arch amd64 \ + --message 'Import FreeBSD {rel-latest}-RELEASE base.txz' \ + https://download.freebsd.org/releases/amd64/{rel-latest}-RELEASE/base.txz +Downloading from "https://download.freebsd.org/releases/amd64/{rel-latest}-RELEASE/base.txz" +Getting image source signatures +Copying blob 3768988b151c done | +Copying config 332bec83a4 done | +Writing manifest to image destination +sha256:332bec83a428efa6c9f7d1f8b3fbd589c5613d938dca7da5125240c89f4f3dcd + +# podman image tag 332bec83a428 localhost/freebsd-base:{rel-latest} + +# podman image ls +REPOSITORY TAG IMAGE ID CREATED SIZE +localhost/freebsd-base {rel-latest} 332bec83a428 5 minutes ago 715 MB +---- + +[[containers-building-containerfile]] +=== Building from Containerfiles + +Images can be built using a `+Containerfile+`, similar to a Dockerfile. +In most cases, the `+freebsd-notoolchain+` image is the most convenient base, as it includes nearly all standard system tools. +For leaner containers, start from `+freebsd-static+`, `+freebsd-dynamic+`, or `+freebsd-runtime+` as appropriate, and add only what is needed: + +[source,dockerfile,subs="attributes"] +---- +# Containerfile +FROM ghcr.io/freebsd/freebsd-notoolchain:{rel-latest} +RUN env ASSUME_ALWAYS_YES=yes IGNORE_OS_VERSION=yes pkg bootstrap -r FreeBSD +RUN pkg update +RUN pkg upgrade -y +RUN pkg clean -y +ENTRYPOINT /bin/sh +---- + +Build the image with man:podman-build[1]: + +[source,shell,subs="attributes"] +---- +# podman build --no-hosts --squash \ + -t localhost/freebsd-base:{rel-latest} \ + -f ./Containerfile +---- + +Further images can be layered on top: + +[source,dockerfile,subs="attributes"] +---- +# Containerfile.webserver +FROM localhost/freebsd-base:{rel-latest} +RUN pkg install -y lang/python3 +RUN pkg clean -y +ENTRYPOINT /usr/local/bin/python3 -m http.server +---- + +[source,shell,subs="attributes"] +---- +# podman build --no-hosts \ + -t localhost/python-www:{rel-latest} \ + -f ./Containerfile.webserver +---- + +Run the web server in the background with `+--detach+`, and use `+-p+` to map a host port to the container port. +In this example, the container listens on its default port 8000, which is mapped to port 8888 on the host: + +[source,shell,subs="attributes"] +---- +# c=$(podman run --detach --rm -p 8888:8000 localhost/python-www:{rel-latest}) +---- + +The port mapping uses man:pf[4] redirect rules. +These rules redirect traffic arriving over the network, so the mapped port must be accessed from another host, or via the host's network-facing IP address: + +[source,shell] +---- +$ fetch -v http://172.16.2.10:8888/ +resolving server address: 172.16.2.10:8888 +requesting http://172.16.2.10:8888/ +remote size / mtime: 784 / 0 +fetch.out 784 B 3791 kBps 00s +---- + +To access the container directly from the host, use the container's own IP on its listening port: + +[source,shell] +---- +# podman inspect -f '{{.NetworkSettings.IPAddress}}' $c +10.88.0.91 +# fetch -v http://10.88.0.91:8000/ +resolving server address: 10.88.0.91:8000 +requesting http://10.88.0.91:8000/ +remote size / mtime: 784 / 0 +fetch.out 784 B 25 MBps 00s +---- + +[NOTE] +==== +Port mappings via `+-p+` are handled by man:pf[4] redirect rules and only apply to traffic arriving over the network. +Traffic originating from the jail host itself to `+localhost+` or `+127.0.0.1+` will not be redirected. +From the host, use the container's IP address directly instead. +==== + +[[containers-advanced]] +== Advanced Usage + +[[containers-daemonising]] +=== Daemonising Podman + +FreeBSD's Podman implementation provides two man:rc[8] services: + +* The `+podman+` service runs at boot and ensures that all containers marked with `+restart-policy=always+` are started. +* The `+podman_service+` service runs the https://docs.podman.io/en/latest/_static/api.html[Podman API service], providing a REST API and listening on `+/var/run/podman/podman.sock+` by default. + +Enable them as follows: + +[source,shell] +---- +# sysrc podman_enable=YES +# sysrc podman_service_enable=YES +# sysrc podman_service_flags='--time 0' +# service podman start +# service podman_service start +---- + +Containers that should restart automatically after a host reboot must be run with the `+--restart=always+` option: + +[source,shell] +---- +# podman run --detach --restart=always my-image +---- + +[[containers-linux]] +=== Running Linux Containers + +It is possible to run many Linux container images using FreeBSD's Linux emulation: + +[source,shell] +---- +# service linux onestart +# podman run --rm --os=linux docker.io/alpine cat /etc/os-release | head -1 +Trying to pull docker.io/library/alpine:latest... +Getting image source signatures +Copying blob 4abcf2066143 done | +Copying config 05455a0888 done | +Writing manifest to image destination +NAME="Alpine Linux" +---- + +[NOTE] +==== +Linux containers that depend on systemd, expect to be PID 1, or rely on Linux-specific kernel interfaces may not work correctly under FreeBSD's Linux emulation. +==== + +[[containers-local-registry]] +=== Running a Local Registry + +A registry is a web server for storing and sharing OCI images. +The https://freshports.org/sysutils/docker-registry[sysutils/docker-registry] port provides a simple registry suitable for local development or a small organisation. +https://zotregistry.dev/[Zot Registry] is a more comprehensive modern alternative. + +[source,shell] +---- +# pkg install -r FreeBSD sysutils/docker-registry +# zfs create zroot/var/db/registry +# chown -R www:www /var/db/registry +# sysrc docker_registry_enable=YES +# sysrc docker_registry_user=www +# sed -i '' -E -e 's,rootdirectory:.+,rootdirectory: /var/db/registry,' \ + /usr/local/etc/docker-registry/config.yml +# touch /usr/local/etc/docker-registry/htpasswd +# chown -R root:www /usr/local/etc/docker-registry/config.yml \ + /usr/local/etc/docker-registry/htpasswd +# chmod 0640 /usr/local/etc/docker-registry/config.yml \ + /usr/local/etc/docker-registry/htpasswd +---- + +A sample configuration for `+/usr/local/etc/docker-registry/config.yml+`: + +[source,yaml] +---- +version: 0.1 +log: + fields: + service: registry +storage: + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: /var/db/registry +http: + addr: :5000 + secret: + headers: + X-Content-Type-Options: [nosniff] +auth: + htpasswd: + realm: basic-realm + path: /usr/local/etc/docker-registry/htpasswd +health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 +---- + +Start the registry and verify it is running: + +[source,shell] +---- +# service registry start +# curl -u admin:passwd http://localhost:5000/v2/ +---- + +[TIP] +==== +It is recommended to serve the registry over TLS, behind a reverse proxy such as nginx or haproxy. +==== + +[[containers-syncing]] +=== Synchronising Registries + +It is possible to synchronise official FreeBSD images into a local registry using `+skopeo+`. +The following example replicates all FreeBSD-related images from https://hub.docker.com/u/freebsd[Docker Hub] to a local registry: + +[source,yaml] +---- +# sync.yml +docker.io: + images: + freebsd/freebsd-static: [] + freebsd/freebsd-dynamic: [] + freebsd/freebsd-runtime: [] +---- + +[source,shell] +---- +$ skopeo sync --src yaml --dest docker --all sync.yml cr.example.net/freebsd +INFO[0000] Processing repo repo=freebsd/freebsd-static +INFO[0000] Querying registry for image tags repo=freebsd/freebsd-static +... +INFO[0771] Synced 42 images from 3 sources +---- + +So long as the credentials in `+/root/.config/containers/auth.json+` are up to date, root access is not required to sync images. + +[[containers-registries-auth]] +=== Working with Container Registries + +Registries generally require authentication for push operations, and optionally for pull. +Credentials are saved in `+/root/.config/containers/auth.json+` by default after login: + +[source,shell] +---- +# podman login ghcr.io -u username +Password: +Login Succeeded! +---- + +Images can then be pushed to a registry: + +[source,shell,subs="attributes"] +---- +# podman push localhost/freebsd-runtime:{rel-latest} \ + docker://ghcr.io/example/freebsd-runtime:{rel-latest} +Getting image source signatures +Copying blob bbacfdfbe140 done | +Copying config 786f2592a8 done | +Writing manifest to image destination +---- + +Public images can be pulled without authentication: + +[source,shell,subs="attributes"] +---- +# podman pull ghcr.io/freebsd/freebsd-runtime:{rel-latest} +---- + +[[containers-building-sources]] +== Building Container Images from Sources + +The FreeBSD release tooling provides an `+oci-release+` target to build the necessary images for `+podman load+` to use. +It requires building world, kernel, and base system packages first, so this can take a while. + +The following example builds `+arm64+` images: + +[source,shell] +---- +# cd /usr/src \ + && make TARGET_ARCH=aarch64 TARGET=arm64 -s -j32 buildworld \ + && make TARGET_ARCH=aarch64 TARGET=arm64 KERNCONF=GENERIC -s -j32 buildkernel \ + && make TARGET_ARCH=aarch64 TARGET=arm64 KERNCONF=GENERIC -s -j32 packages \ + && cd ./release \ + && make TARGET_ARCH=aarch64 TARGET=arm64 -j32 -s clean \ + && make KERNCONF=GENERIC TARGET_ARCH=aarch64 TARGET=arm64 WITH_OCIIMAGES=yes \ + -s oci-release +---- + +And similarly for `+amd64+`: + +[source,shell] +---- +# cd /usr/src \ + && make TARGET_ARCH=amd64 TARGET=amd64 -s -j32 buildworld \ + && make TARGET_ARCH=amd64 TARGET=amd64 KERNCONF=GENERIC -s -j32 buildkernel \ + && make TARGET_ARCH=amd64 TARGET=amd64 KERNCONF=GENERIC -s -j32 packages \ + && cd ./release \ + && make TARGET_ARCH=amd64 TARGET=amd64 -s -j32 clean \ + && make KERNCONF=GENERIC TARGET_ARCH=amd64 TARGET=amd64 \ + WITH_OCIIMAGES=yes -s oci-release +---- + +[[containers-cross-arch]] +== Cross-Architecture Testing + +The `+emulators/qemu-user-static+` package allows testing container images built for other architectures. +After installing the package, enable and start the service to register image activators for all emulated architectures: + +[source,shell] +---- +# pkg install emulators/qemu-user-static +# service qemu_user_static enable +# service qemu_user_static start +---- + +Then run an `+arm64+` image on an `+amd64+` host by mounting the appropriate QEMU binary: + +[source,shell] +---- +# podman run -it --rm --arch=arm64 \ + -v /usr/local/bin/qemu-aarch64-static:/usr/local/bin/qemu-aarch64-static \ + ghcr.io/freebsd/freebsd-runtime:14.snap uname -a +FreeBSD 73d4049d10b2 14.2-RELEASE-p1 FreeBSD 14.2-RELEASE-p1 GENERIC arm64 +---- + +[[containers-troubleshooting]] +== Troubleshooting + +[[containers-troubleshooting-hosts]] +=== Package Upgrades and Mounted Files + +Podman mounts `+/etc/resolv.conf+` and `+/etc/hosts+` into containers using man:mount_nullfs[8]. +These mounts can cause errors during man:pkg[8] operations with messages such as `+Cross-device link+`: + +[source] +---- +pkg: Fail to rename /etc/.pkgtemp.hosts.VeIDrHM0sKN5 -> /etc/hosts:Cross-device link +---- + +To avoid this, use `+--no-hosts+` and `+--dns+` flags: + +[source,shell,subs="attributes"] +---- +# podman run --no-hosts --dns 1.1.1.1 -it --rm \ + ghcr.io/freebsd/freebsd-runtime:{rel-latest} /bin/sh +---- + +[[containers-troubleshooting-networking]] +=== Checking Networking + +Start with the firewall rules from `+/usr/local/etc/containers/pf.conf.sample+`. +Test connectivity step by step from within a container: + +[source,shell,subs="attributes"] +---- +# podman run --no-hosts --dns 1.1.1.1 \ + --env ASSUME_ALWAYS_YES=1 \ + -it --rm \ + ghcr.io/freebsd/freebsd-runtime:{rel-latest} \ + /bin/sh + +# route show 1.1.1.1 + route to: 1.1.1.1 +destination: default + gateway: 10.88.0.1 + interface: eth0 + +# ping -c 3 10.88.0.1 +PING 10.88.0.1 (10.88.0.1): 56 data bytes +64 bytes from 10.88.0.1: icmp_seq=0 ttl=64 time=0.083 ms +... + +# ping -c 3 1.1.1.1 +PING 1.1.1.1 (1.1.1.1): 56 data bytes +64 bytes from 1.1.1.1: icmp_seq=0 ttl=60 time=0.920 ms +... + +# fetch -v http://1.1.1.1/ +... + +# pkg -dd bootstrap -r FreeBSD +---- + +If man:ping[8] fails, check the firewall rules for blocked ICMP. +If man:fetch[1] fails, check the firewall rules for blocked TCP on ports 80 and 443. +If man:pkg[8] fails but ICMP and TCP work, this may be a fragmentation or MTU problem. +Add `+set reassemble yes no-df+` to `+/etc/pf.conf+` and restart the firewall. + +For debugging blocked packets, enable `+log+` on all block rules in `+/etc/pf.conf+` and use man:tcpdump[1] on the man:pflog[4] device: + +[source,shell] +---- +# service pflog onerestart +# tcpdump -vvveni pflog0 icmp or net 10.88.0.0/16 +---- + +[[containers-troubleshooting-mtu]] +=== MTU Consistency + +Ensure MTU values are consistent across the primary network interface, the container bridge, and the container itself. +Mismatched MTU values can cause packet fragmentation and connectivity failures. + +In the following example, `+vtnet0+` has MTU 9000, but the bridge and containers have MTU 1500. +In general, align the internal layout to match the external network: + +[source,shell] +---- +# ifconfig vtnet0 mtu 9000 +# ifconfig cni-podman0 mtu 9000 +---- + +Inside the container: + +[source,shell] +---- +# ifconfig eth0 mtu 9000 +---- + +The bridges and epairs used by Podman are ephemeral and will need to be configured for each bridge creation and each container. +In some cloud environments, adding `+set reassemble yes no-df+` to `+/etc/pf.conf+` may also be required. From nobody Sun Jul 12 09:03:43 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyfkS0tL1z6l5cV for ; Sun, 12 Jul 2026 09:03:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyfkR73Mpz3HvV for ; Sun, 12 Jul 2026 09:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783847024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifgdodNockkB9hlCS1F9XSGAAuwvBh1/dwQm/7qrEqk=; b=tf6USb0Jo2zsY9iKGgDrnQ1q8jh4g4uAlmFCEots1J9L61K8RXhsuTTCz21R+is5pSg1KJ JNA2cKm14TQvzKato/eWBfUzPDsikJqE1kaFeVILEFINihWzrsP8LTVW+F1AEyp1hlws6Z fwWO6S/Z7FxEyCCeSJODKrSVXdxZV2xyuiESonEamCSQKSRpqvVxe9cqlArN9qegIvvkDQ WrdZr9PvcH567m8maKGwWOD9ZCZ+oK+1hMHnOWaEBW/S2RR8EYdunNx1Vd/fVBIO+VVKQw eHNDigkbSSOC8EEr5HIIPryZ52lnkBGix7hwU9i+xHEX/r7pR3PeDwi/RGlhNg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783847024; a=rsa-sha256; cv=none; b=uchMv5bYXwCE30GLxyLRPWEGTrIht4/kXFS9u8QfNWOE4IgMS/aqgh0v9juorTMkh3L14y fyaPMtTcXHPvHOVk8KaIsAjZYZxXEEPWigS5ZvDmVWqYdNNx2jXHPyzvevJ/XKYWX/nWN0 qkuBzrrjwTkVJG2OjedyH69FHyxGVNJQz26r+YWbE9EbnexmkL6HSYK0gZuAdqMmzHzcBG gHq2SgxQ8Rbp5MFhafEGluGEye+cyPniww44cl1+089F6PADOmkFdzTtKoHRD8EmfOgVsD VE+yXKZUAymrGw8oli7iqe8p3SYcy8m+ge2b2to1lc6PWRLAHLSZRowCqAkgpQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783847024; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ifgdodNockkB9hlCS1F9XSGAAuwvBh1/dwQm/7qrEqk=; b=FHED4dDZ9DtvB5VYhl+vaBd9gpKBQ30QklHcI2wZ+34nZhnh7L2hxhgEJrz2r57VRRehek yZwYG0R/ysJPGsE6oFRQXS/gbbuDLQzJOaqtqpwQSD1tpVcJxVDQiEDXm+r9pPO14nCM5i ZcG3c0A6YyptFqrmHrboulrXZzjC2Cli6otzw0BRZIfBhCju3M6MY3VEeuvxVWz7nD24/7 c+PW3hMlGnryr0WTmX+HEERfpNY0MuxOPouugzlAvR8G6Ogg/Bno16M/ZvcFvA7U+Y+3Gq JQWcRBnE/eJ4LxFJ7Rd4THz89MOTTilwBbDn9idFpcT6lDUy8/49hxyt+7Whfw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyfkR5vHHz1Kdg for ; Sun, 12 Jul 2026 09:03:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3698c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 09:03:43 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Alexander Ziaee Subject: git: 19222efd85 - main - committers-guide: Use macros for branch examples List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ziaee X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 19222efd8599079e6b3f3a39cfc3ddec3f687c24 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 09:03:43 +0000 Message-Id: <6a53586f.3698c.2b83986c@gitrepo.freebsd.org> The branch main has been updated by ziaee: URL: https://cgit.FreeBSD.org/doc/commit/?id=19222efd8599079e6b3f3a39cfc3ddec3f687c24 commit 19222efd8599079e6b3f3a39cfc3ddec3f687c24 Author: Alexander Ziaee AuthorDate: 2026-07-12 09:02:50 +0000 Commit: Alexander Ziaee CommitDate: 2026-07-12 09:03:03 +0000 committers-guide: Use macros for branch examples PR: 279503 Reviewed by: wosch Differential Revision: https://reviews.freebsd.org/D57937 --- .../en/articles/committers-guide/_index.adoc | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/documentation/content/en/articles/committers-guide/_index.adoc b/documentation/content/en/articles/committers-guide/_index.adoc index 45350e0ba2..b974f62b70 100644 --- a/documentation/content/en/articles/committers-guide/_index.adoc +++ b/documentation/content/en/articles/committers-guide/_index.adoc @@ -456,9 +456,9 @@ FreeBSD-CURRENT uses the `main` branch. `main` is the default branch. -For FreeBSD-STABLE, branch names include `stable/12` and `stable/13`. +For FreeBSD-STABLE, branch names include `stable/{rel-latest-major}` and `stable/{rel-legacy-major}`. -For FreeBSD-RELEASE, release engineering branch names include `releng/12.4` and `releng/13.2`. +For FreeBSD-RELEASE, release engineering branch names include `releng/{rel-latest}` and `releng/{rel-legacy}`. https://www.freebsd.org/releng/[] shows: @@ -467,8 +467,8 @@ https://www.freebsd.org/releng/[] shows: Examples: -* tag https://cgit.freebsd.org/src/tag/?h=release/13.1.0[release/13.1.0] on the https://cgit.freebsd.org/src/log/?h=releng/13.1[releng/13.1] branch -* tag https://cgit.freebsd.org/src/tag/?h=release/13.2.0[release/13.2.0] on the https://cgit.freebsd.org/src/log/?h=releng/13.2[releng/13.2] branch. +* tag https://cgit.freebsd.org/src/tag/?h=release/{rel-latest}.0[release/{rel-latest}.0] on the https://cgit.freebsd.org/src/log/?h=releng/{rel-latest}[releng/{rel-latest}] branch +* tag https://cgit.freebsd.org/src/tag/?h=release/{rel-legacy}.0[release/{rel-legacy}.0] on the https://cgit.freebsd.org/src/log/?h=releng/{rel-legacy}[releng/{rel-legacy}] branch. ===== Repositories Please see the crossref:committers-guide[admin,Administrative Details] for the latest information on where to get FreeBSD sources. @@ -876,7 +876,7 @@ For more on this topic, https://www.freecodecamp.org/news/the-ultimate-guide-to- It is a good resource for issues that arise occasionally but are too obscure for this guide. ===== Switching to a Different FreeBSD Branch -If you wish to shift from stable/12 to the current branch. +If you wish to shift from stable/{rel-latest-major} to the current branch. If you have a deep clone, the following will suffice: [source,shell] .... @@ -886,18 +886,18 @@ If you have a deep clone, the following will suffice: If you have a local branch, though, there are one or two caveats. First, rebase will rewrite history, so you will likely want to do something to save it. Second, jumping branches tends to cause more conflicts. -If we pretend the example above was relative to stable/12, then to move to `main`, I'd suggest the following: -[source,shell] +If we pretend the example above was relative to stable/{rel-latest-major}, then to move to `main`, I'd suggest the following: +[source,shell,subs=attributes] .... % git checkout no-color-ls -% git checkout -b no-color-ls-stable-12 # create another name for this branch -% git rebase -i stable/12 no-color-ls --onto main +% git checkout -b no-color-ls-stable-{rel-latest-major} # create another name for this branch +% git rebase -i stable/{rel-latest-major} no-color-ls --onto main .... What the above does is checkout no-color-ls. -Then create a new name for it (no-color-ls-stable-12) in case you need to get back to it. +Then create a new name for it (`no-color-ls-stable-{rel-latest-major}`) in case you need to get back to it. Then you rebase onto the `main` branch. -This will find all the commits to the current no-color-ls branch (back to where it meets up with the stable/12 branch) and then it will +This will find all the commits to the current no-color-ls branch (back to where it meets up with the stable/{rel-latest-major} branch) and then it will replay them onto the `main` branch creating a new no-color-ls branch there (which is why I had you create a place holder name). [[mfc-with-git]] @@ -909,18 +909,18 @@ For multiple commits, use `git rebase -i` to squash them together and edit the c ==== Single commit MFC -[source,shell] +[source,shell,subs=attributes] .... -% git checkout stable/X +% git checkout stable/{rel-latest-major} % git cherry-pick -x $HASH --edit .... For MFC commits, for example a vendor import, you would need to specify one parent for cherry-pick purposes. Normally, that would be the "first parent" of the branch you are cherry-picking from, so: -[source,shell] +[source,shell,subs=attributes] .... -% git checkout stable/X +% git checkout stable/{rel-latest-major} % git cherry-pick -x $HASH -m 1 --edit .... @@ -939,9 +939,9 @@ The process is the same for either a typical merge or an exceptional direct comm * Leave both "cherry picked from" lines in the commit message. * Be sure to add the `Approved by:` line when you are in the editor. -[source,shell] +[source,shell,subs=attributes] .... -% git checkout releng/13.0 +% git checkout releng/{rel-latest-next} % git cherry-pick -x $HASH --edit .... @@ -1006,9 +1006,9 @@ to do that. The `--abort` will cleanup the failed first attempt. If you do a MFC, and it goes horribly wrong and you want to start over, then the easiest way is to use `git reset --hard` like so: -[source,shell] +[source,shell,subs=attributes] .... -% git reset --hard freebsd/stable/12 +% git reset --hard freebsd/stable/{rel-latest-major} .... though if you have some revs you want to keep, and others you don't, using `git rebase -i` is better. From nobody Sun Jul 12 09:19:40 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyg4x3Mc1z6l6VV for ; Sun, 12 Jul 2026 09:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyg4x2GpKz3Jkh for ; Sun, 12 Jul 2026 09:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783847985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kX6ZAO37iN1oV8LKeJqN37d95/+twHN0yNBnKaTyLg4=; b=AMg9ud393PCCf/PvfNAQ7yzboLXuDDrwnkrbX9VzavqAeh3tpoDZVSK7oCS0f4asAZ9mRV Zfo4QkHnXE74BYrRGRTTL2f3ssV6mFWNJjvd/agi/5Vg1oVKvcCX1CQB2Z6PQE9bn2irsZ N/h552nu3KHBe2aw46WOYryTblr1hXrCJw+uutorriPrhMhAHtc8/4GB4a4z7gNqjxYDQY OKNhPLowcx9iQBVRxKS3tv6DmxjwBfjlWhU19vogbU8XFpkw6E7dg5nmwwDDJEvouvyZvz Gd/DqbMbYjRpe8oejbJAbJ8ZyBiTHvYgSlis7ORgwbBnoQMnQGyrSJGJpn+9pw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783847985; a=rsa-sha256; cv=none; b=Hbt+pNVjoruaYFnT17zoboblse9wAY8V3Glt19NNRlzGCLgCfxOSx1gMDdpMGECNQBreHr OEve/YHAoOdDNQsYAFfaL/JnOjXrN3kWMuC+zqd0iTuHZaBfQiZHAxsmnXZAtJTaVEnChN Xt9svVmMYeob8SaD8jIfil1eTN9Jcb8i0l9ZdqQ9Y200t8DBCuz9u26IyZxYT4kCXv89lg 8k3SSnUydwKlXVPbnSwVb5Or4cTKBk2XdY2AdQ1iZUTI79PHN07HIhl8bEYkaPwQGumH1E fjCKA4jm0+pdYY5bYhLOD0NDIYHPSh4ovNuutd/KGaDsMHXHlcSG6SaZZTmRwQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783847985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kX6ZAO37iN1oV8LKeJqN37d95/+twHN0yNBnKaTyLg4=; b=wyIi0nujYpyWEteRhr4EvOUQ+I1n4ovab8PSG3AQoW23VeqWwEXeNYh8s4UD3qFi84GlTU ylIT1Ya/tlGsB/YKsIzf9zh3GDGL2RW+R7iK9uPiBLlPY+W/FYMWh8ZFmicL0Ip4gFJluM XST+hs6i7ZAz/WfIFuPqZeI24yFxw5I0feaL2jIolVKY8M3FbfU/XStRy/NlD4mV+jsVyD Y081vdSei16b4KZcnx+islTRpk9tWYEQObJe8Ni1i6FfMMeEcl48gw9tmNt1ORUiyLHWrJ T49k7jrP7IhQDzFZp4RzHqloxolHt9qGry5f3Vwa2p1SALbAynr6XuNtN2QhEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyg4x1M7hz1L0B for ; Sun, 12 Jul 2026 09:19:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38351 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 09:19:40 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Cc: Dudley Innocent From: Sergio Carlavilla Delgado Subject: git: 0bee9f41e4 - main - Handbook - wine: Fix packages paths List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: carlavilla X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0bee9f41e431b722d09acc0568cc9d46da962d31 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 09:19:40 +0000 Message-Id: <6a535c2c.38351.4b5e5e0a@gitrepo.freebsd.org> The branch main has been updated by carlavilla: URL: https://cgit.FreeBSD.org/doc/commit/?id=0bee9f41e431b722d09acc0568cc9d46da962d31 commit 0bee9f41e431b722d09acc0568cc9d46da962d31 Author: Dudley Innocent AuthorDate: 2026-07-12 09:19:02 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2026-07-12 09:19:02 +0000 Handbook - wine: Fix packages paths PR: 296708 Differential Revision: D58166 --- documentation/content/en/books/handbook/wine/_index.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/documentation/content/en/books/handbook/wine/_index.adoc b/documentation/content/en/books/handbook/wine/_index.adoc index db8d521354..b01e1c4580 100644 --- a/documentation/content/en/books/handbook/wine/_index.adoc +++ b/documentation/content/en/books/handbook/wine/_index.adoc @@ -220,7 +220,7 @@ Alternately, compile the port with the following: [source,shell] .... -# cd /usr/ports/emulator/wine-gecko +# cd /usr/ports/emulators/wine-gecko # make install .... @@ -240,7 +240,7 @@ To compile from the ports collection: [source,shell] .... -# cd /usr/ports/emulator/wine-mono +# cd /usr/ports/emulators/wine-mono # make install .... @@ -258,7 +258,7 @@ Alternately compile the WINE sub-system from source with the following: [source,shell] .... -# cd /usr/ports/emulator/wine +# cd /usr/ports/emulators/wine # make install .... From nobody Sun Jul 12 12:12:16 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gykw123Y6z6lJ45 for ; Sun, 12 Jul 2026 12:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gykw11Q9Nz3Ynq for ; Sun, 12 Jul 2026 12:12:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783858337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYoPoF95QNXYI8cKKMfIl0LX7TqK6JCAffpv4CQyWu0=; b=pf30ivBbrOtMYusHmDRbK7/WpPDxdbkW6KJno5LjnuC+o90yY8V/bs0ieTARsEhWlGhFe5 IPPge0P1K4xBUuRrdPrF9oXa1wZ9Ln1u1/PAu4wdZaSIrhbn/L/GFifczj6TSvuxxwuW7N dLEqYqXSSkrrtsA0O9oCNXKIhwv18eHST6eQhfhrgJXoCDE0r6qEuSGb/OBnCWZjDwyHXG IgN8X4PuteWIEv0PyEFXiFM5GTylozESUo5JucwIagWMcYJvDAazzOw7e1Mdit5zEPxxu1 9/XRYLGY/fzsit+pi5utZX06eLlLqvPxA5D5gSasLq1Vw+TkkVD7nQHnjDsNTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783858337; a=rsa-sha256; cv=none; b=RdoxmYfRx5dvVeOV2Kf2dQXOTNMIO0/jIFATTJ15jM5VoUkhUKmOWrDMpknKZyy6ax/JwQ PfMKXoXw4urWzYLJGNkKdF1Xa3FgFtbUsCnz81j7pWwhu5HA9QzbrE7qXa7RmYv5i+JCR9 WQ5rxcNxahhhpNaMCBmI61jXxcrR7/d1zdakJq2LoJrpmJ+H+Um8HlkEj+alW6KCCLg1md FXCbPKaJcUDynr944LagOcagHVJJ68WJtuzWOXdacyFoT4oIciUXEzc3ICujHFiyEsrc0G NqWCQY11Tubq3HDPwxPWQeYjlI/wp26mM8hp/NF9N+BKqvLS/1btHaB2AIpsUA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783858337; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bYoPoF95QNXYI8cKKMfIl0LX7TqK6JCAffpv4CQyWu0=; b=dSb+LHZk0Es9UeGjcCAV5ERFusNxDnoGvMdDSDBdu+S+v8BqirczE5bbDZ79A3daNFKq19 b+gMdUdevN9KHcC/6SXELNHl/7shGBhuOMyhRzXNDcKmOsIY9i3c4kXM1rHMBP8hmr29HS jUkS+Lm60iYQgyROw5i/R/RdbUusMiTIiqoa46NvMNUJrYBBJvCFmGjdeQOjR68H83gBmW UT0IQU6X8HXHq9p/XlQK0nNtJvemWUcZzyp/bT3V/AyPSouVfTDpkA9K1E5PbG2IOzeRno nB68CMdC44qo9pUhqeE/Alm6lE/IjrhS1pDVSOuD08wOoosliRedmNR6dCQplA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gykw06RK6z1QHy for ; Sun, 12 Jul 2026 12:12:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 22dfb by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 12:12:16 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Roman Bogorodskiy Subject: git: 8844ff124e - main - Status/2026Q2/libvirt.adoc: Add report about libvirt List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: novel X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8844ff124e5692345369063abace4332b47f62e4 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 12:12:16 +0000 Message-Id: <6a5384a0.22dfb.6965a114@gitrepo.freebsd.org> The branch main has been updated by novel: URL: https://cgit.FreeBSD.org/doc/commit/?id=8844ff124e5692345369063abace4332b47f62e4 commit 8844ff124e5692345369063abace4332b47f62e4 Author: Roman Bogorodskiy AuthorDate: 2026-06-28 05:22:06 +0000 Commit: Roman Bogorodskiy CommitDate: 2026-07-12 12:09:52 +0000 Status/2026Q2/libvirt.adoc: Add report about libvirt Reviewed by: salvadore Approved by: salvadore Pull Request: https://github.com/freebsd/freebsd-doc/pull/687 --- .../en/status/report-2026-04-2026-06/libvirt.adoc | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/libvirt.adoc b/website/content/en/status/report-2026-04-2026-06/libvirt.adoc new file mode 100644 index 0000000000..42b8d3542e --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/libvirt.adoc @@ -0,0 +1,23 @@ +=== Improve libvirt support for bhyve hypervisor + +Links: + +link:https://libvirt.org/drvbhyve.html[libvirt: Bhyve driver] URL: link:https://libvirt.org/drvbhyve.html[] + + +Contact: Roman Bogorodskiy + +==== Completed work + +* libvirt/bhyve driver: +** `virtio-console` device support added. +** QEMU Guest Agent support added. +** Implemented a few features based on the QEMU Guest Agent, such as graceful reboot and shutdown, managing guest OS time, SSH keys, users passwords, etc. +** Added memory tuning and block I/O tuning based on man:rctl[8]. +* Work in progress on extend libvirt CI to test against FreeBSD-CURRENT snapshot VM images. + +==== Plans for the next quarter + +* Add support for boot order configuration. +* Add support for TPM devices. +* Complete suspend/resume support. +* Continue implementing features based on the QEMU Guest Agent. +* Continue extending CI, cover the new guest agent based features with new tests. From nobody Sun Jul 12 14:25:43 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gynsz6gWWz6lRTQ for ; Sun, 12 Jul 2026 14:25:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gynsz5bWvz3qZs for ; Sun, 12 Jul 2026 14:25:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783866343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFWL919lDU89I7+YZTZxCmcLMyO3TydHq0FT540sXKQ=; b=RojZQIIPmCMrHTWO6SHakB7iQPZinaOubEVMqOvXvDofJQn0bKA7TRy6TiZ/EgVbw6hwUE lWCB2GiOUQa/zy9oEwA1kzwwDFnZgVMaMPuOY9xz/mFJNSYQmlgLQAMeAqn/ywZxWTHjWz Nzcaqerjgo6sfTaxeKX24HHNYxKlwm/nFINJIOTnJWHQbgh3Uz5jAc1cF5KOTIEILKiIT5 veHnTzY108qzb6/4j8Dz8fXslhcAa4zA2+oI0vVg44qAXtIsWzxdKMGhfcLlnnngjUG/bn 6/KSnUjnnh7yae4tE6nEzX7s5h6e0SWworGMxli4JL8Ob1s76d30bflIVTW5yg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783866343; a=rsa-sha256; cv=none; b=MfIDsI1KFKk9gSaoNCJsTc7Xcp0Bk85eCbi8HST15ZR/c3xuCKmZye83Ph0DvMWi81TdrH QAS4RxqhAz7uoAMUT3VohhbIeff5qk86vAk0dbeRlOv5Jidqnz5jVSoxfldr63lhRX5hI6 qCujtcd62XgvBMsVFijg1Ifcqta9WiZmsuXMS6Y5ytDxyis72yqoVx19ynQ4BjrjPyrVeC jXmnS9ZvyUJvy2USTY5NPpylaCIWH8DAuS3nmAfDal5fA+5OYWoWKlNYw+a+fbNUlBybDV KKdAaNkVlz1Kc0L1iECoOSNeEM7YuKj/wMQ5dqG6xRvy1uKicucjH0BwBEsc9w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783866343; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=aFWL919lDU89I7+YZTZxCmcLMyO3TydHq0FT540sXKQ=; b=Vj9CJLzHXwPYIFpZEzAusW8m8qQZlwm3HjzvoCWSJK/cx/siREjsWTAcxOrWJVJh8gNGzr KI2kLgIZ1mz9/rkYzRV2Tw1yQaSZI6VmPM1Uj0lS0rEJiwCDe/5tkThRS912V5PXM/j3w9 97aWbNOtY/ovgWpCZ5sT+/y6x+dC22cE4f6i/vBIhTiDdRstTDyq7oG5eMgv60ikG8zfyD y3fsxluCcBJEXGQU3Otga6As7Y6wTlBqK9mxTkzYx2RqInyybrBilzEtkaNXGjMde9N4ic h/08lC3emjLkSY1XT9eXgYm6mEJtvfowOSKnRf/E7ZERxuAjF/me5ziX0cphRg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gynsz4968z111 for ; Sun, 12 Jul 2026 14:25:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 382ad by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 14:25:43 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Konstantin Belousov Subject: git: 66feafd5df - main - ntsync(9) report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 66feafd5df132bd49618f2a3f57e8e6182eeb5fc Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 14:25:43 +0000 Message-Id: <6a53a3e7.382ad.39bd28e2@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/doc/commit/?id=66feafd5df132bd49618f2a3f57e8e6182eeb5fc commit 66feafd5df132bd49618f2a3f57e8e6182eeb5fc Author: Konstantin Belousov AuthorDate: 2026-06-09 01:14:06 +0000 Commit: Konstantin Belousov CommitDate: 2026-07-12 14:25:17 +0000 ntsync(9) report Reviewed by: salvadore Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D57932 --- .../en/status/report-2026-04-2026-06/ntsync.adoc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/ntsync.adoc b/website/content/en/status/report-2026-04-2026-06/ntsync.adoc new file mode 100644 index 0000000000..bd1beb8086 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/ntsync.adoc @@ -0,0 +1,17 @@ +=== NTSYNC(9) + +Contact: Konstantin Belousov + +Recently there was a stream of articles hyping the Linux driver ntsync which implemented a helper for Wine to accelerate Windows NT synchronization primitives. +The substrates to implement semaphores, mutexes, and events from the Win32 land are provided by it. +The driver represents each NT object as a file descriptor, which has the set of the ioctls defined that directly map into the Win32 operations. + +The project implemented the driver providing the compatible ntsync interface as specified in the Linux 7.0-rc3 document Documentation/userspace-api/ntsync.rst. +Both native FreeBSD interface, and the Linu ABI compatibility layers, are written. + +To test the driver, a minimal version of the Linux kernel test harness was ported. +FreeBSD driver follows the interface details as encoded by the tests, when a discrepancy between Linux documentation and tests was found. + +Both the driver and its man page man:ntsync(4) were written from scratch, without consulting the Linux source code. + +Sponsor: The FreeBSD Foundation From nobody Sun Jul 12 14:25:42 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gynt35gTkz6lRZw for ; Sun, 12 Jul 2026 14:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gynt359Nkz3qZF for ; Sun, 12 Jul 2026 14:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783866347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CgfoyM0yT6KUovRlsHydEdiXv0h81ZSOTdu/HDpBlk=; b=eiYrBYiKg4dMhq9Weo11+W0JZyq0w8d2o9h++50h/ny0ZJJ1rib7uUsc4Nj0PTQW0gAxYI xR+tiBquUPlZiu26jozWp7FkaGBF52G8+JsSZrDVfR1ZGVmYS0JxrU9NwV9Uxv0gJV/wcv aOG5klgB16YtW093cgaZnk7Xdk6NLbnV6DmFMf2Qvvt5jKAt7nz3F8TTTT/5zQyYI/Psbd IzXsZiMkyNja+W69tp0yv8Xsr9+yvQtSbmE0nJhyvXqeEwREyIl7r1KzJXdX7oCJm3AX6+ WzWMkMkFjBS7Zrmy70YD3kRU30c4qktpW8Nq2qsWMnMG3sWLl8maBr323i7EFA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783866347; a=rsa-sha256; cv=none; b=kRS55IA8RL2MnZzan84b4Cdti3EJLTqGd9NMQXaIsLWxo9dRiipfavHdxpe0Rlp8Ovj0j3 s7HYEHjQkKsXvjEu7FIfIH1O5bQxVAV2njxFjADKm6TazcaPk55Lw7rQoz/n4xo7aaF5r0 jpHb+jBLLzxonT6ej995Wv1UPRzl2BLyzYy8NosMdrhUC+Seli4CghZwpg0Oxrjfhl5CXF yvjJwC1L1/Bl8wB9Eu6F2+PElmxGzljyCnke8cvkLIlXFQDXaXnuYcJG+vllVXhdJlJNCF pOWCVlI9l50SPfJZ69MQuyipgUh4at5tr4y1ASX+uVQlav5Qlh3T/aA0rZbxFA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783866347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/CgfoyM0yT6KUovRlsHydEdiXv0h81ZSOTdu/HDpBlk=; b=qnEF6K9ENT5k7ElsHc6FN5hwKt2C3fyp3v82/aeyxfdps1flL8hV133uxJZATNIJLlmL+0 8fVU5YBmSNUNjmbpksakZPXSRfpML3kleOQjvvcUS+GYUheUTID7zM/Nbz8oo2TX06oCCs Q/00vrI5sOtn5GJY8iARSqr16ZeOhVousiKxUHQIRnY5/yXdq9Awiup77uXXDTJVNeqhND yMapHkY/GFz0Nn+ykGEAsFxlVq8fVBLiXhq9sLuNRzP58ZLVWZ/VMtWSUAMLzoQVuXtSo5 Z925/5Tnda6FxDvqLWp91qL8RsY84MJXrzHA0Uw5ufNgRfNad2VSUdHpncQ8FQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gynt33k7Xz1Yd for ; Sun, 12 Jul 2026 14:25:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 38e5e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 14:25:42 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Konstantin Belousov Subject: git: 2ac8002351 - main - pdopenpid(2)/pddupfd(2)/execblock report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2ac80023518f95ac2869935ecb3ca3bb90c678d4 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 14:25:42 +0000 Message-Id: <6a53a3e6.38e5e.6278b543@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/doc/commit/?id=2ac80023518f95ac2869935ecb3ca3bb90c678d4 commit 2ac80023518f95ac2869935ecb3ca3bb90c678d4 Author: Konstantin Belousov AuthorDate: 2026-06-09 01:14:36 +0000 Commit: Konstantin Belousov CommitDate: 2026-07-12 14:25:17 +0000 pdopenpid(2)/pddupfd(2)/execblock report Reviewed by: salvadore Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D57935 --- .../status/report-2026-04-2026-06/pdopenpid.adoc | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc b/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc new file mode 100644 index 0000000000..8439605cf7 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/pdopenpid.adoc @@ -0,0 +1,33 @@ +=== Process Descriptor API completion 2 + +Contact: Konstantin Belousov + +Links: + +link:https://reviews.freebsd.org/D57124[sys: add pdopenpid(2)] URL: link:https://reviews.freebsd.org/D57124[] + +link https://reviews.freebsd.org/D57163[pddupfd(2)] https://reviews.freebsd.org/D57163[] + +Following the addition of man:pdwait[2] and man:pdrfork[2] system calls, I looked at the other missing features that are requested by application programmers. +The largest feature asked for seems to be an ability to obtain a process descriptor for an existing process. + +Currently only one file descriptor may reference an internal struct procdesc in kernel, which in part explains why the interface to open the process by pid is not yet done. +The work added the ability for procdescs to be pointed to by more than one file. +Attributes controlling the procdesc behavior, e.g. the daemon (closing the file does not terminate the process) were moved from procdesc to the file. + +This change allowed to extend the procdesc internal interfaces to implement the man:pdopenid(2) system call. + +A facility implemented e.g. by the Linux pidfd descriptors is the pidfd_getfd() system call, that duplicates specified file descriptor from the target process, into the caller. +The implementation of it for FreeBSD, named man:pddupfd(2) is relatively straightforward once we get the fget_remote(9) helper. + +A problem with it started when the algorithm to check for privileges required to allow the operation was developed. +The kernel checks the result of p_candebug() to see if something should be allowed that directly accesses programming resources of the remote process. +But p_candebug() result is only valid while the target process lock is owned. +Besides, p_candebug() denies actions if the target process changes the executing program with man:execve(2), which might change the privileges of the process if the image is set-uid or set-gid. +Overall, this makes the plain check with p_candebug() inadequate, because we cannot own the process lock over fget_remote(). + +For that, a facility was developed that provides mutual exclusion for execing in the target process vs. the caller, called execblock. +Also, helpers to reference the current vmspace for a process were added, to avoid using execblock when only a consistent target address space is required for the action, like reading of the process strings or copying the process memory. +Existing places in system that are affected by the race were identified, and the usage of execblock or vmspace referencing interfaces applied as needed. + +Then, the man:pddupfd(2) was implemented with the help of fget_remote() and execblock. + +Sponsor: The FreeBSD Foundation From nobody Sun Jul 12 15:47:22 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyqhJ0mS9z6lXCy for ; Sun, 12 Jul 2026 15:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyqhJ0Vthz45x6 for ; Sun, 12 Jul 2026 15:47:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6QlZE/lz7IvvmUWmkKlmTCSfYEaFItIVevJYuvgtSU=; b=uxXHy7EC67p+rFIeAlkIFDRxhWWZtvx/7w9rUGjGX/yBGi4NROPky/ZeRy2/Qb74lx6ZJL 12H1o3w7DoUeaRQo0S/Ybu3ayZzq9TEgkQnZT38y7FEka+5mPXHu4QHQetZLNZk+WWBHXm t0kP8sLwYKhg7DdyWq1TkRAAQPrTz6gCU9LMI3fWFeum4BoDxobwAVEZkMN+tHTkEmPGNT tim3K9ijNZUp7b0bzTAs8SUmPAe9btGWhS/aAhzvq353LT7s566Bz2c9hP0KDlpn8jabO7 CatdeI/PEoSRiS2hYo0dPb0303m8hwpubjaS7DjlneYVffgB9dOlTkPDN6ojJw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783871248; a=rsa-sha256; cv=none; b=vvpVBJVFNdbH8RyZ/cw3r+YtmYB9a9MapFprnqdHuXN5N1LfS62POUIh76O+gexYITw/0K zi/8b0/wPSOzDNOfBQixojU6zLOHqfg5c9tDVXnD2W2h08B93nB8W2Y3fnpVVjd55Q6qBl up9JqgazwmhRFwkG8GKRaph8MhfeTrqJgsWOoZkEkQFRHcBHdIkBqrvaOJs3kbgABrSvb5 AO/KGyOIjzemUQezJPTpTsPuhS9wh90zilV1xZRliaXspxVihcLC4F2oT9L/zCQKTKtpkD IcIEXSrCYqG4zqKh32l4GvkWp23TmllNI5eTe+9BLCNEx8WPefI0ng8+IdrsYA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871248; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=C6QlZE/lz7IvvmUWmkKlmTCSfYEaFItIVevJYuvgtSU=; b=w9A2zjqg3PDQfERT6TURRZ3LepNBsld4THJSdCoHJq+fZZAxPwJ4PlOZKEsjaBUqlM6drY Z9X3S69k5ILIZbTrYdu/i1QmKds64D5NeI8Suh8XY21GAT6j3Ltkwj6E4qc2wozdsVe0LG E2Tzui3WpwRb74zFOGAl4+hpZuQgofOTCXu++qZx3N9aYJdKnjA4MyclhmUd0fTiVhB48n VXEYglEqIg7y17nlHU593uwW+wN5uUF4U8wnhI8URqhMiOJe+VSwT3lw1WGzoFhIs2g4Dz ACihAGc2VvbC58tbFszuD/O7BfryeQXCM7YgRCKNvn3wxZadDKHccFd+BqzwoQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyqhH6Hdxz3Y3 for ; Sun, 12 Jul 2026 15:47:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4023c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 15:47:22 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Sergio Carlavilla Delgado Subject: git: 56ba04a704 - main - Handbook - Jails: Upgrade chapter List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: carlavilla X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 56ba04a704e911e7f8f87be271f31f1dedc8f793 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 15:47:22 +0000 Message-Id: <6a53b70a.4023c.69d39cda@gitrepo.freebsd.org> The branch main has been updated by carlavilla: URL: https://cgit.FreeBSD.org/doc/commit/?id=56ba04a704e911e7f8f87be271f31f1dedc8f793 commit 56ba04a704e911e7f8f87be271f31f1dedc8f793 Author: Sergio Carlavilla Delgado AuthorDate: 2026-07-12 15:45:35 +0000 Commit: Sergio Carlavilla Delgado CommitDate: 2026-07-12 15:45:35 +0000 Handbook - Jails: Upgrade chapter * Improve top-level sections * Add NAT/port forwarding, administration from inside a jail, more jail options and jails with OpenZFS * Improve host network preparation, jail.conf and userland sources Approved by: arrowd@, bcr@ Differential Revision: D58173 --- .../content/en/books/handbook/jails/_index.adoc | 1348 ++++++++++++++++++-- 1 file changed, 1256 insertions(+), 92 deletions(-) diff --git a/documentation/content/en/books/handbook/jails/_index.adoc b/documentation/content/en/books/handbook/jails/_index.adoc index 49f38720b2..2d805fdaa2 100644 --- a/documentation/content/en/books/handbook/jails/_index.adoc +++ b/documentation/content/en/books/handbook/jails/_index.adoc @@ -80,9 +80,13 @@ This chapter covers: * The different ways to configure the network for a jail. * The jail configuration file. * How to create the different types of jail. +* How to configure network address translation for jails. * How to start, stop, and restart a jail. * The basics of jail administration, both from inside and outside the jail. * How to upgrade the different types of jail. +* How to limit the resources a jail can use. +* The additional per-jail security and feature options. +* How to delegate ZFS datasets to a jail. * An incomplete list of the different FreeBSD jail managers. [[jail-types]] @@ -116,10 +120,13 @@ Disadvantages of Thick Jails: [[thin-jails]] === Thin Jails -A thin jail shares the base system using OpenZFS snapshots or NullFS mounts from a template. -Only a minimal subset of base system is duplicated for each thin jail, resulting in less resource consumption compared to a thick jail. -However, this also means that thin jails have less isolation and independence compared to thick jails. -Changes in shared components could potentially affect multiple thin jails simultaneously. +A thin jail shares the base system from a template, using either OpenZFS snapshots or NullFS mounts. +Only a minimal subset of the base system is duplicated for each thin jail, resulting in less resource consumption compared to a thick jail. +The two mechanisms behave differently once the jails exist. +With the OpenZFS method, each thin jail is created as a clone of a template snapshot: an independent copy-on-write copy that shares unchanged blocks with the template but diverges as it is modified. +Later changes to the template do not propagate to existing clones, and each clone is maintained and updated individually, much like a thick jail. +With the NullFS method, each thin jail mounts the template read-only at runtime, so the base system is shared live and updating the template updates every jail that mounts it. +This shared, read-only base is also what gives NullFS thin jails less isolation and independence than thick jails, since changes in the shared components affect every jail using them simultaneously. In summary, a FreeBSD Thin Jail is a type of FreeBSD Jail that replicates a substantial portion, but not all, of the base system within the isolated environment. @@ -130,15 +137,16 @@ Since they share most of the base system, they consume less disk space and memor This makes it possible to run more jails on the same hardware without consuming excessive resources. * Faster Deployment: Creating and launching thin jails is generally faster compared to thick jails. This can be particularly advantageous when rapidly deploying multiple instances. -* Unified Maintenance: Since thin jails share the majority of their base system with the host system, updates and maintenance of common base system components (such as libraries and binaries) only need to be done once on the host. +* Unified Maintenance: With the NullFS method, where the thin jails share a single read-only copy of the base system, updates and maintenance of common base system components (such as libraries and binaries) only need to be done once on the template. This simplifies the maintenance process compared to maintaining an individual base system for each thick jail. +OpenZFS-clone thin jails do not share this benefit: because each clone is independent, updates must be applied to each jail individually, as with a thick jail. * Shared Resources: Thin jails can more easily share common resources such as libraries and binaries with the host system. This can potentially lead to more efficient disk caching and improved performance for applications within the jail. Disadvantages of Thin Jails: * Reduced Isolation: The primary disadvantage of thin jails is that they offer less isolation compared to thick jails. -Since they share a significant portion of the template's base system, vulnerabilities or issues affecting shared components could potentially impact multiple jails simultaneously. +With the NullFS method in particular, jails share a live copy of the template's base system, so vulnerabilities or issues affecting those shared components could potentially impact multiple jails simultaneously. * Security Concerns: The reduced isolation in thin jails could pose security risks, as a compromise in one jail might have a greater potential to affect other jails or the host system. * Dependency Conflicts: If multiple thin jails require different versions of the same libraries or software, managing dependencies can become complex. In some cases, this might require additional effort to ensure compatibility. @@ -150,7 +158,7 @@ In some cases, this might require additional effort to ensure compatibility. A service jail shares the complete filesystem tree directly with the host (the jail root path is [.filename]#/#) and as such can access and modify any file on the host, and shares the same user accounts with the host. By default it has no access to the network or other resources which are restricted in jails, but they can be configured to re-use the network of the host and to remove some of the jail-restrictions. The use case for service jails is automatic confinement of services/daemons inside a jail with minimal configuration, and without any knowledge of the files needed by such service/daemon. -Service jails exist since FreeBSD 15. +Service jails are available since FreeBSD 15.0. Advantages of Service Jails: @@ -168,7 +176,7 @@ Disadvantages of Service Jails: Most of the configuration of jails which is discussed below is not needed for service jails. To understand how jails work, it is recommended to understand those configuration possibilities. -The details about what is needed to configure a service jail is in crossref:jails[service-jails-config, Configuring service jails]. +The details about what is needed to configure a service jail are in the crossref:jails[service-jails-config, Service Jails] section. [[vnet-jails]] === VNET Jails @@ -217,15 +225,42 @@ To start jails when the system boots, run the following commands: With `jail_parallel_start`, all configured jails will be started in the background. ==== +By default every jail with an entry in the configuration files is started at boot. +To start only selected jails, list their names in `jail_list`: + +[source,shell] +.... +# sysrc jail_list="www db" +.... + +The names in `jail_list` are separated by spaces and must match the jail names defined in [.filename]#/etc/jail.conf# or [.filename]#/etc/jail.conf.d/#. +Only the listed jails are started at boot, and they are started in the order given, so any jail left out of `jail_list` has to be started by hand. +When `jail_list` is left empty, all jails defined in the configuration files are started. + +To stop the jails in the reverse of their `jail_list` order at shutdown, set `jail_reverse_stop`: + +[source,shell] +.... +# sysrc jail_reverse_stop="YES" +.... + +[NOTE] +==== +With `jail_parallel_start` enabled, jails start in the background and the `jail_list` order is no longer guaranteed. +When one jail must be running before another starts, express that relationship with the `depend` parameter in [.filename]#/etc/jail.conf# instead of relying on list order. +A jail's dependencies are created automatically before it starts, and stopped in the opposite order, regardless of `jail_list`. +The `depend` parameter is described in crossref:jails[jail-configuration-files,Jail Configuration Files]. +==== + [[jails-networking]] === Networking Networking for FreeBSD jails can be configured several different ways: Host Networking Mode (IP Sharing):: -In host networking mode, a jail shares the same networking stack as the host system. -When a jail is created in host networking mode it uses the same network interface and IP address. -This means that the jail does not have a separate IP address, and its network traffic is associated with the host's IP. +In host networking mode a jail shares the host's network stack instead of receiving its own. +Sharing the stack does not mean sharing the address: the common setup gives the jail its own dedicated `ip4.addr` (and `ip6.addr`) that man:jail[8] adds as an alias on the host interface, so the jail and the host answer on different addresses over the same stack. +Only a jail configured with `ip4 = inherit` shares the host's addresses wholesale and answers on the host's own address, gaining unrestricted access to every address the host holds. Virtual Networks (VNET):: Virtual Networks are a feature of FreeBSD jails that offer more advanced and flexible networking solutions than a basic networking mode like host networking. @@ -236,6 +271,74 @@ The netgraph system:: man:netgraph[4] is a versatile kernel framework for creating custom network configurations. It can be used to define how network traffic flows between jails and the host system and between different jails. +[[jail-ip-comes-from]] +==== Where a Jail's IP Address Comes From + +A shared-stack jail reaches the network through an address on a host interface. +The `interface` parameter names that interface, and for every address in `ip4.addr` and `ip6.addr` man:jail[8] manages the alias itself: as jail(8) puts it, "an alias for each address will be added to the interface before the jail is created, and will be removed from the interface after the jail is removed". +Nothing on the host has to pre-configure the address. + +The interface can also be given per address, so a single line ties an address to the interface that should carry it: + +[.programlisting] +.... +ip4.addr = "em0|192.168.1.151/24"; +.... + +When an address must persist independently of the jail — because another service on the host relies on it, or because the `interface` parameter is not used — assign it on the host as an rc.conf alias and leave it out of jail(8)'s management: + +[source,shell] +.... +# sysrc ifconfig_em0_aliases="inet 192.168.1.151/32" +.... + +The older, numbered form `ifconfig_em0_alias0="inet 192.168.1.151/32"` still works, but the `_aliases` form is preferred for new configurations because it avoids the fragile requirement that the numbered aliases form an unbroken `alias0`, `alias1`, `alias2` sequence. + +[[loopback-addresses-shared-ip-Jails]] +==== Loopback Addresses in Shared-IP Jails + +A shared-stack jail has no loopback interface of its own. +The FreeBSD kernel compensates for this: in a non-VNET jail, whenever `127.0.0.1` or `::1` is not itself one of the jail's own addresses, the kernel silently rewrites both `bind()` and `connect()` on the loopback address to the jail's first `ip4.addr` or `ip6.addr`. +This behavior is not documented in man:jail[8], but it matters, because it carries a security consequence. + +[WARNING] +==== +Do not assume that binding a service to `localhost` confines it to the jail. +In a shared-IP jail a daemon told to listen on `127.0.0.1` actually binds the jail's first address, which is frequently a LAN-facing one, and so becomes reachable from the network. +==== + +The standard mitigation is to give the jail a private loopback address and list it first. +Clone a dedicated loopback interface on the host and assign it an address in the `127.0.0.0/8` range (or a private RFC 1918 address): + +[source,shell] +.... +# sysrc cloned_interfaces="lo1" +# sysrc ifconfig_lo1="inet 127.0.1.1/32" +.... + +Then list that address first in the jail's `ip4.addr`, ahead of any routable address, so the loopback remap lands on the private address instead of a LAN-facing one. + +[[preparing-host-services]] +==== Preparing Host Services + +Each jail alias address shares the host's ports. +A host daemon bound to the wildcard address — shown as `*:port` in listener listings — is therefore listening on every jail alias too, and it occupies that port before a jail's own service can claim it. +Before starting any jails, audit what the host already listens on: + +[source,shell] +.... +# sockstat -4 -6 -l +.... + +Restrict each daemon that binds a wildcard address so it uses only the host's own address and leaves the jail addresses free: + +* man:syslogd[8]: set `syslogd_flags="-ss"` in [.filename]#/etc/rc.conf#. +A single `-s` already runs syslogd in secure mode so it does not listen for remote log messages; per syslogd(8), if `-s` "is specified twice, no network socket will be opened at all", which also stops syslogd from sending to remote hosts. +* man:sshd[8]: pin `ListenAddress` to the host's address in [.filename]#/etc/ssh/sshd_config# instead of leaving it on the default wildcard. +* man:ntpd[8] and man:sendmail[8]: bind them to the host address as well through their own configuration. + +For firewall-level control over which addresses a jail may use, see crossref:firewalls[firewalls,Firewalls]. + [[host-configuration-directories]] === Setting Up the Jail Directory Tree @@ -265,6 +368,9 @@ When using OpenZFS, execute the following commands to create datasets for these In this case, `zroot` was used for the parent dataset, but other datasets could have been used. ==== +Creating a separate child dataset per jail is what later enables per-jail snapshots, clones, quotas, and dataset delegation. +Because each jail directory is then its own dataset, OpenZFS can both cap and guarantee its disk use with the `quota` and `reservation` properties; see crossref:jails[jail-resource-limits,Jail Resource Limits]. + When using UFS, execute the following commands to create the directories: [source,shell] @@ -314,7 +420,7 @@ jailname { <.> # NETWORK ip4.addr = 192.168.1.151; <.> - ip6.addr = ::ffff:c0a8:197 <.> + ip6.addr = "2001:db8::151"; <.> interface = em0; <.> } .... @@ -328,21 +434,138 @@ A typical command to run is "/bin/sh /etc/rc.shutdown". <.> `allow.raw_sockets` - Allow creating raw sockets inside the jail. Setting this parameter allows utilities like man:ping[8] and man:traceroute[8] to operate inside the jail. <.> `exec.clean` - Run commands in a clean environment. -<.> `mount.devfs` - Mount a man:devfs[5] filesystem on the chrooted [.filename]#/dev# directory, and apply the ruleset in the devfs_ruleset parameter to restrict the devices visible inside the jail. +<.> `mount.devfs` - Mount a man:devfs[5] filesystem on the chrooted [.filename]#/dev# directory to restrict the devices visible inside the jail. +It applies the ruleset named by the `devfs_ruleset` parameter, or, when that parameter is left at its default of `0`, the `mount.devfs` fallback of ruleset 4, `devfsrules_jail`, which hides every host device except a minimal, jail-safe set (see crossref:jails[jail-conf-devfs, Devfs Rulesets]). <.> `host.hostname` - The hostname of the jail. <.> `path` - The directory which is to be the root of the jail. Any commands that are run inside the jail, either by jail or from man:jexec[8], are run from this directory. -<.> `ip4.addr` - IPv4 address. -There are two configuration possibilities for IPv4. -The first is to establish an IP or a list of IPs as has been done in the example. -The other is to use `ip4` instead and set the `inherit` value to inherit the host's IP address. -<.> `ip6.addr` - IPv6 address. -There are two configuration possibilities for IPv6. -The first is to establish an IP or a list of IPs as has been done in the example. -The other is to use `ip6` instead and set the `inherit` value to inherit the host's IP address. +<.> `ip4.addr` - One IPv4 address, or a comma-separated list of addresses, assigned to the jail. +Setting `ip4.addr` implies `ip4 = new`; `ip4` itself is not left at a standalone default. +The `ip4` parameter accepts three values: `new` restricts the jail to the addresses listed in `ip4.addr`, `inherit` gives the jail unrestricted access to every IPv4 address of the host, and `disable` turns off IPv4 in the jail entirely. +A jail with neither `ip4` nor `ip4.addr` set behaves like `inherit`, and `interface` and `ip4.addr` have no effect under `inherit`. +In a jail with several addresses, `ip4.saddrsel` lets the kernel choose the source address for outgoing connections on unbound sockets, while `ip4.nosaddrsel` forces the first address in the list. +<.> `ip6.addr` - One IPv6 address, or a comma-separated list of addresses, assigned to the jail. +The `ip6` parameter takes the same `new`, `inherit`, and `disable` values as `ip4`, with `ip6.saddrsel` and `ip6.nosaddrsel` controlling source-address selection. +Use `ip6 = disable` for an IPv4-only jail, or `ip4 = disable` for an IPv6-only one. <.> `interface` - A network interface to add the jail's IP addresses. Usually the host interface. +[NOTE] +==== +A jail has no virtual console: man:init[8] and man:getty[8] do not run inside it, so there is nothing to attach to interactively. +The `exec.consolelog` file captures only the standard output and standard error of the `exec.*` commands, that is, the output of the [.filename]#/etc/rc# startup and [.filename]#/etc/rc.shutdown# scripts. +It is not an interactive console; for that, use man:jexec[8] (see crossref:jails[access-jail, Access a Jail]) or run man:sshd[8] inside the jail. +The jail's own daemons send their later output to the jail's syslog. +==== + +[TIP] +==== +The `exec.consolelog` files grow without bound. +Rotate them with man:newsyslog[8] by adding a single glob entry, for example in [.filename]#/etc/newsyslog.conf.d/jail#: + +[.programlisting] +.... +/var/log/jail_console_*.log 640 7 100 * J +.... +==== + +[[global-settings-wildcards-variables]] +==== Global Settings, Wildcards and Variables + +Parameters set outside any jail block are wildcard defaults: man:jail.conf[5] applies them to every jail, exactly as if they were written in a `*` wildcard section. +Setting the shared parameters once keeps each jail block short. + +A name preceded by a dollar sign, and optionally enclosed in braces, is replaced with the value of that parameter or variable. +The built-in `${name}` expands to the jail's own name, and a custom variable is defined just like a parameter but with a leading dollar sign. + +The following [.filename]#/etc/jail.conf# defines a common header once and overrides only what differs per jail: + +[.programlisting] +.... +# Shared defaults applied to every jail +exec.start = "/bin/sh /etc/rc"; +exec.stop = "/bin/sh /etc/rc.shutdown"; +exec.consolelog = "/var/log/jail_console_${name}.log"; +exec.clean; +mount.devfs; +host.hostname = "${name}"; +path = "/usr/local/jails/containers/${name}"; +interface = em0; + +www { + ip4.addr = 192.168.1.151; +} + +db { + host.hostname = "database.example.com"; + ip4.addr = 192.168.1.152; +} +.... + +Here `www` inherits everything from the header and sets only its address, while `db` also overrides `host.hostname`. + +[[jail-conf-hooks]] +==== Command Hooks + +man:jail[8] runs a jail through a sequence of lifecycle hooks, and it matters whether each one runs in the host environment or inside the jail. +In creation order: + +`exec.prestart`:: Runs in the host environment before the jail is created. +`exec.created`:: Runs in the host environment after the jail exists but before any process starts inside it. +`exec.start`:: Runs inside the jail, typically `/bin/sh /etc/rc` to bring up its services. +`exec.poststart`:: Runs in the host environment after the jail has started. + +Shutdown runs the mirror image: + +`exec.prestop`:: Runs in the host environment before the jail is stopped. +`exec.stop`:: Runs inside the jail, typically `/bin/sh /etc/rc.shutdown`. +`exec.poststop`:: Runs in the host environment after the jail has stopped, to tear down whatever `exec.prestart` set up. + +A hook may be assigned more than one command by appending with `+=`: + +[.programlisting] +.... +exec.poststart += "logger jail ${name} started"; +.... + +`exec.timeout` caps how long man:jail[8] waits for a command to finish, and `exec.consolelog` captures the output of these commands. +The VNET section (crossref:jails[creating-vnet-jail, VNET Jails]) uses `exec.prestart` and `exec.poststop` to build and tear down each jail's network plumbing on the host. + +Where hooks order commands within a single jail, the `depend` parameter orders whole jails. +Writing `depend = otherjail;` tells man:jail[8] that this jail requires `otherjail`: the dependency is created first, up to the completion of its last `exec.poststart` command, before this jail is created, and the jails are torn down in the reverse order. + +[[jail-conf-devfs]] +==== Devfs Rulesets + +Every jail that sets `mount.devfs` gets a devfs ruleset that decides which device nodes appear under its [.filename]#/dev#, either the one named by the `devfs_ruleset` parameter or, when that parameter is unset, the `mount.devfs` default of ruleset 4. +man:devfs.rules[5] defines named rulesets in [.filename]#/etc/defaults/devfs.rules#. +Two of them are meant for jails: `devfsrules_jail`, ruleset 4, is the standard minimal device set for a jail, and `devfsrules_jail_vnet`, ruleset 5, adds [.filename]#/dev/pf# so a VNET jail can run its own firewall. +The VNET jail examples set `devfs_ruleset = 5` and the Linux jail example sets `devfs_ruleset = 4`; the classic and thin-jail examples set only `mount.devfs` and so use its default of ruleset 4. + +To expose an extra device, write a custom ruleset in [.filename]#/etc/devfs.rules# that includes one of the stock rulesets and unhides what it needs. +The following ruleset starts from `devfsrules_jail` and additionally unhides the man:bpf[4] devices: + +[.programlisting] +.... +[devfsrules_jail_bpf=100] +add include $devfsrules_jail +add path 'bpf*' unhide +.... + +Reload the rules, then reference the new ruleset by its number in the jail's configuration: + +[source,shell] +.... +# service devfs restart +.... + +[.programlisting] +.... +devfs_ruleset = 100; +.... + +Rulesets in [.filename]#/etc/devfs.rules# override same-numbered rulesets in [.filename]#/etc/defaults/devfs.rules#; otherwise the two files are effectively merged. + More information about configuration variables can be found in man:jail[8] and man:jail.conf[5]. [[classic-jail]] @@ -362,7 +585,7 @@ Execute the following command to download the userland: [source,shell,subs=attributes] .... -# fetch https://download.freebsd.org/ftp/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz +# fetch https://download.freebsd.org/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz .... Once the download is complete, it will be necessary to extract the contents into the jail directory. @@ -427,6 +650,117 @@ Execute the following command to start the jail: More information on how to manage jails can be found in the section crossref:jails[jail-management, Jail Management]. +[[creating-jail-userland]] +=== Obtaining the Jail Userland + +The fetch-and-extract procedure shown above is the traditional way to populate a jail's root directory, but it is not the only one. +The same userland can be installed with man:bsdinstall[8], from base-system packages, or from a locally built source tree. + +man:bsdinstall[8] provides a dedicated `jail` target that sets up a new userland at the given directory for use with man:jail[8]. +It fetches and extracts the distribution sets without installing a kernel, skipping the disk partitioning and network steps of a normal installation, which makes it a one-command, scriptable alternative to the manual fetch and man:tar[1] sequence: + +[source,shell] +.... +# bsdinstall jail /usr/local/jails/containers/classic +.... + +The `jail` target installs the base distribution ([.filename]#base.txz#) by default. +On FreeBSD 15.0 and later man:bsdinstall[8] can also populate the root from base-system packages with its `pkgbase` target; the pkg-based method is described next. + +Starting with FreeBSD 15.0 the base system is also published as packages, so a jail userland can be installed entirely with man:pkg[8] from the `FreeBSD-base` repository. +Point man:pkg[8] at the jail's root directory with the global `--rootdir` option and install the jail variant of the base set: + +[source,shell] +.... +# pkg --rootdir /usr/local/jails/containers/classic install -r FreeBSD-base FreeBSD-set-base-jail +.... + +Use `FreeBSD-set-minimal-jail` instead of `FreeBSD-set-base-jail` for a minimal userland. +A jail installed this way is afterwards patched and upgraded with man:pkg[8] rather than man:freebsd-update[8]; see crossref:jails[jail-upgrade-pkgbase, Upgrading pkgbase Jails]. + +[NOTE] +==== +Base-system packages are a technology preview in FreeBSD 15.0. +The `FreeBSD-base` repository is defined in [.filename]#/etc/pkg/FreeBSD.conf# but disabled by default, so select it explicitly with `install -r FreeBSD-base`. +The target root directory and its [.filename]#var/cache/pkg# and [.filename]#var/db/pkg# subdirectories may need to be created first. +The traditional [.filename]#base.txz# distribution is still published for FreeBSD 15.0, so the fetch-and-extract method continues to work there as well. +==== + +A userland built from a source tree can be installed into a jail's root directory with the `DESTDIR` variable, which is the way to run a `-STABLE` or custom-built userland in a jail. +After building the world, install it and the remaining distribution files into the jail directory: + +[source,shell] +.... +# cd /usr/src +# make buildworld +# make installworld DESTDIR=/usr/local/jails/containers/classic +# make distribution DESTDIR=/usr/local/jails/containers/classic +.... + +`make distribution` installs the default configuration files under the jail's [.filename]#/etc# and is run only once, when populating the jail; repeating it during an update would overwrite the configuration inside the jail. +To update such a jail from source, follow the same sequence as for the host: run `installworld` with the same `DESTDIR`, merge the configuration files with `etcupdate -D` pointed at the jail's root directory, and remove obsolete files and libraries with `make delete-old delete-old-libs`, again with the same `DESTDIR`, rather than using man:freebsd-update[8]. +See crossref:cutting-edge[makeworld, Updating FreeBSD from Source] for the complete source-update procedure. + +[[classic-jail-clone]] +=== Cloning a Jail as a Template + +Once a thick jail is fully configured, with packages installed, services enabled, and local configuration in place, it can serve as a template image: a template from which many identical jails are deployed almost instantly. + +On OpenZFS this is done by snapshotting the configured jail's dataset and cloning it. +This requires the source jail to live on its own dataset, so create it with `zfs create` rather than the `mkdir` used in the classic-jail procedure above: + +[source,shell] +.... +# zfs create -p zroot/jails/containers/classic +.... + +Stop the jail before snapshotting so the image is consistent, then snapshot and clone the dataset once for each new jail: + +[source,shell] +.... +# service jail stop classic +# zfs snapshot zroot/jails/containers/classic@template +# zfs clone zroot/jails/containers/classic@template zroot/jails/containers/web1 +.... + +On a UFS host, copy the configured jail's directory tree instead: + +[source,shell] +.... +# cp -a /usr/local/jails/containers/classic /usr/local/jails/containers/web1 +.... + +Each clone needs its own entry in [.filename]#/etc/jail.conf#, or in [.filename]#jail.conf.d#, with a unique name, path, and IP address. +Because the `path` and `host.hostname` parameters in the example above are derived from the block name with `${name}`, only the block name and the address differ: + +[.programlisting] +.... +web1 { + # STARTUP/LOGGING + exec.start = "/bin/sh /etc/rc"; + exec.stop = "/bin/sh /etc/rc.shutdown"; + exec.consolelog = "/var/log/jail_console_${name}.log"; + + # PERMISSIONS + allow.raw_sockets; + exec.clean; + mount.devfs; + + # HOSTNAME/PATH + host.hostname = "${name}"; + path = "/usr/local/jails/containers/${name}"; + + # NETWORK + ip4.addr = 192.168.1.152; + interface = em0; +} +.... + +A template-image clone differs from a thin jail (crossref:jails[thin-jail, Thin Jails]). +A thin jail keeps sharing a read-only base and is maintained once at the template, whereas each template-image clone is a full, independently writable copy that is patched and upgraded on its own as described in crossref:jails[jail-upgrading, Jail Upgrading]. +An OpenZFS clone starts as a space-efficient copy-on-write copy that shares blocks with the snapshot, and it keeps a dependency on that origin snapshot until `zfs promote` severs it. +For a fully independent copy, or to replicate a jail to another pool or host, use `zfs send` piped to `zfs receive` instead of `zfs clone`. + [[thin-jail]] == Thin Jails @@ -440,7 +774,7 @@ such as being able to create them faster from snapshots or being able to update Due to the good integration between FreeBSD and OpenZFS it is very easy to create new Thin Jails using OpenZFS Snapshots. -To create a Thin Jail using OpenZFS Snapshots the first step is to create the jail directory tree by following the instructions in crossref:jails[host-configuration-directories, "Setting up the Jail Directory Tree"]. +To create a Thin Jail using OpenZFS Snapshots the first step is to create the jail directory tree by following the instructions in crossref:jails[host-configuration-directories, "Setting Up the Jail Directory Tree"]. Next, create a template. Templates will only be used to create new jails. @@ -457,7 +791,7 @@ Then execute the following command to download the userland: [source,shell,subs=attributes] .... -# fetch https://download.freebsd.org/ftp/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz +# fetch https://download.freebsd.org/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz .... Once the download is complete, it will be necessary to extract the contents in the template directory by executing the following command: @@ -561,7 +895,7 @@ Then execute the following command to download the userland: [source,shell,subs=attributes] .... -# fetch https://download.freebsd.org/ftp/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz +# fetch https://download.freebsd.org/releases/amd64/amd64/{rel-latest}-RELEASE/base.txz -o /usr/local/jails/media/{rel-latest}-RELEASE-base.txz .... Once the download is complete, it will be necessary to extract the contents in the template directory by executing the following command: @@ -685,7 +1019,7 @@ thinjail { } .... -Then the create the [.filename]#/usr/local/jails/thinjail-nullfs-base.fstab# file as follows: +Then create the [.filename]#/usr/local/jails/thinjail-nullfs-base.fstab# file as follows: [.programlisting,subs=attributes] .... @@ -693,6 +1027,11 @@ Then the create the [.filename]#/usr/local/jails/thinjail-nullfs-base.fstab# fil /usr/local/jails/containers/thinjail /usr/local/jails/thinjail-nullfs-base/skeleton nullfs rw 0 0 .... +The [.filename]#fstab# file controls how man:mount_nullfs[8] presents the base template and the skeleton inside the jail. +The base template is mounted read-only (`ro`) so that every NullFS jail shares one immutable copy of the base system. +The per-jail skeleton is mounted read-write (`rw`), which is where each jail keeps its own writable [.filename]#/etc#, [.filename]#/var#, [.filename]#/usr/local#, and other local directories. +Because all jails share that single read-only base template, updating the one template updates every NullFS jail at once, in contrast to independent OpenZFS clones which must each be updated separately. + Execute the following command to start the jail: [source,shell] @@ -701,7 +1040,7 @@ Execute the following command to start the jail: .... [[creating-vnet-jail]] -=== Creating a VNET Jail +== VNET Jails FreeBSD VNET Jails have their own distinct networking stack, including interfaces, IP addresses, routing tables, and firewall rules. @@ -719,6 +1058,14 @@ The output should be similar to the following: bridge0 .... +[WARNING] +==== +Assigning an IP address to an interface that is a member of a bridge is deprecated. +Assign the host's address to `bridge0` itself rather than to `em0`, exactly as the [.filename]#/etc/rc.conf# block below does. +Such configurations keep working for now: FreeBSD 15.0 logs a kernel warning when an interface that carries an address is added to a bridge, and refuses it with `EINVAL` only when the `net.link.bridge.member_ifaddrs` sysctl is changed from its default of `1` to `0`. +man:bridge[4] announces the removal of this sysctl in FreeBSD 16.0, after which addresses on bridge members will no longer be permitted. +==== + With the `bridge` created, it will be necessary to attach it to the `em0` interface and bring both of them up by executing the following commands: [source,shell] @@ -741,7 +1088,7 @@ For more information on bridging, see crossref:advanced-networking[network-bridg The next step is to create the jail as indicated above. -Either the crossref:jails[classic-jail, Classic Jail (Thick Jail)] procedure and the +Either the crossref:jails[classic-jail, Classic Jail (Thick Jail)] procedure or the crossref:jails[thin-jail, Thin Jails] procedure can be used. The only thing that will change is the configuration in the [.filename]#/etc/jail.conf# file. @@ -782,20 +1129,85 @@ vnet { exec.prestart += "/sbin/ifconfig ${bridge} addm ${epair}a up"; exec.start += "/sbin/ifconfig ${epair}b ${ip} up"; exec.start += "/sbin/route add default ${gateway}"; - exec.start += "/bin/sh /etc/rc"; - exec.stop = "/bin/sh /etc/rc.shutdown"; + exec.start += "/bin/sh /etc/rc"; + exec.stop = "/bin/sh /etc/rc.shutdown"; exec.poststop = "/sbin/ifconfig ${bridge} deletem ${epair}a"; exec.poststop += "/sbin/ifconfig ${epair}a destroy"; } .... -<.> Represents the IP of the Jail, it must be *unique*. +<.> A per-jail *unique* number used to derive both the epair device name (`epair${id}`) and the last octet of the jail's address (`192.168.1.${id}`); give each jail on the bridge a different value. <.> Refers to the bridge created previously. +The `vnet.interface` parameter names the interface that man:jail[8] moves into the jail's network stack once the jail is created, here the jail side of the epair, `${epair}b`. +That interface disappears from the host while the jail runs and is automatically released back to the host when the jail stops. +A physical network card or an SR-IOV virtual function can be handed to a jail the same way, giving it dedicated networking without a bridge or an epair. + +The `devfs_ruleset = 5` line applies the `devfsrules_jail_vnet` ruleset from [.filename]#/etc/defaults/devfs.rules#, which extends the default jail ruleset by exposing [.filename]#/dev/pf#. +A VNET jail can therefore run its own man:pf[4] firewall with `pf_enable="YES"` and a private [.filename]#pf.conf#, independent of the host. +See crossref:jails[jail-conf-devfs, Devfs Rulesets] for how rulesets are defined and crossref:firewalls[firewalls, Firewalls] for pf itself. + +[[jail-vnet-jib]] +=== Automating VNET Networking with jib + +Wiring up an epair and attaching it to the bridge by hand in `exec.prestart` and `exec.poststop`, as shown above, becomes tedious across many jails. +The base system ships a helper script, [.filename]#/usr/share/examples/jails/jib#, that performs the same plumbing automatically. + +Reference it from the jail's hooks instead of the five hand-rolled man:ifconfig[8] lines: + +[.programlisting] +.... + exec.prestart += "jib addm ${name} em0"; + exec.poststop += "jib destroy ${name}"; + + vnet.interface = "e0b_${name}"; +.... + +`jib addm` creates an epair whose host side is named `e0a_` and whose jail side is `e0b_`, then attaches the host side to a bridge that it creates automatically, named after the member interface (for `em0` the bridge is `em0bridge`). +Name that jail side in `vnet.interface`. +When the jail stops, `jib destroy` removes the epair. +The script also provides a `jib show` subcommand to list the interfaces it manages. + +[[jail-vnet-jng]] +=== Netgraph VNET Networking with jng + +The third networking mode mentioned in the crossref:jails[jails-networking, Networking] overview uses man:netgraph[4] instead of man:bridge[4] and epair. +The base system ships a second helper, [.filename]#/usr/share/examples/jails/jng#, that builds an `ng_bridge` connected to an `ng_eiface` for each jail: + +[.programlisting] +.... + exec.prestart += "jng bridge ${name} em0"; + exec.poststop += "jng shutdown ${name}"; + + vnet.interface = "ng0_${name}"; +.... + +`jng bridge` creates the netgraph nodes and a jail-side interface named `ng0_`, which is named in `vnet.interface`; `jng shutdown` tears the topology down when the jail stops. +The result is functionally equivalent to the epair-and-bridge setup, but built on netgraph nodes rather than man:bridge[4]. + +[[jail-vnet-firewall]] +=== Running a Firewall and DHCP inside a VNET Jail + +Because `devfs_ruleset = 5` exposes [.filename]#/dev/pf#, a VNET jail can run its own firewall. +Enable it inside the jail exactly as on any host, with `pf_enable="YES"` in the jail's [.filename]#/etc/rc.conf# and its own [.filename]#/etc/pf.conf#. + +Ruleset 5 does not expose [.filename]#/dev/bpf#, however. +A VNET jail that obtains its address over DHCP, for example with `ifconfig_e0b_myjail="SYNCDHCP"` in its [.filename]#/etc/rc.conf#, runs man:dhclient[8], which needs bpf and therefore fails under ruleset 5. +Following the recipe in crossref:jails[jail-conf-devfs,Devfs Rulesets], define a custom ruleset in [.filename]#/etc/devfs.rules# that starts from `devfsrules_jail_vnet` and additionally unhides the bpf devices: + +[.programlisting] +.... +[devfsrules_jail_vnet_dhcp=101] +add include $devfsrules_jail_vnet +add path 'bpf*' unhide +.... + +After running `service devfs restart` on the host, point the jail at the new ruleset with `devfs_ruleset = 101;`. + [[creating-linux-jail]] -=== Creating a Linux Jail +== Linux Jails -FreeBSD can run Linux inside a jail using crossref:linuxemu[linuxemu,Linux Binary Compatibility] and man:debootstrap[8]. +FreeBSD can run a Linux userland inside a jail using crossref:linuxemu[linuxemu,Linux Binary Compatibility] and package:sysutils/debootstrap[]. Jails do not have a kernel. They run on the host's kernel. Therefore it is necessary to enable Linux Binary Compatibility in the host system. @@ -814,18 +1226,21 @@ Once enabled, it can be started without rebooting by executing the following com # service linux start .... -The next step will be to create a jail as indicated above, for example in -crossref:jails[creating-thin-jail-openzfs-snapshots, Creating a Thin Jail Using OpenZFS Snapshots], but *without* performing the configuration. -FreeBSD Linux jails require a specific configuration that will be detailed below. +The next step is to create a jail as indicated above, for example as in crossref:jails[creating-thin-jail-openzfs-snapshots, Creating a Thin Jail Using OpenZFS Snapshots], but *without* performing the configuration. +FreeBSD Linux jails require a specific configuration that is detailed below. -Create an empty [.filename]#/etc/jail.conf# to prevent failures when trying to stop the jail: +If the host does not already have an [.filename]#/etc/jail.conf# — for example on a system whose jails so far have been created only from the command line — create an empty one so that man:service[8] can stop the jail later: [source,shell] .... # touch /etc/jail.conf .... -Once the jail has been created as explained above, execute the following command to perform required configuration for the jail and start it: +The man:service[8] jail script reads [.filename]#/etc/jail.conf# when stopping a jail, so the stop command fails if the file does not exist. +If an [.filename]#/etc/jail.conf# is already present from an earlier section, this step is not needed. + +The following man:jail[8] command performs the required configuration for the jail and starts it directly, without a [.filename]#/etc/jail.conf# entry. +The `-c` flag creates a new jail and `-m` modifies an existing one; combined as `-cm`, man:jail[8] creates the jail if it does not yet exist and updates it if it does: [source,shell] .... @@ -834,7 +1249,7 @@ Once the jail has been created as explained above, execute the following command host.hostname="ubuntu.example.com" \ path="/usr/local/jails/containers/ubuntu" \ interface="em0" \ - ip4.addr="192.168.1.150" \ + ip4.addr="192.168.1.155" \ exec.start="/bin/sh /etc/rc" \ exec.stop="/bin/sh /etc/rc.shutdown" \ mount.devfs \ @@ -849,16 +1264,16 @@ Once the jail has been created as explained above, execute the following command enforce_statfs=1 .... -To access the jail, it will be necessary to install package:sysutils/debootstrap[]. - -Execute the following command to access the FreeBSD Linux jail: +Access the newly created jail as `root` with man:jexec[8]: [source,shell] .... # jexec -u root ubuntu sh .... -Inside the jail, execute the following commands to install man:pkg[7] and package:sysutils/debootstrap[] to prepare the Ubuntu environment: +Inside the jail, install package:sysutils/debootstrap[] and use it to build the Ubuntu userland under [.filename]#/compat/ubuntu#. +package:sysutils/debootstrap[] is the tool that builds the Linux userland; it is not required to enter the jail afterward. +Running man:pkg[7] for the first time bootstraps it automatically: [source,shell] .... @@ -866,14 +1281,19 @@ Inside the jail, execute the following commands to install man:pkg[7] and packag # debootstrap jammy /compat/ubuntu .... -When the process has finished and the message `Base system installed successfully` is displayed on the console, -it will be necessary to stop the jail from the host system by executing the following command: +`jammy` selects Ubuntu 22.04 LTS. +A newer LTS such as `noble` (Ubuntu 24.04) can be selected instead, provided it runs under the linuxulator. + +When the process has finished and the message `Base system installed successfully` is displayed on the console, stop the jail from the host system. +Because this jail is not enabled in [.filename]#/etc/rc.conf# and not yet listed in [.filename]#/etc/jail.conf#, use the `one`-prefixed man:service[8] action, which runs even for a jail that is not enabled: [source,shell] .... # service jail onestop ubuntu .... +The `onestart` and `onestop` actions are the counterparts of `start` and `stop` for jails that are not enabled through `jail_enable` or listed in `jail_list`. + Then add an entry in [.filename]#/etc/jail.conf# for the Linux jail: [.programlisting] @@ -909,6 +1329,13 @@ ubuntu { } .... +[TIP] +==== +The jail can also present a specific Linux kernel identity to the programs running inside it. +The `linux` parameter selects whether the jail inherits the host's Linux emulation environment (`inherit`) or gets its own (`new`), and `linux.osname`, `linux.osrelease`, and `linux.oss_version` set the OS name, release, and OSS version that Linux binaries see. +For example, `linux.osrelease=6.1.0` makes man:uname[1] and version-checking Linux programs inside the jail report that kernel release instead of the host-wide `compat.linux.osrelease` value. +==== + Then the jail can be started as usual with the following command: [source,shell] @@ -925,16 +1352,67 @@ The Ubuntu environment can be accessed using the following command: More information can be found in the chapter crossref:linuxemu[linuxemu,Linux Binary Compatibility]. +[[jail-nat]] +== NAT and Port Forwarding for Jails + +A jail that is given a private address — on a cloned man:lo[4] interface such as `lo1`, on a private bridge, or on a VNET epair on an internal network — has no route to the internet of its own. +The host must translate the jail's traffic to a routable address, and, to reach a service running inside such a jail from outside, redirect incoming connections to the jail. + +First, allow the host to forward packets between its interfaces. +Enable it at boot and immediately with the following commands: + +[source,shell] +.... +# sysrc gateway_enable="YES" +# sysctl net.inet.ip.forwarding=1 +.... + +For IPv6, use `ipv6_gateway_enable="YES"` and `net.inet6.ip6.forwarding=1`. + +Then configure Network Address Translation on the host with man:pf[4]. +The following [.filename]#/etc/pf.conf# gives every jail on the private `192.168.0.0/24` network outbound access through the host's external interface `em0`, and publishes a jailed web server on the host's port 80: + +[.programlisting] +.... +ext_if = "em0" + +# Translate outbound jail traffic to the host address +nat on $ext_if from 192.168.0.0/24 to any -> ($ext_if) + +# Forward inbound web traffic to the jailed server +rdr on $ext_if proto tcp to port 80 -> 192.168.0.151 +.... + +The `rdr` target must be the jail's own address. + +Enable and start man:pf[4] with the following commands: + +[source,shell] +.... +# sysrc pf_enable="YES" +# service pf start +.... + +[NOTE] +==== +FreeBSD 15.0 adds the OpenBSD-style inline `nat-to` and `rdr-to` syntax, which attaches translation to a `pass` or `match` rule, for example `match out on $ext_if from 192.168.0.0/24 to any nat-to ($ext_if)`. +The classic `nat on` and `rdr on` rules shown above work on both FreeBSD 14.x and 15.x. +==== + +For the full treatment of man:pf[4] and man:ipfw[8], including complete rule sets and man:ipfw[8]-based NAT, see crossref:firewalls[firewalls,Firewalls]. + [[service-jails-config]] -=== Configuring Service Jails +== Service Jails +Service jails are available since FreeBSD 15.0. A service jail is configured completely via [.filename]#/etc/rc.conf# or man:sysrc[8]. The base system services are service jails ready. -They contain a config line which enables networking or lift other restrictions of jails. +They contain a config line which enables networking or lifts other restrictions of jails. Base system services which do not make sense to run inside jails are configured to not be started as a service jail, even if enabled in [.filename]#/etc/rc.conf#. -Some examples of such a service are services which want to mount or unmount something in the start of stop method, or only configure something like a route, or firewall, or the like. +Some examples of such a service are services which want to mount or unmount something in the start or stop method, or only configure something like a route, or firewall, or the like. -Third party services may or may not be service jails ready. To check if a service is service jail ready, the following command can be used: +Third party services may or may not be service jails ready. +To check if a service is service jail ready, the following command can be used: [source,shell] .... @@ -966,7 +1444,7 @@ If the `servicename_svcj` variable is changed, the service needs to be stopped b If it is not stopped, the rc framework will not detect the correct state of the service and will not be able to do what is requested. Service jails are managed only via man:rc.conf[5]/man:sysrc[8] and the man:service[8] command. -The jail utilities, like man:jls[8] as described in crossref:jails[jail-management,Jail Management] can be used to investigate the operation, but the man:jail[8] command is not supposed to be used to manage them. +The jail utilities, like man:jls[8] as described in crossref:jails[jail-management,Jail Management], can be used to investigate the operation, but the man:jail[8] command is not supposed to be used to manage them. [[jail-management]] == Jail Management @@ -988,7 +1466,7 @@ The output should be similar to the following: .... JID IP Address Hostname Path - 1 192.168.250.70 classic /usr/local/jails/containers/classic + 1 192.168.1.151 classic /usr/local/jails/containers/classic .... man:jls[8] supports the `--libxo` argument, which through the man:libxo[3] library allows other types of formats to be displayed, such as `JSON`, `HTML`, etc. @@ -1003,54 +1481,117 @@ For example, execute the following command to get the `JSON` output: The output should be similar to the following: .... -{"__version": "2", "jail-information": {"jail": [{"jid":1,"ipv4":"192.168.250.70","hostname":"classic","path":"/usr/local/jails/containers/classic"}]}} +{"__version": "2", "jail-information": {"jail": [{"jid":1,"ipv4":"192.168.1.151","hostname":"classic","path":"/usr/local/jails/containers/classic"}]}} .... -[[start-jail]] -=== Start, Restart, and Stop a Jail - -man:service[8] is used to start, reboot, or stop a jail on the host. - -For example, to start a jail, run the following command: +The default listing is only a small part of what man:jls[8] can report. +Add the `-v` flag for a verbose, multi-line summary of each jail that includes its state and its assigned cpuset ID: [source,shell] .... -# service jail start jailname +# jls -v .... -Change the `start` argument to `restart` or `stop` to perform other actions on the jail. - -[[destroy-jail]] -=== Destroy a Jail - -Destroying a jail is not as simple as stopping the jail using man:service[8] and removing the jail directory and [.filename]#/etc/jail.conf# entry. - -FreeBSD takes system security very seriously. -For this reason there are certain files that not even the root user can delete. -This functionality is known as File Flags. - -The first step is to stop the desired jail executing the following command: +Use `-h` to print a header line with the field names above the values of the requested parameters: [source,shell] .... -# service jail stop jailname +# jls -h jid name path .... -The second step is to remove these flags with man:chflags[1] by executing the following command, in which `classic` is the name of the jail to remove: +To query specific parameters of a single jail, name it with `-j` and list the parameters to print: [source,shell] .... -# chflags -R 0 /usr/local/jails/containers/classic +# jls -j classic path host.hostname ip4.addr .... -The third step is to delete the directory where the jail was: +The output should be similar to the following: -[source,shell] .... -# rm -rf /usr/local/jails/containers/classic +/usr/local/jails/containers/classic classic 192.168.1.151 .... -Finally, it will be necessary to remove the jail entry in [.filename]#/etc/jail.conf# or in [.filename]#jail.conf.d#. +Add `-d` to include jails that are shutting down, which are otherwise hidden while in the dying state: + +[source,shell] +.... +# jls -d +.... + +[[start-jail]] +=== Start, Restart, and Stop a Jail + +man:service[8] is used to start, reboot, or stop a jail on the host. + +For example, to start a jail, run the following command: + +[source,shell] +.... +# service jail start jailname +.... + +Change the `start` argument to `restart` or `stop` to perform other actions on the jail. + +Stopping a jail is more than killing the processes inside it. +When a jail is stopped, man:jail[8] first runs the commands in its `exec.stop` parameter — typically `/bin/sh /etc/rc.shutdown` — inside the jail so that its services shut down cleanly. +It then sends `SIGTERM` to any processes still running in the jail and waits up to `stop.timeout` seconds (10 by default) for them to exit. +Once that time has passed, the jail is removed, which kills whatever remains with `SIGKILL`. +If `stop.timeout` is set to zero, no `SIGTERM` is sent and the jail is removed immediately. +This is why a jail with a slow-stopping daemon can appear to hang for ten seconds while it stops; raise `stop.timeout` in [.filename]#/etc/jail.conf# for a jail that runs a database or another service that needs longer to shut down gracefully. + +[[destroy-jail]] +=== Destroy a Jail + +Destroying a jail is not as simple as stopping the jail using man:service[8] and removing the jail directory and [.filename]#/etc/jail.conf# entry. + +FreeBSD takes system security very seriously. +For this reason there are certain files that not even the root user can delete. +This functionality is known as File Flags. +On a jail whose files live on a UFS file system, these flags must be cleared before the jail directory can be removed. + +The first step is to stop the desired jail executing the following command: + +[source,shell] +.... +# service jail stop classic +.... + +The second step is to remove these flags with man:chflags[1] by executing the following command, in which `classic` is the name of the jail to remove: + +[source,shell] +.... +# chflags -R 0 /usr/local/jails/containers/classic +.... + +The third step is to delete the directory where the jail was: + +[source,shell] +.... +# rm -rf /usr/local/jails/containers/classic +.... + *** 769 LINES SKIPPED *** From nobody Sun Jul 12 15:50:28 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyqln4Vkcz6lXZ8 for ; Sun, 12 Jul 2026 15:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyqln0dKhz46N5 for ; Sun, 12 Jul 2026 15:50:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WHDDayXlBOxkyRH0ftsXtAQLBasvd7IQVY3GEEzbAw0=; b=bTq7rmZ/B8XVYpX6ptl+N/gWOjaJaEzMO/CriwZpuMXLEt4gu/j2dg+v9vh8INoCw5u9Dq jXgYzK3R/JVUK8DaZaE29ArXAopKhudK4OQRHc3n+bsxkXGPQGv8C6b8v5nJ3ROELz99ev y+0Dw6dL+5vE8PeEaomnmGvcX5DelQvFJXy28Z436UNXJKeDVy3MWZACTG66lxCRMi0Eix hyMmOgieODHe2MwbY31TfT8YuwToxyd9fDO7nok64sCD96E+/vDKXYjYH7pUTJx2zH1+V4 +qhVgNcgW3XDXSLWdH5k0GKAezOn0foFa3guhDsFnfoVmWeKuj088lXawTFhnA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783871429; a=rsa-sha256; cv=none; b=sEVvxnho61y+zxwv3iGi9ge9cTcw2/mXY3DJA7QT13gO/mknxcSprQTP0sfWIyA1wytskj DTVB/iX/lW5xY1cRfqtUTwFjMmGpb7ijyzVHgi5iu6gLp8l9Ml72/XYTbcG9idpJ31+sHy w8+xK+fIPYxUtFepxV/zbqB9yyYRlukIza9mc8PhylO6eztIrC8TLZhDhUKwpynnCEnOMv E/GHRwC7tbsXhpTu3yk5ai6kCNha1l0cMEh74z3GQKDMU4fQ+02W+ZjMoJbzpsTkETfPYx UeowekcoTJf4bwi+CGp9bQ3K/8Kuk+TtIrv0SVs7JlBTL3k+4MsmjQn9qLUgsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871429; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WHDDayXlBOxkyRH0ftsXtAQLBasvd7IQVY3GEEzbAw0=; b=H37jB59Zu4QmCRqWy7tOOXhlzc39tLFvfanx3S/koU/+C6vm4+7CuqhcaWJzdVh6UfrEOe Fnena4qMt/C67cwM7k7XF+1yI4y5IdQtsH0lwq7wmdMK61LHpbp1XRLZmUNF6RWy5kiQjS tynSpt/5M5n67qdGo74mTn3sDdmb0CTIJj18tPWH/zscSbu7uQnFWgk/yyumnPJK1Ekzso vQDZ7A1itQWrHk+5mEf02e3/ltR5CV/c0MI4uRnjDKyJ1Zw4pQyCj12UQn5ZWP02njJgPn Fue8FX8KUzbnQ2syzyoLhrcJ/G+SjiFPWK1sIJz29Pf2gDd2zfhsHhCvSzqseg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyqlm6HVnz2wC for ; Sun, 12 Jul 2026 15:50:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 414e3 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 15:50:28 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Roman Bogorodskiy Subject: git: 7325fefb9b - main - Status/2026Q2/libvirt.adoc: add sponsor List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: novel X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 7325fefb9b80183da97d21f1b05a68267a825ec5 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 15:50:28 +0000 Message-Id: <6a53b7c4.414e3.9ad1c1a@gitrepo.freebsd.org> The branch main has been updated by novel: URL: https://cgit.FreeBSD.org/doc/commit/?id=7325fefb9b80183da97d21f1b05a68267a825ec5 commit 7325fefb9b80183da97d21f1b05a68267a825ec5 Author: Roman Bogorodskiy AuthorDate: 2026-07-12 15:48:26 +0000 Commit: Roman Bogorodskiy CommitDate: 2026-07-12 15:50:00 +0000 Status/2026Q2/libvirt.adoc: add sponsor Add the forgotten "Sponsor" field. Fixes: 8844ff124e ("Status/2026Q2/libvirt.adoc: Add report about libvirt") Sponsored by: The FreeBSD Foundation --- website/content/en/status/report-2026-04-2026-06/libvirt.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/libvirt.adoc b/website/content/en/status/report-2026-04-2026-06/libvirt.adoc index 42b8d3542e..e48c9ae7f3 100644 --- a/website/content/en/status/report-2026-04-2026-06/libvirt.adoc +++ b/website/content/en/status/report-2026-04-2026-06/libvirt.adoc @@ -21,3 +21,5 @@ Contact: Roman Bogorodskiy * Complete suspend/resume support. * Continue implementing features based on the QEMU Guest Agent. * Continue extending CI, cover the new guest agent based features with new tests. + +Sponsor: The FreeBSD Foundation From nobody Sun Jul 12 15:54:59 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyqs02bmqz6lXn3 for ; Sun, 12 Jul 2026 15:55:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyqs01fKBz46y6 for ; Sun, 12 Jul 2026 15:55:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y/6f008UidEYPYx0c6EJMqQlT9M9BlROegINnrdIsvk=; b=uVjwgFCt2ZAiK3tbWqmJTGiW8GK/o2/F/U5FN/QvsnfwiA5ei5/BofzPGejIydxXUp0Ove sW9aaXWlUJM9gtumUy8V6IXHNpgcAloObilxqbelLxz7j3rHz1r7s9Q3Snf/LFf2LxDrNR IseYRhwFVIB9gYXD49VVR1A2+Bo8bJeY0odEcMK4uDnQQH29C2sOyMPLbiXn1x6cI7mwYP Fjg+gMTJ3+xhaAHPwaY82TNVFyaXHxpXUhKUhJz1T3IysfZqiH0TlrVs3msVuwFyScSFu1 5IZcbHiaFp4NIBOA3pTrdO1bzzdWUHwfSIKyG4ugn97ccaUIKhzdBEk45fW/jg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783871700; a=rsa-sha256; cv=none; b=dZJq/rzJh9dHcap5cP7L1BcI83ma+CNayn/5MCA/eTFx7vmOYZUBEUxnQ2h3Tqa9jj4Gxu 2W4HFbwFgCIBfw1wwmVGkMWRRtus02Pc6kKdyUh+H2a15hjhMTb/N7eDuHPrwpl0ZhwA2o uADPU0u7E3knBxmwgFUdqXPfCtWKudC+mF7BQO8ALHvWtDIfWfcqHwNG3fxLTiY5Sh73mI NZMj9a/Q8o0KP9qcYCXvDhlU49iAcAyVmzuvQ5dJPkk/BkS6qmKpCmdM6nkub1o2ogGINP 0e1z4LBYPAO9N1nWdeEKQPhcx9KS2Twgn4I9o76cXRLJYS/zL/Mm6UFkHrw+cA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783871700; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=y/6f008UidEYPYx0c6EJMqQlT9M9BlROegINnrdIsvk=; b=Iwsgo8hgUBGJ2uDtR1PdpauBwwU2n1DGgEztzo8Pp4kCmk3g4eTMx5Jsk6C03aQ6+kUsA8 nf7ALrB3Vh7bzhc2Rh4ZvXtkAQjljo9LPHMJcWYa7RnV9yNvVaCnbE3FTEG1zyem0A5tbr /ezcry3ynlpcyTRKswA5MsYbf8bALhIraYuB3Rn+MduT1wUZazGiR+lsmMtQ1FnsKb0ACg eLnlf/Lj1lV7ihXYqrAPRvAjB/2iX+rrdNWqy0YHLtoGTyY7uaPr0H4kggs5LG1qoqTN1u V9b+yAeAFtxzXDqI1Jo0uFg3mPKcgh78GNS67/49tEwDNaX0K/ORvSP60OPXsQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyqrz6rZCz3vx for ; Sun, 12 Jul 2026 15:54:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 4244d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 15:54:59 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Jean-=?utf-8?Q?S=C3=A9bast?==?utf-8?Q?ien P=C3=A9?=dron Subject: git: 5f2775bccd - main - Status/2026Q2/drm-drivers.adoc: Add report about DRM drivers List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dumbbell X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5f2775bccd9d92b9bbb27801cdd150a81810702e Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 15:54:59 +0000 Message-Id: <6a53b8d3.4244d.72e79fc2@gitrepo.freebsd.org> The branch main has been updated by dumbbell: URL: https://cgit.FreeBSD.org/doc/commit/?id=5f2775bccd9d92b9bbb27801cdd150a81810702e commit 5f2775bccd9d92b9bbb27801cdd150a81810702e Author: Jean-Sébastien Pédron AuthorDate: 2026-06-18 17:36:29 +0000 Commit: Jean-Sébastien Pédron CommitDate: 2026-07-12 15:54:34 +0000 Status/2026Q2/drm-drivers.adoc: Add report about DRM drivers Reviewed by: salvadore Approved by: salvadore Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-doc/pull/685 --- .../status/report-2026-04-2026-06/drm-drivers.adoc | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/drm-drivers.adoc b/website/content/en/status/report-2026-04-2026-06/drm-drivers.adoc new file mode 100644 index 0000000000..e140624831 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/drm-drivers.adoc @@ -0,0 +1,31 @@ +=== DRM drivers + +Links: + +link:https://github.com/freebsd/drm-kmod/pull/469[Update to Linux 6.13 DRM drivers] URL: link:https://github.com/freebsd/drm-kmod/pull/469[] + +Contact: Jean-Sébastien Pédron + +DRM drivers are **kernel drivers for integrated and discrete GPUs**. +They are maintained in the Linux kernel and we port them to FreeBSD. +As of this report, we take the AMD and Intel DRM drivers only (NVIDIA FreeBSD drivers are proprietary and provided by NVIDIA themselves). + +We port them one Linux version at a time. +This allows us to ship updates more often and it eases porting and debugging because we have a smaller delta compared to a bigger jump skipping several versions. + +This quarter, we finished the **porting of DRM drivers from Linux 6.12 LTS in time for the release of FreeBSD 15.1-RELEASE**. +Because this is an LTS version, we will track changes from the Linux 6.12.x patches. +Currently, we are at 6.12.81 and work is underway to continue to bump to the latest patch. +These drivers are available from the Ports tree and as packages. + +As part of the work on 6.12 drivers, several bugs or regressions were fixed for already supported GPUs. +Some newer GPUs started to work as well. + +We still have several instabilities to fix in both the i915 and the amdgpu drivers. + +We also continued to port DRM drivers from following Linux versions: +* The **update to Linux 6.13 is under review and testing**. +* The update to Linux 6.14 is ready as well and will be reviewed after the 6.13 update. + +This work is kindly sponsored by the FreeBSD Foundation as part of the Laptop and Desktop Project. + +Sponsor: The FreeBSD Foundation From nobody Sun Jul 12 16:06:36 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyr6N6DHdz6lYfB for ; Sun, 12 Jul 2026 16:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyr6N5WGNz4971 for ; Sun, 12 Jul 2026 16:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783872396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PUwQXVp/LHa8erJ8Kcjkf4ftl9lHRwvNxrLsOhItLY=; b=oPRoOjNhjOxt10Iv4pyYjpxbgZmJNJBxJDKnUgS/LbrcourjmTh3ZUdNhzpawqcRI6s7cO pNDImIhshLINdbnGjO84yMNhcAmMhiBRypQ8GzkCvwN2Aj5v7GKlGdvdbNWMt51nFpzJPd dml3bMlhefDHj0FOEWxuCrMdt3R9DkPUUoi60Qgy8wmQSAunNCo57Ze7I7mWG7QKkmqIdn SfhwDwaiG7pUCT/sDvcFmcknp4yOC3i1gObXPjgPchC+roHyDJKMi1iSy8kD+DL9vY4eTt 663DgnyF3KAREZI9SMmk7JE7xXEoQZGwubS7d703cLBX0dI0owyQdKvn47YTcg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783872396; a=rsa-sha256; cv=none; b=E/IzHEzBtdFgmT8bGCpT25Se4pQwpzCTNbFKStpvkCUx8758Fqm4xCzXB0TVqRa86TN36i kWMJnHclxMd6qz4lZK2IK3pGuET6Iy8zYeprwV4/HZuRKQeK5O9gEX5VxxRRn7rsKM1709 xv1YchDJE73+VhF4+PbZkzVd47LzPbHKXsiPCV8rOwZkQrct9HsNcrxCoVo9m045KiQ/7Z Hw+YrXELXq0s4CHTpZqE6Pm279L77eMzE59RQNR8YlJAaUqn7EDVTOw5QQ+kE51RmwwzPf b4KAfCyoe3zc4w4Hcc/9lRnxr9RbX1QGOlv7NDOvmF8rA0mf4OsrTSs33ad9eg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783872396; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2PUwQXVp/LHa8erJ8Kcjkf4ftl9lHRwvNxrLsOhItLY=; b=hTakSdYCi8SMLyVBGEYTDEyt83EP4rckPXHbNB9Gl1lF+EDUitSLv8n5TExfKTamelzXX6 cvklFZ0Dr+0h+A83ROdcorwSusnael+B54ybvaOl7JTvHPsxcQifYyI6O5kRohDKFY8rHH MkaRWnu22+XVeSqXZpfSje2topWB9DAAQA+T5QQf7Ey657334JUCyMMBlFc2fZ9E0hPZxH A9KOh1IOC90UUKSD1rDhcR1zl44tRMsj9rhkmj/oraGNdU5BvHTvyvrjNB3F6g6QPhxbSX riz7jxi8iEGWKn+1DXzE1tIZ5YBgdeY+o5yMdgT5gGAruAmhTOItIfgMOADo+A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyr6N4XD7z478 for ; Sun, 12 Jul 2026 16:06:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 43756 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 16:06:36 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 61b84bac51 - main - Status/2026Q2/releng.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 61b84bac51a588ef946733c50459f783e842f09a Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 16:06:36 +0000 Message-Id: <6a53bb8c.43756.6916e979@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=61b84bac51a588ef946733c50459f783e842f09a commit 61b84bac51a588ef946733c50459f783e842f09a Author: Colin Percival AuthorDate: 2026-06-27 21:36:44 +0000 Commit: Colin Percival CommitDate: 2026-07-12 16:06:18 +0000 Status/2026Q2/releng.adoc: Add report Reviewed by: salvadore, ziaee Sponsored by: OpenSats Initiative Differential Revision: https://reviews.freebsd.org/D57916 --- .../content/en/status/report-2026-04-2026-06/releng.adoc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/releng.adoc b/website/content/en/status/report-2026-04-2026-06/releng.adoc new file mode 100644 index 0000000000..b568051128 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/releng.adoc @@ -0,0 +1,16 @@ +=== FreeBSD Release Engineering Team + +Links: + +link:https://www.freebsd.org/releases/15.1R/announce/[FreeBSD 15.1-RELEASE announcement] URL: link:https://www.freebsd.org/releases/15.1R/announce/[] + +link:https://www.freebsd.org/releases/14.5R/schedule/[FreeBSD 14.5-RELEASE schedule] URL: link:https://www.freebsd.org/releases/14.5R/schedule/[] + +link:https://download.freebsd.org/releases/ISO-IMAGES/[FreeBSD releases] URL: link:https://download.freebsd.org/releases/ISO-IMAGES/[] + +link:https://download.freebsd.org/snapshots/ISO-IMAGES/[FreeBSD development snapshots] URL: link:https://download.freebsd.org/snapshots/ISO-IMAGES/[] + +Contact: FreeBSD Release Engineering Team + +The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things. + +The Team managed 15.1-RELEASE, leading to the official RELEASE build and announcement in June. +Planning has started for the upcoming 14.5-RELEASE, which is due to arrive in September. + +The Release Engineering Team continued providing weekly development snapshot builds for the *main*, *stable/15*, and *stable/14* branches; and also for the *stable/13* branch until its End-of-Life at the end of April. From nobody Sun Jul 12 16:06:37 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyr6Q0Prcz6lYjb for ; Sun, 12 Jul 2026 16:06:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyr6P6t3Rz48vm for ; Sun, 12 Jul 2026 16:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783872398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f1EED/uXpqL720aD3qw8ydq7AzAX/1f3K7q85mhS/Eo=; b=NmFpFQtF0iODKOgcUku7AjSTxNLkThoqBmKLVKebVU97dKF53neCZG1HVt6FSKLms0EJuI WyBtOfLyYS9wD+K4kSj2hGbl8mSNyluZJWsBQteXYACdcaErd8FoezZE4dYFTUnmQ8Xg2y Cv5BUudFu178XBf1kl0emtAUP5g+4xc7B5KvP/DtQ66TpDh/mYdmd3IAi30UDN7cuIBBOA rycRrFCruBSvp4PIt1ow5MrfyIdukak+3CT3LJsJ8+xqPM4bxbXFtWGGIc6yZg6HTeb2If UbKl0iBnz3twfKHaNbXC9XPPCuqnP7AU1eyKqCHIXYegr3yKPdUUYSRTWuYgcQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783872398; a=rsa-sha256; cv=none; b=CYQ4HugCe0vIMCsTk/bKp/+YdhEVbs0qNCd+T84y+OQo+0mQSRd7Vol1k054HylJah1J1l agJQwnfMNvwYOCQTrOb8YESb4zfXrAJAL+hRe9W8OKttlAB9be6UNqVFhge098CE8sXxA+ DA0wRz1xj8Xu4M5uzzlLCIljCzgwBYIFlW6DeTSnFMNMfIjoFL3nNhygCGFptQbCReYlgC 5B84WS3gXiljx7ew1n9ytNY1wU9akfQQDWIx8di2kn9cuazLm+WvOtJR3VQ8twv4SLVW2t kjUgARVmz2Mp1yWx58udqVafSBIAKV0xm4HkgQyGVvBZ+QIHzlJVWSDNfYn1hA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783872398; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f1EED/uXpqL720aD3qw8ydq7AzAX/1f3K7q85mhS/Eo=; b=OjIzIi0SF0APx9APAfgmKCt4sBs1iIIaqDs+UoMZ90rkulFa4IbWCdQP6VNDFAjOh0kDhN Nk4Vvzd3x/RheFhsISBE2s+HKiaoKb/rtQCQXOK22FjIJLlgay52v8JuwficesbmfCH06f IC/TioAFChfWI3cpF4vzi58cvLU1yCedVK5efJr1fy5NyDOQap+uKoM+GChqC7lrnhVXiL EWvPxaIedpJ4tm7ZDUCiv82MFeYuPUX34NcpwSDWCpH1+FFPBm/zwGaT8A8epDepaVIZj6 tscK3YSkXUJzvU2aOwvPHFbnD4jocutmyJvl0Jt5wuOUKusGo11toTlw5pj8mA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyr6P5Gx4z3tQ for ; Sun, 12 Jul 2026 16:06:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 42b72 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 16:06:37 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Colin Percival Subject: git: 26cf022abb - main - Status/2026Q2/ec2.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 26cf022abb6e340a036456a4baeecaa5ceab6a22 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 16:06:37 +0000 Message-Id: <6a53bb8d.42b72.53bb4e4c@gitrepo.freebsd.org> The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/doc/commit/?id=26cf022abb6e340a036456a4baeecaa5ceab6a22 commit 26cf022abb6e340a036456a4baeecaa5ceab6a22 Author: Colin Percival AuthorDate: 2026-06-27 21:55:17 +0000 Commit: Colin Percival CommitDate: 2026-07-12 16:06:26 +0000 Status/2026Q2/ec2.adoc: Add report Reviewed by: salvadore Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D57917 --- website/content/en/status/report-2026-04-2026-06/ec2.adoc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/ec2.adoc b/website/content/en/status/report-2026-04-2026-06/ec2.adoc new file mode 100644 index 0000000000..611034f315 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/ec2.adoc @@ -0,0 +1,15 @@ +=== FreeBSD on EC2 + +Contact: Colin Percival + +FreeBSD is available on both amd64 (Intel and AMD) and arm64 (Graviton) EC2 instances. + +An issue causing the man:ena[4] driver to drop packets when receiving jumbograms has been fixed. +The fix was present in 15.1-RELEASE (June) and will be present in 14.5-RELEASE (September). +This fix improved single-TCP-stream network performance on some EC2 instances from 110 Mbps to 9.5 Gbps and also significantly improved multiple-TCP-stream throughput. + +An issue causing the man:ena[4] driver to launch taskqueues on the wrong CPU(s) on NUMA systems has been identified. +The fix should be present in 14.5-RELEASE (September) and produces a 2x increase in multiple-TCP-stream throughput on c8gn.48xlarge instances. + +Sponsor: Amazon + +Sponsor: https://www.patreon.com/cperciva From nobody Sun Jul 12 17:54:33 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gytW25wW5z6kTBf for ; Sun, 12 Jul 2026 17:54:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gytW23BHCz3d87 for ; Sun, 12 Jul 2026 17:54:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783878878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCjeYxB8ki616YCdlWxx9TGlCXW0cjpBMqAlO8mYgJA=; b=GxmETHfO001a1q0znz8e2ZJ/UQVqo367+iBMM1zi7xZZ5WHyVDKdJenoK5kFrkF1ZWL/fc DHuHZ1TS8ExKaN4kgNWBNU10/gbBIVdCwEyEcvHI5BFTrKph2vBN+svCr2NYJIGU1dMXOp ZEXSk1egjQ+tojYnIYsdS/1S5EENXOPaIBonj631+Aebj2XlMofx9+bZ/FBu3I6DQEztZH a/k5mITjFLU72Zb/eZ0TnCwKH9OKES9WHpMDoq2eSJRfsr5hRbhqmpzv66lVUcHk6SwHj/ WE4h/eTl/3HcSjjoR5mWqZRagr3O1i0jcb7GhEXaENhLiJjBPuavoZrYxUVA1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783878878; a=rsa-sha256; cv=none; b=YJwDVru5YqmarA1knQqui6FpTFJrKzvR/O3Kz1w5gtMbg15FypC8RUhp7T1Dv1FgK5Z1g+ nCSkFcXf1B7NlrWEUPtH186EviNiEu3vTUmrGNIwiLM/aAjgx9IlDDlZASAivPtiWKz1aS RmdwP7D7uEc/u4Q2CROSHO/kI3DSM7R6Ag2Flgq1NmYcmddoUzGah+KIicAC5Y9Ghm5isV G69L2bAEcpk4Ar290GytqzL51ymHhS1O6ABRgiE6oHiLVOs7JCIVGSpDFjVAO9ensc+rQW XoCbJBvj69XjTJIYdVtKtmr5grGsDVUKTbXfOwaDzvA2hkESuoUJUp9FDlCiSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783878878; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NCjeYxB8ki616YCdlWxx9TGlCXW0cjpBMqAlO8mYgJA=; b=S4ec9ZajVAJ01Mr+nXVSK9QMna8FIrDtK56yvx4+0xQnRka3Znn7qIFvA4XlnRNH8rzLeq gJb5WVAy8xQf9nJ2bUevKBTU+kBkkGeFxnciDibB85WxLQWWfeWBQ47jE722j5d3tjbRpV SllHPtasNf+ZigwPTBKJsSxJkA7MFrgUVX7lToIpDDtqNoxHlwNEvnSR2N9OwhTj4zJQ0T bR907haZv4GeqzuE3hvkYbIxYc/orZQ6myybfp5SBWepi9SNJ216ipXgnExzblyvrFT5Nl oxS1SpPCcakEy8l0iqb2YDi83e+7kBxjahojG0msIR8zUF3aGm363WsX31vI7g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gytW22HQzz6vW for ; Sun, 12 Jul 2026 17:54:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1dfbe by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 17:54:33 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Max Brazhnikov Subject: git: e77e4225ac - main - Status/2026Q2/kde.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: makc X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e77e4225ac3104190c46ffed7c4894b600fc22c6 Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 17:54:33 +0000 Message-Id: <6a53d4d9.1dfbe.7a898837@gitrepo.freebsd.org> The branch main has been updated by makc: URL: https://cgit.FreeBSD.org/doc/commit/?id=e77e4225ac3104190c46ffed7c4894b600fc22c6 commit e77e4225ac3104190c46ffed7c4894b600fc22c6 Author: Max Brazhnikov AuthorDate: 2026-06-27 11:33:56 +0000 Commit: Max Brazhnikov CommitDate: 2026-07-12 17:52:27 +0000 Status/2026Q2/kde.adoc: Add report Reviewed by: arrowd, jhale, salvadore Differential Revision: https://reviews.freebsd.org/D58174 --- .../en/status/report-2026-04-2026-06/kde.adoc | 43 ++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/kde.adoc b/website/content/en/status/report-2026-04-2026-06/kde.adoc new file mode 100644 index 0000000000..e6851edabb --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/kde.adoc @@ -0,0 +1,43 @@ +=== KDE on FreeBSD + +Links: + +link:https://freebsd.kde.org/[KDE/FreeBSD initiative] URL: link:https://freebsd.kde.org/[] + +link:https://community.kde.org/FreeBSD[FreeBSD -- KDE Community Wiki] URL: link:https://community.kde.org/FreeBSD[] + +Contact: KDE on FreeBSD Mailing List + +The KDE on FreeBSD project packages CMake, Qt, and software from the KDE Community, for the FreeBSD ports tree. +The software includes a full desktop environment called KDE Plasma (for both X11 and Wayland) and hundreds of applications that can be used on any FreeBSD machine. +The mailto:kde@FreeBSD.org[KDE team] is part of mailto:desktop@FreeBSD.org[desktop@], building the software stack to make FreeBSD beautiful and usable as a daily driver graphical desktop workstation. + +==== Infrastructure + +CMake was updated to 3.31.12. + +Qt6 and PySide6 were updated to 6.11.1. +PyQt6 was updated to 6.11.0. + +Qt5 and PySide2 were updated to 5.15.19 KDE patch collection. +Upstream standard support for Qt5 is officially over. +This is the final update for Qt5. + +==== KDE Stack + +KDE Frameworks, Plasma, and Gear release happen very regularly. +mailto:kde@FreeBSD.org[KDE team] lands these updates shortly after their upstream release. + +* KDE Frameworks ports were updated to 6.28.0. +* KDE Plasma Desktop was updated to 6.6.6. +* KDE Gear was updated to 26.04.3. + +==== Related Ports + +A number of new KDE ports have been added. +Amarok, the classic KDE music player, has been reinstated and updated to 3.3.3. + +==== Sunsetting Qt5 ports + +Qt5 is still used by approximately 350 ports. +Although Qt5 is deprecated there is no definite date for its removal from the ports tree yet. +Still, the port for Qt5WebEngine which is based on very old Chromium with multiple vulnerabilities is scheduled for removal just before 2026Q4. +KDE team encourages maintainers to migrate their ports to Qt6, remove Qt5 flavors, and remove abandoned Qt5 software. From nobody Sun Jul 12 19:48:30 2026 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gyx2W5kMLz6ktHx for ; Sun, 12 Jul 2026 19:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gyx2W596sz3qjJ for ; Sun, 12 Jul 2026 19:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783885715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e5dK9OsilKstMPaBJqhijeP47gQIWIJqMnI84a6KqwM=; b=HQLMK8F+oOA7Twz18MtVv+l5f0BpK2eaGzuvu2yTCzqTL7QUgsD9d/+r11zEpkfSEhIikz qH7QzPH3KnA/KsDU1cMZp5SlIFCCeYVxwNJTrt5r/hh4QRgkVjaEPbCzOGO5fsvaG8Z39u 5KCyMaeEQWCSUnrWfEhfovVZLRDMOtNZcyZuVVTOqyoF650WYlARUKjTMoiUclLTX5COjn 0sWBFduH/pji2jE+RD0ARwRzdFnr+HgcuhzPsewSSZBd9r2SrUslQpqcVhI62Hotte4Ftu LD+5iCY2TIrDTo+E//5zpcCCSgRg/HOx9XoP6E79NdOCrtsRCHSlgBzugPWOqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1783885715; a=rsa-sha256; cv=none; b=aStwSkSR3Mld8V5SxmRB6v++DvHXErZJ211zC3X3G+NO9UbnukyKemoKD/xl/x5hCRmg2K /g4NroCQQq+Q9vRexgf6wa1rfpEovbKLIsKM80i4qGZOIpexyLuYcRIB3gvgjPhYHx6k8V 96uXIC/7ekiN5N44jqdfSwPQwAils9rQTdUvIkDm/OLTu4eedM6HTNpBripxbRaTPxbtnU PXrb2rTT5YL5cGqjknm/SmKtv/J6BWK+lbL6Z2zfW8JVE69+/M+/VffO3OYhqOspnf4cIB fDza9c2RTizO4YB49KDpOCJvxDo/Lkqatk5w7fbo7cedPcKSamleZeewJJ8gLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1783885715; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=e5dK9OsilKstMPaBJqhijeP47gQIWIJqMnI84a6KqwM=; b=OT9opP3/N2WHIS5Qf5H2nd07gn2BkjWKWiDMV+81tHAcjcq/a6ECS6EATLsYn13YD5oeBZ s3dmzz4bnREHFFbfm50I2ejhOPbgvZ5c2rDesyfGXowi4Ycgcq41y9MszEAL3KOPb0EWl1 Y9J3dFI0ATe1Ca9NnLNSmV5/zhQeYR/2rE9zS+xpR30TYq3xNQgkRgVh7omyzqEbwSF50+ jHGN8woAig74ZwFeoRw+NorJNc1B9PndKBYFMdWC4ezMhTeVA0u63MbJFu6POk6qnUNKY3 J+iTlOM2yvb40tsqIQdljPbgx/LD2LyCJm6/s68KvHel5FgIrLJXgHoDMT6C9Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gyx2W4C07zB4h for ; Sun, 12 Jul 2026 19:48:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3064b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sun, 12 Jul 2026 19:48:30 +0000 To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Philip Paeps Subject: git: d0a232d442 - main - Status/2026Q2/clusteradm.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-doc-all@freebsd.org Sender: owner-dev-commits-doc-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: philip X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d0a232d4421e08320f127f5b910b247259c1532c Auto-Submitted: auto-generated Date: Sun, 12 Jul 2026 19:48:30 +0000 Message-Id: <6a53ef8e.3064b.37f3440f@gitrepo.freebsd.org> The branch main has been updated by philip: URL: https://cgit.FreeBSD.org/doc/commit/?id=d0a232d4421e08320f127f5b910b247259c1532c commit d0a232d4421e08320f127f5b910b247259c1532c Author: Philip Paeps AuthorDate: 2026-07-12 19:45:08 +0000 Commit: Philip Paeps CommitDate: 2026-07-12 19:45:08 +0000 Status/2026Q2/clusteradm.adoc: Add report Reviewed by: jrm, lsalvadore --- .../status/report-2026-04-2026-06/clusteradm.adoc | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/website/content/en/status/report-2026-04-2026-06/clusteradm.adoc b/website/content/en/status/report-2026-04-2026-06/clusteradm.adoc new file mode 100644 index 0000000000..b4fe38bf9f --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/clusteradm.adoc @@ -0,0 +1,94 @@ +=== Cluster Administration Team + +Links: + +link:https://www.freebsd.org/administration/#t-clusteradm[Cluster Administration Team members] URL: link:https://www.freebsd.org/administration/#t-clusteradm[] + +Contact: Cluster Administration Team + +Contact: Philip Paeps + +FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronize its distributed work and communications. + +In this quarter, the team has worked on the following: + +* Regular support for FreeBSD.org user accounts. +* Regular disk and parts support (and replacement) for all physical hosts and mirrors. +* Cluster software refresh. +* Coordinate community mirrors. +* Additional support to the wiki-admin@ team. +* Frequent interventions to thwart denial of service by bots. + +==== Cluster refresh + +Work continues to refresh the software running on FreeBSD.org cluster machines. +We have started putting production workloads on stable/15. +As part of this work some workloads are being moved around to different machines. +This work is ongoing at the end of the quarter. + +The clusteradm team refreshes the production package builders (circa 35 physical machines) on a roughly six- to eight-week cadence. +These machines run FreeBSD current snapshots. + +Other machines are upgraded on an as-needed basis, keeping up with security fixes depending on how exposed they are. + +At the time of this writing there are 142 physical machines in the cluster. +We have 42 machines on current, 21 on stable/15 and 73 on stable/14. + +Most of the remaining stable/13 installations will be upgraded to stable/15. + +[.screen] +---- + 12.x: Regular 0, Jails 7 + 13.x: Regular 6, Jails 31 + 14.x: Regular 73, Jails 254 + 15.x: Regular 21, Jails 4 + 16.x: Regular 42, Jails 6 +Total: Regular 142, Jails 302 +Total installations: 444 +Running -RELEASE|{-p*}: 0 +Total geographic sites: 13 +---- + +==== FreeBSD official mirrors + +Current locations are Australia, Brazil, Japan (two full mirror sites), Malaysia, South Africa, Sweden, Taiwan and United States of America -- California, Chicago, New Jersey, and Washington. + +Our mirror site in Taiwan is experiencing an extended outage. + +One of our mirror sites in Japan will get a complete hardware refresh in 2026Q3. + +The hardware and network connection have been generously provided by: + +* Cloud and SDN Laboratory at link:https://www.bbtower.co.jp/en/corporate/[BroadBand Tower, Inc] +* link:https://www.cs.nycu.edu.tw/[Department of Computer Science, National Yang Ming Chiao Tung University] +* link:https://internet.asn.au/[Internet Association of Australia] +* link:https://www.isc.org/[Internet Systems Consortium] +* link:https://www.inx.net.za/[INX-ZA] +* link:https://www.kddi-webcommunications.co.jp/english/[KDDI Web Communications Inc] +* link:https://www.mohe.gov.my/en/services/research/myren[Malaysian Research & Education Network] +* link:https://www.metapeer.com/[MetaPeer] +* link:https://www.nyi.net/[New York Internet] +* link:https://nic.br/[NIC.br] +* link:https://sonic.net[Sonic] +* link:https://www.teleservice.net/[Teleservice Skåne AB] +* link:https://your.org/[Your.Org] + +New official mirrors are always welcome. +We have noted the benefits of hosting single mirrors at Internet Exchange Points globally, as evidenced by our existing mirrors in Australia, Brazil, and South Africa. +If you are affiliated with or know of any organizations willing to sponsor a single mirror server, please contact us. +We are particularly interested in locations in Europe. + +See link:https://wiki.freebsd.org/Teams/clusteradm/generic-mirror-layout[generic mirrored layout] for full mirror site specs and link:https://wiki.freebsd.org/Teams/clusteradm/tiny-mirror[tiny-mirror] for a single mirror site. + +==== Supporting the wiki-admin@ team + +The Cluster Administration Team assumed the role of the wiki-admin for most of this quarter while the position was vacant. +A new wiki-admin team was recently installed. +The Cluster Administration Team continues to support the wiki-admin team with necessary upgrades to the backend wiki infrastructure. + +==== Large language model scraping + +The FreeBSD Project's infrastructure continues to be under constant attack from scrapers collecting training data for large language models ("AI"). +The companies training these models have largely moved scraping operations from their own -- easy to identify -- infrastructure to botnets ("residential proxies"), making them difficult to block at the network edges without significant collateral damage. +The Cluster Administration Team spent a considerable amount of time again this quarter mitigating these distributed denial of service attacks. + +Sponsor: Anonymous individuals and companies + +Sponsor: https://github.com/sponsors/ppaeps