openjdk.ruOpenJDK на русском

JEP draft: Integrate BSD port into OpenJDK Mainline

Интеграция порта BSD в основную ветку OpenJDK (Mainline)

АвторHarald Eilertsen
ТипProcess
ОбластьJDK
СтатусDraft
Компонентhotspot / runtime
Обсуждениеbsd dash port dash dev at openjdk dot org
ТрудоёмкостьL
ДлительностьL
Создан2026/08/20 12:16
Обновлён2026/08/20 15:03
Задача8390768

Аннотация

Добавить поддержку OpenJDK во FreeBSD, OpenBSD и NetBSD в основную ветку (mainline).

Мотивация

Порт OpenJDK для BSD примерно с JDK 1.2 активно поддерживается в отдельном репозитории вне основного дерева исходного кода. Это зрелый и достаточно полный порт, который давно используется в продакшене.

Перенос порта в основной проект (upstream) будет полезен организациям и предприятиям, у которых сервисы работают на OpenJDK на платформах семейства BSD. Кроме того, для этих пользователей он станет важным сигналом того, что проект поддерживает их платформы.

Ещё одна важная причина в том, что порт станет частью разработки в основной ветке и сопровождающим больше не придётся переносить новые возможности и несовместимые изменения уже после их появления.

Описание

Добавление ещё одной платформы неизбежно затрагивает многие части кода, но мы стремимся сделать порт как можно более независимым.

Мы не планируем добавлять или изменять существующие интерфейсы или инструменты командной строки, за исключением необходимой поддержки вариантов BSD, которые поддерживает порт. Основная сложность в том, чтобы сделать это, не слишком мешая порту для macOS, так как в HotSpot и других местах macOS тоже представляется как вариант BSD.

Сейчас порт находится в пространстве имён bsd вместе с портом для macOS, но это усложняет код в этих разделах, и изменения, предназначенные для одной из платформ, могут сломать другую — как BSD, так и macOS.

Для решения этой проблемы мы предлагаем перенести порт для macOS в собственное пространство имён в os/macos/ и os_cpu/macos_<arch>/ и убрать поддержку BSD из кода HotSpot для macOS.

Альтернативы

Альтернатива — оставить порт отдельным downstream-портом вне основного дерева исходного кода.

Тестирование

В рамках порта мы добавили рабочие процессы GitHub Actions для FreeBSD и OpenBSD на x86_64, которые выполняют сборку и запускают тесты tier1.

Риски и допущения

Поскольку порт зрелый и давно используется, рисков, связанных с самим портом, нет. Однако он так долго существовал как downstream-порт, что наши решения, скорее всего, не будут соответствовать ожиданиям основного проекта (upstream). Мы планируем работать с рецензентами основного проекта и другими заинтересованными сторонами, чтобы решить эти вопросы и привести порт в соответствие с ожиданиями проекта.

Зависимости

Известных зависимостей, кроме уже существующих зависимостей основного проекта OpenJDK, нет.