GNATS

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 01:27, 31 мая 2018.
GNATS
Разработчики: Чед Уолстром, Проект GNU
Выпущена: 1992; 29 years ago (1992)[1]
Постоянный выпуск: 4.2.0 / 28 February 2015 года; 6 years ago (2015-02-28)
Написана на: С
Операционная система: Кросс-платформенное
Тип ПО: Система отслеживания ошибок
Лицензия: GNU GPL
Веб-сайт gnu.org/software/gnats/

GNATS — свободная система отслеживания ошибок, созданная в рамках Проекта GNU. Распространяется по лицензии GNU GPL[2].

GNU GNATS включает в себя набор инструментов для отслеживания программных ошибок (багов), о которых сообщают пользователи на центральном сайте. Она решает проблему управления сообщениями и взаимодействия с пользователями различными способами. GNATS хранит всю информацию о сообщённой проблеме в её базах данных и предоставляет инструменты для запросов, редактирования и сопровождения баз данных.

Для проекта создан веб-интерфейс под названием Gnatsweb.

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

Особенности

Благодаря своей архитектуре GNATS не привязан к какому-либо одному интерфейсу пользователя — ею можно пользоваться через командную строку, электронную почту, Emacs или сетевого демона, обычно используемого с веб-интерфейсом. Вместе с тем фактом, что все базы данных и конфигурационные файлы GNATS могут храниться в простом текстовом файле, это облегчает использование и предоставляет хорошую гибкость[3].

Официально поддерживаемые интерфейсы

Имеется четыре официально поддерживаемых интерфейса GNATS[4]:

Gnatsweb
Веб-интерфейс для запроса и создания сообщений об ошибках, GNATS работает в качестве фонового процесса
Emacs-режим GNATS
Расширение ("major mode") для GNU Emacs и XEmacs, позволяющее получить непосредственный доступ к системам GNAT
send-pr / edit-pr / query-pr
Традиционные утилиты командной строки
TkGnats
Кроссплатформенное приложение, написанное на языке Tcl/Tk

GNU GNATS

Спустя десять лет выпущена новая версия GNU GNATS. Команда разработчиков выражает благодарность Alexandros Manoussakis из Juniper Networks, который проделал значительную работу.

GNU GNATS — это набор утилит для отслеживания ошибок и организации обратной связи с пользователями, сообщившими о данных проблемах. GNATS не привязан к определенному интерфейсу пользователя. Взаимодействовать с GNATS можно через командную строку, электронную почту, Emacs, также можно настроить сетевой демон (обычно в связке с веб-интерфейсом). GNATS позволяет хранить все базы данных и конфигурационные данные в текстовом файле. Всё это обеспечивает гибкость и простоту использования.

Основные изменения

  • Переход на лицензию GNU GPLv3.
  • Переход на использование automake при сборке проекта.
  • Исправлена сборка в различных окружениях (протестировано с gcc 2.95, 3.4, 4.8, 4.9, clang 3.1, 3.4, в ОС Linux, FreeBSD, Solaris, OS X).
  • Новая опция командной строки --global-databases-file для gnatsd и других утилит.
  • Новые опции для передачи хоста, порта, имя пользователя и пароля для send-pr.

Много исправлений ошибок, включая:

  • Исправлена ошибка безопасности FreeBSD-SA-05:20.cvsbug (уязвимости подвержена утилита send-pr).
  • Исправлено: при «send-pr --request-id» — происходила просто отсылка шаблона.
  • Более безопасный open/fopen для gen-index (больше не устанавливается с suid-битом).
  • Исправлено падение gnatsd при попытке заблокировать несуществующую PR.
  • Исправлена ошибка с интерфейсом Emacs.
  • Исправлены ошибки совместимости с sed и tr.
  • install-sid - bash-скрипт (а не /bin/sh).
  • Исправлена ошибка установки с установленной переменной DESTDIR.
  • Исправлена ошибка запросов «EXPR», которые содержат пробелы.
  • Исправлена ошибка с «invalid query format» при запросах, содержащих пробелы.
  • edit-pr теперь корректно возвращает код ошибки при неудачной попытке заблокировать PR.
  • edit-pr теперь может использовать email-алиасы.
  • Исправлена сборка на Solaris 7/8/10.

Примечания

  1. "gnats (7) man page". Retrieved 7 December 2016. Copyright (c) 1992 
  2. Сайт проекта GNATS [Электронный ресурс] / Дата обращения: 31.10.2016. — Режим доступа: http://www.gnu.org/software/gnats/
  3. Как интегрировать CVS и GNATS [Электронный ресурс] / Дата обращения: 31.10.2016. — Режим доступа: http://www.codealias.info/technotes/integrating_cvs_with_gnats
  4. "GNATS Frequently Asked Questions: Clients". В дистрибутиве GNATS имеется несколько клиентских приложений. Наиболее важными из них являются Gnatsweb (WWW-интерфейс GNATS), TkGnats (интерфейс на основе Tcl/Tk), режим GNATS для Emacs и XEmacs, а также send-pr (традиционный интерфейс командной строки для отправки сообщений об ошибках через электронную почту).