20.3. Нежелательные файлы

Иногда может быть необходимо включить некоторый нежелатеьный для нас файл в дерево исходных текстов FreeBSD. Например, если устройство требует загрузки в него некоторого маленького двоичного кода перед тем, как устройство заработает, и мы не имеем исходных текстов этого кода, то говорится, что двоичный файл является нежелательным. Для включения нежелательных файлов в дерево исходных текстов FreeBSD имеются следующие соглашения.

  1. Любой файл, интерпретируемый или выполняемый системным(и) CPU, не в форме исходного кода, является нежелательным.

  2. Любой файл с лицензией, ограничивающей более, чем BSD или GNU, является нежелательным.

  3. Файл, содержащий загружаемые двоичные данные, используемые аппаратным обеспечением, не являются нежелательными, если только к нему не применимы условия (1) или (2). Он должен быть сохранен в нейтральном к архитектуре формате ASCII (рекомендуется применить утилиты file2c или uuencode).

  4. Люой нежелательный файл требует особое согласие со стороны основной команды разработчиков до того, как он будет добавлен в хранилище CVS.

  5. Нежелательные файлы помещаются в каталог src/contrib или src/sys/contrib.

  6. Части одного модуля должны храниться вместе. Нет необходимости разбивать их, если только нет совместного использования с кодом, не являющимся нежелательным.

  7. Объектные файлы именуются arch/filename.o.uu>.

  8. Файлы ядра;

    1. Должны всегда упоминаться в conf/files.* (для упрощения построения).

    2. Должны всегда присутствовать в LINT, но основная команда разработчиков решает в каждом конкретном случае, должны ли они быть раскомментированы или нет. Конечно, позже основная команда разработчиков может изменить свое решение.

    3. Вопрос о вхождении в состав релиза решается инженером, ответственным за релиз.

  9. Файлы уровня пользователя;

    1. Основная команда разработчиков решает, должен ли код стать частью выполнения команды make world.

    2. Релиз-инженер решает, войдут ли они в релиз.