Poudriere: Попробуйте получить зависимости вместо того, чтобы создавать их локально

Созданный на 31 мая 2015  ·  21Комментарии  ·  Источник: freebsd/poudriere

Тестирование портов перед внесением изменений стоит дорого. Итак, создается оверлей для нескольких портов с параметрами, отличными от параметров по умолчанию.

  • /head - быстро движущаяся цель, ports -u часто отображает многие устаревшие
  • Поддержка Tier1 состоит из комбинаций 4 * 2 = 8 платформ.
  • redports.org (CI) по-прежнему недоступен после того, как он отключился год назад
  • Макет репо пока не поддерживает NO_ARCH , NO_OSREL , NO_OPSYS
  • некоторые порты могут потребовать много памяти / времени / дисковой активности для сборки

К счастью, pkg.freebsd.org уже предоставляет готовые пакеты. Почему бы не воспользоваться? Предостережение: полезно только тогда, когда локальное дерево портов и удаленный моментальный снимок не сильно расходятся.

Performance

Самый полезный комментарий

Это еще не реализовано в Poudriere, но я планирую его выпустить после следующего выпуска.

Все 21 Комментарий

Да, это желаемая функция. Я назвал это «посевом пакетов». Сценарий сборки pkg.freebsd.org фактически делает это сам, поэтому мы можем использовать разные системы между каждой сборкой. Он всегда был в TODOLIST, но еще не реализован в Poudriere.

Также недавно начал активно использовать poudriere для сборки пакетов для себя и хотел бы аналогичную функцию для -f pkg-list.txt если это часть пакета с измененными параметрами, затем создавать их локально и с параметрами по умолчанию получать исходное репо.

Это уже реализовано в ветке, я бы хотел помочь проверить это.

Это еще не реализовано в Poudriere, но я планирую его выпустить после следующего выпуска.

Привет, @bdrewery есть обновления этого патча? Мне действительно нужны ваши отзывы о том, как я могу улучшить этот патч. Любой намек приветствуется. Большое спасибо.

Извините, я был очень занят в последнее время. Постараюсь поискать в ближайшие несколько недель.

есть новая информация? Благодарность!

Было бы очень неплохо иметь такую ​​возможность. Я только что обновился до версии 3.3.99.20190311, но не увидел опции для заполнения пакетов. Есть новости по этой функции?

А пока я использую какой-то хакерский способ сделать это: https://github.com/lwhsu/freebsd-ports-libreoffice/blob/master/porttest.sh

Что ж, попробуйте poudriere testport для сборки которого нужны как GCC 9.x, так и Clang 8.0 ....
В последний раз мне потребовалось около суток, чтобы это проверить.

@bdrewery есть ли надежда увидеть эту функцию в ближайшее время?

Маловероятно, поскольку я сосредоточен на другом, например, на меньшем создании инкрементальной сборки и распределенной поддержке.

Есть какие-нибудь обновления по этой проблеме? Мы можем чем-нибудь помочь?

Извините за другое «я тоже». Мне нравится создавать несколько портов, которые я использую, поскольку я выбрал для них специальные флаги. Такие вещи, как Mesa et al. нужна конкретная версия LLVM, и, ну, я действительно не хочу и не нуждаюсь в ее создании. Так что было бы здорово, если бы я мог сказать poudriere для некоторых избранных портов, чтобы они никогда не создавались, а вместо этого загружали их.

В противном случае мой забег закончится так:

[freebsd:12:x86:64-default] [2020-06-22_09h45m06s] [parallel_build:] Queued: 1616 Built: 97   Failed: 0    Skipped: 0    Ignored: 0    Tobuild: 1519  Time: 02:21:47
        [01]: devel/llvm80              | llvm80-8.0.1_3            build           (01:50:32 / 01:51:56)
        [02]: devel/llvm90              | llvm90-9.0.1_1            build           (01:50:59 / 01:52:03)
        [03]: lang/gcc9                 | gcc9-9.3.0_1              build           (01:51:28 / 01:51:54)

Я бы хотел избежать этого бессмысленного оттока. Спасибо!

@uqs, я тебя слышу. Я также думаю, что есть другой способ решить эту конкретную проблему, который заключается в создании официальных пакетов с использованием нужных вам флагов. Не могли бы вы подробнее рассказать, какие флаги вы меняете?

Другой я тоже здесь. А именно, мне нужен порт dns / unbound с python, но мне не нужно создавать все базовые зависимости.

+1

+1

Либо эта функция, либо некоторая документация о том, как использовать хуки для достижения того же, было бы здорово!

797 расскажет об этом

797 объединен, но есть много подводных камней, которые делают его не таким полезным, как кажется. Например, llvm и все остальные большие вещи все еще строятся. # 822, вероятно, понадобится, чтобы это исправить.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги