Spec-Zone.ru › Homebrew

homebrew/core">Linux CI в homebrew/core

В настоящее время мы используем Ubuntu 16.04 для создания пакетов в homebrew/core.

Ubuntu по сравнению с другими дистрибутивами Linux

По состоянию на 2022 год около 77% наших пользователей используют Ubuntu. Именно поэтому мы выбрали эту дистрибуцию для нашей основной CI-изображения. Мы успешно используем Ubuntu для CI с версии 14.04. Поддерживаются версии Ubuntu LTS в течение 5 лет. Новая версия LTS выпускается каждые 2 года.

Наши пакеты совместимы с другими дистрибутивами, такими как Debian/CentOS, даже когда они скомпилированы на Ubuntu.

Прошлые и будущие версии

В настоящее время мы переводим нашу CI на Ubuntu 22.04. Эта работа, вероятно, будет завершена до конца 2022 года. Переход с Ubuntu 16.04 на Ubuntu 22.04 (а значит, пропуск версий 18.04 и 20.04) занял больше времени, чем ожидалось.

Мы планируем продолжать регулярные обновления начиная с 2022 года. Мы стремимся использовать последнюю LTS-версию Ubuntu для нашей CI.

Мы начнем использовать последнюю LTS-версию Ubuntu не ранее чем через 3 месяца после ее выпуска и, в идеале, не более чем через 12 месяцев после выпуска.

Дистрибутив Glibc GCC Использование
Ubuntu 14.04 2.19 4 С 2014 по 2017 год
Ubuntu 16.04 2.23 5 С 2017 по 2022 год
Ubuntu 22.04 2.35 11 С 2022 по 2024 год
Ubuntu 24.04 ? ? С 2024 по 2026 год

Почему всегда использовать последнюю версию?

Homebrew — это пакетный менеджер с постоянным обновлением. Мы стараемся выпускать самые свежие вещи как можно быстрее, на macOS и Linux.

Когда формуле нужен более новый GCC, потому что наш системный GCC в CI слишком старый, нам нужно было сделать эту формулу зависимой от более нового Homebrew GCC. Все зависимые от C++ формулы сразу же приобретают зависимость от Homebrew GCC. Хотя мы предприняли шаги, чтобы гарантировать, что это больше не препятствует обновлениям GCC, это по-прежнему создает избыточную нагрузку на обслуживание. Эта проблема более вероятна для формул, которые активно поддерживаются и пытаются использовать новые возможности C++. Мы решили, что не должны испытывать избыточной нагрузки на обслуживание для формул, которые действуют правильно, оставаясь в актуальном состоянии. Для разработчиков Homebrew имеет смысл отправлять исправления в исходный код, когда формулы не работают с новыми компиляторами. Гораздо менее разумно отправлять исправления разработчикам Homebrew, потому что наш системный компилятор слишком устарел.

Обратите внимание, что glibc потребуется для большего числа пользователей, так как их версия glibc часто будет слишком устаревшей: дисковое пространство недорогое, и мы можем справиться с этой ситуацией для наших пользователей. Такая ситуация часто возникает при обновлении до новой версии LTS и низком уровне принятия новой версии Ubuntu в течение первых месяцев. По тем же причинам, что и выше: мы предпочитаем оставаться на передовом крае и деликатно побуждать наших пользователей подумать об обновлении своей ОС.

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/Linux-CI

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API