7. GNATS

Для отслеживания ошибок и запросов на изменения проект FreeBSD использует GNATS. Если вы исправили ошибку или внесли изменения, описанные в одном из сообщений об ошибках (PR), не забудьте закрыть это сообщение, используя команду edit-pr pr-number на машине freefall. Хорошо будет, если вы потратите немного времени на поиск и закрытие других PR по этой теме. Вы и сами можете пользоваться send-pr(1) для предложения изменений, которые, по вашему мнению, могут потребовать более подробного обсуждения с коллегами.

Более подробно о GNATS можно прочитать по адресам:

Вы можете пользоваться локальной копией GNATS, поддерживая ее синхронность при помощи CVSup. При этом вы можете использовать команды GNATS локально, а также пользоваться другими интерфейсами, такими как tkgnats, что позволит вам работать с базой сообщений об ошибках без соединения с Интернет.

Процедура 1. Использование локальной копии GNATS
  1. Если вы еще не поддерживаете зеркало дерева GNATS, добавьте в ваш supfile строку

    gnats release=current prefix=/usr

    Учтите, что эта строка должна предшествовать любым строкам, содержащим параметр <<tag=>>, поскольку дерево GNATS не находится под управлением CVS и не имеет символьных меток.

    После запуска cvsup в каталоге /usr/gnats будет создана копия дерева GNATS FreeBSD. Вы можете использовать файл refuse для копирования отдельных категорий. Например, если вас интересуют только сообщения категории docs, добавьте в файл /usr/local/etc/cvsup/sup/refuse[1] строку

    gnats/[a-ce-z]*

    Прочие примеры в этом разделе подразумевают, что вы синхронизируете только категорию docs.

  2. Установите порт GNATS из ports/databases/gnats. После установки вы обнаружите различные служебные каталоги в дереве $PREFIX/share/gnats.

  3. Создайте символьные ссылки на синхронизированные каталоги GNATS в служебный каталог GNATS:

    # cd /usr/local/share/gnats/gnats-db
    # ln -s /usr/gnats/docs

    Проделайте эту операцию для всех синхронизируемых категорий.

  4. Обновите служебный файл GNATS categories, расположенный в каталоге $PREFIX/share/gnats/gnats-db/gnats-adm:

    # This category is mandatory
    pending:Category for faulty PRs:gnats-admin:
    #
    # FreeBSD categories
    #
    docs:Documentation Bug:freebsd-doc:
  5. Запустите $PREFIX/libexec/gnats/gen-index для создания индекса. Вывод этой команды должен быть перенаправлен в файл $PREFIX/share/gnats/gnats-db/gnats-adm/index. Эту операцию можно выполнять периодически при помощи cron(8) или запускать cvsup(1) из скрипта, который затем сгенерирует новый индекс:

    # /usr/local/libexec/gnats/gen-index \
    	> /usr/local/share/gnats/gnats-db/gnats-adm/index
  6. Протестируйте созданную конфигурацию запросом к базе данных GNATS. Следующая команда выведет список открытых сообщений об ошибках в категории docs:

    # query-pr -c docs -s open

    Другие интерфейсы, например, порт databases/tkgnats также должны работать.

  7. Выберите PR и закройте его.

Примечание:

Описанная процедура позволяет вам выбирать и просматривать сообщения об ошибках локально. Для редактирования или закрытия вам потребуется зайти на машину freefall.



[1] Точный путь к файлу зависит от установок *default base в вашем файле supfile.

Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.

По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.