Poudriere: Непонятное сообщение, если обновления freebsd-update не нужны

Созданный на 16 апр. 2016  ·  8Комментарии  ·  Источник: freebsd/poudriere

Сначала запустите /usr/sbin/freebsd-update.fixed fetch

Poudriere, вероятно, должен проверить, обнаружил ли freebsd-update какие-либо обновления, прежде чем сообщать ему об установке (возможно, несуществующих) обновлений, чтобы не запутать пользователей приведенным выше сообщением.

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

Да, вероятно, с этим справится freebsd-update. Причина, по которой я не сделал этого изначально, заключается в том, что я не хотел побуждать людей слепо скачивать и устанавливать обновления.

Но на этом этапе, даже если я исправлю freebsd-update, poudriere будет вызывать старый код freebsd-update в течение нескольких лет, поэтому обучение poudriere удалению этого избавит от некоторой путаницы.

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

 ~ / git / poudriere # grep 'Run. * first' `which freebsd-update`
 echo "Сначала запустите" $ 0 install "."
 echo "Сначала выполните '$ 0 fetch'."

Это исходит от freebsd-update .

Без дополнительного контекста в отчете я не уверен, где это показано и при каких условиях.

Проблема в том, что jail.sh запускает /usr/sbin/freebsd-update.fixed fetch install . Если fetch обнаруживает, что обновления не требуются (например, это новый выпуск, в котором еще не было рекомендаций по безопасности), то install выводит сбивающее с толку сообщение.

Решение состоит в том, чтобы запустить /usr/sbin/freebsd-update.fixed fetch , проверить, были ли получены какие-либо обновления, а затем запустить /usr/sbin/freebsd-update.fixed install .

Как определить, были ли получены обновления?

Проверьте, является ли /var/db/freebsd-update/f465c3739385890c221dff1a05e578c6cae0d0430e46996d319db7439f884336-install символической ссылкой.

Я бы предпочел не делать такого нарушения слоя и не делать Poudriere зависимым от внутренних файлов freebsd-update, подобных этому. Вместо этого я просто выведу сообщение (как это делается с другим кодом, например, с проверками tty).

Если Poudriere может определить, была ли выборка только что выполнена, то почему freebsd-update выводит сообщение?

почему freebsd-update выводит сообщение

Потому что freebsd-update fetch install является синонимом freebsd-update fetch; freebsd-update install .

Правильно, но вы говорите мне, что poudriere может определять, были ли только что получены обновления, поэтому freebsd-update install должен иметь возможность печатать бессмысленное сообщение, если еще ничего не было получено. Простое сравнение mtime будет работать в этом случае, как мы делаем с pkg update , показывая только сообщение после того, как последняя выборка является устаревшим определенным периодом времени.

Да, вероятно, с этим справится freebsd-update. Причина, по которой я не сделал этого изначально, заключается в том, что я не хотел побуждать людей слепо скачивать и устанавливать обновления.

Но на этом этапе, даже если я исправлю freebsd-update, poudriere будет вызывать старый код freebsd-update в течение нескольких лет, поэтому обучение poudriere удалению этого избавит от некоторой путаницы.

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