Контрольный список проверки pr vcpkg
Редакция: 1
Обзор
В этом документе представлен аннотированный проверка список, который члены команды vcpkg используют для применения метки "проверяемой" для входящих запросов на вытягивание. Если запрос на вытягивание нарушает любой из этих пунктов, мы можем попросить участник внести необходимые изменения, прежде чем мы можем объединить набор изменений.
Если вы считаете, что этот список проверка может быть улучшен, вы можете создать проблему или запрос на вытягивание. Увеличьте номер редакции при изменении содержимого списка проверка.
Контрольный список
Вы можете связать любой из этих элементов списка проверка в комментарии GitHub, скопировать адрес ссылки, присоединенный к каждому коду элемента.
c000001: не используются устаревшие вспомогательные функции
Дополнительные сведения см. в наших руководствах и политиках обслуживания.
c000002: обновлено поле "port-version"
Дополнительные сведения см. в наших руководствах и политиках обслуживания.
c000003: новые порты содержат поле "описание", написанное на английском языке
Описание полезно только одного или нескольких предложений. Если это возможно, рассмотрите возможность использования официального описания библиотеки.README.md
Автоматические переводы приемлемы, и мы рады очистить переводы на английский язык для наших участник.
Дополнительные сведения см. в документации по файлу манифеста.
c000004: в наборе изменений отсутствуют ненужные комментарии.
Дополнительные сведения см. в наших руководствах и политиках обслуживания.
c000005: скачанные архивы версии, если доступны
, чтобы архивное содержимое не изменялось, архивы, скачанные предпочтительно, имеют связанный тег версии, который можно увеличить вместе с портом"version"
.
c000006: новые порты передают ci проверка для тройных, которые библиотека официально поддерживает
Чтобы обеспечить высокий уровень качества портов vcpkg, мы просим, чтобы входящие порты поддерживали официальные платформы библиотеки.
c000007: исправления устраняют проблемы, связанные только с vcpkg.
По возможности исправления в исходном коде библиотеки должны быть вышестоящий в официальный репозиторий библиотеки. Открытие запроса на вытягивание в репозитории библиотеки поможет улучшить библиотеку для всех пользователей, а не только для пользователей vcpkg.
c000008: новые порты скачивают исходный код из официального источника, если они доступны
Чтобы уважать авторов библиотек и обеспечить безопасность кода, у вас есть порты, скачивая исходный код из официального источника. Мы можем сделать исключения, если исходный исходный код недоступен, и существует значительный интерес сообщества к поддержанию библиотеки в вопросе.
c000009: порты и порты называются правильно
Для специальных возможностей пользователей мы предпочитаем имена портов и функций портов быть интуитивно понятными и близкими к их коллегам в официальных источниках и других диспетчерах пакетов. Если вы не уверены в именовании функции порта или порта, рекомендуется проверка repology.org, packages.ubuntu.com или поиск дополнительных сведений с помощью поисковой системы. Мы также можем помочь нашим участник с этим, поэтому вы можете попросить предложения именования, если вы не уверены.
c000010: целевые объекты библиотеки экспортируются при необходимости
Чтобы обеспечить пользователям простую интеграцию системы сборки, обязательно экспортируйте и предоставьте средства поиска целевых объектов библиотеки, предназначенных для использования внизу. Целевые объекты, не предназначенные для экспорта, должны быть помечены частными и не экспортированы.
c000011: порты не используют приложения, которые изменяют систему пользователя
Порты должны поддерживать контракт vcpkg о том, чтобы не изменять систему пользователя, избегая приложений, которые делают это. Примерами этих приложений являются sudo
, apt
или brew
pip
. Используйте альтернативу этим типам программ, где это возможно.
c000012: порты с системными зависимостями включают в себя информационное сообщение во время установки.
Некоторые порты имеют библиотеку и зависимости инструментов, которые не существуют в vcpkg. Для этих отсутствующих зависимостей мы просим, чтобы участник добавили сообщение в верхней части порта portfile.cmake
о том, что отсутствующие зависимости и как их получить. Мы просим отобразить сообщение перед выполнением любой основной работы, чтобы убедиться, что пользователи могут "рано выйти" из процесса установки, если они отсутствуют зависимости.
Пример:
message(
"${PORT} currently requires the following libraries from the system package manager:
autoconf libtool
These can be installed on Ubuntu systems via sudo apt install autoconf libtool"
)
c000013: файлы манифеста используются вместо файлов CONTROL для новых портов
Многие существующие порты используют синтаксис ФАЙЛА CONTROL; хотя этот синтаксис будет поддерживаться в течение некоторого времени, новые порты не должны использовать их. Любой только что добавленный порт должен использовать файлы манифеста.
Мы также рекомендуем, когда значительные изменения вносятся в порты, что один переключается на файлы манифеста; однако это не обязательно. Вы можете найти vcpkg format-manifest
полезные.