Стандарт кодирования GNU. : Издание версии

Вперед Назад Содержание

20. Издание версии

Упакуйте поставку пакета Foo версии 69.96 в сжатый с помощью gzip tar-файл с именем foo-69.96.tar.gz. Он должен распаковываться в подкаталог с именем foo-69.96.

Процедура построения и установки программы никогда не должна изменять файлы, входящие в состав поставки. Это значит, что все файлы, образующие часть программы, должны быть разделены на исходные файлы и неисходные файлы. Исходные файлы пишутся человеком и никогда не изменяются автоматически; неисходные файлы получаются из исходных с помощью других программ под управлением Makefile.

Естественно, все исходные файлы должны входить в поставку. Допустимо включать также и неисходные файлы, предполагая, что они актуальны и машинно-независимы, так что построение поставки никогда не будет изменять их. Мы обычно включаем все файлы, произведенные Bison, Lex, TeX и Makeinfo; это помогает избежать нежелательных зависимостей между нашими поставками, так что пользователи смогут установить почти любой пакет, который они захотят.

В случае, если Вы распространяете неисходные файлы, необходимо перед созданием поставки убедиться в их актуальности, чтобы они не изменялись при построении и установке программы.

Убедитесь, что каталог, в который распаковывается поставка (как и все его подкаталоги) доступен на запись для всей (восьмеричный режим доступа 777). Это нужно, чтобы с помощью старых версий tar, которые хранят хозяина файлов и права доступа в tar-архиве, непривилегированный пользователь мог извлечь все файлы.

Убедитесь, что все файлы в поставке доступны на чтение для любого пользователя.

Убедитесь, что в поставку не входят файлы с именами длиннее 14 символов. Точно так же, никакой файл, создаваемый при построении программы, не должен иметь длину имени более 14 символов. Причина состоит в том, что некоторые системы придерживаются "глупой" интерпретации стандарта POSIX, и не позволяют открывать файлы с длинными именами, не пытаясь даже просто обрезать их.

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

Постарайтесь добиться также, чтобы все имена файлов будут различны в MS-DOS. Имя в MS-DOS состоит из 8 символов, за которыми возможно следует символ '.' и расширение до 3 символов. MS-DOS урезает лишние символы, появляющиеся как до, так и после точки. Так, 'foobarhacker.c' и 'foobarhacker.o' непротиворечивы, поскольку они урезаются до 'foobarha.c' и 'foobarha.o' соответственно, а эти имена различны.

Включайте в Вашу поставку копию 'texinfo.tex', которую Вы использовали для тестовой печатю любого '*.texinfo' файла.

Аналогично, если Ваша программа использует небольшой программный пакет GNU, такой, как regex, getopt, obstack или termcap, включите его в файл поставки. Если Вы их не включите, то Вы сэкономите конечно немного места, зато включив их в поставку многим пользователям не придется задумываться, где раздобыть отсутствующие файлы.


Вперед Назад Содержание