Рейтинговые книги
Читем онлайн Основы программирования в Linux - Нейл Мэтью

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 106 107 108 109 110 111 112 113 114 ... 200

В табл. 9.3 сравниваются основные команды в системах CVS и Subversion, эквивалентные друг другу.

Таблица 9.3

CVS Subversion cvs -d /usr/local/repository init svnadmin create /usr/local/repository cvs import wrox/chap9-cvs svn import cvs-sp file:///usr/local/repository/trunk cvs checkout wrox/chap9-cvs svn checkout file:///usr/local/repository/trunk cvs-sp cvs diff svn diff cvs rdiff svn diff tag1 tag2 cvs update svn status -u cvs commit svn commit

Полную документацию системы Subversion см. в интерактивной книге "Version Control with Subversion" ("Управление версиями с помощью Subversion") на Web-сайте http://svnbook.red-bean.com/.

Написание интерактивного справочного руководства

Если вы как часть задачи разрабатываете новую команду, вам следует создать интерактивное справочное руководство, описывающее ее работу. Как вы уже вероятно заметили, макет большинства страниц такого руководства следует жестко заданному шаблону следующего вида:

□ Header (Заголовок);

□ Name (Имя);

□ Synopsis (Краткий обзор);

□ Description (Описание);

□ Options (Опции);

□ Files (Файлы);

□ See also (См. также);

□ Bugs (Ошибки).

Вы можете пропустить разделы, которые не важны. Часто в конце справочного руководства появляется раздел "Author" (Автор).

Страницы справочного руководства в системах UNIX форматируются утилитой nroff или, как в большинстве систем Linux эквивалентом проекта GNU, утилитой groff. Обе они — разработки на основе более ранней команды roff или run-off. Вход утилиты nroff или groff — обычный текстовый файл за исключением того, что на первый взгляд синтаксис его непостижимо труден.

Без паники! Самый легкий способ написания новой программы в среде UNIX — начать с уже имеющейся программы и приспособить ее для своих целей, так же нужно поступать и с интерактивным справочным руководством.

В задачу данной книги не входит подробное объяснение множества опций, команд и макросов, которые может применять команда groff (или nroff). Вместо этого мы представляем простой шаблон, который вы можете позаимствовать и переделать в интерактивное справочное руководство для своего приложения.

Далее приведен исходный код страницы справочного руководства для приложения myapp, хранящийся в файле myapp.1.

.TH MYAPP 1

.SH NAME

Myapp - A simple demonstration application that does very little.

.SH SYNOPSIS

.В myapp

[-option ...]

.SH DESCRIPTION

.PP

fImyappfP is a complete application that does nothing useful.

.PP

It was written for demonstration purposes.

.SH OPTIONS

.PP

It doesn't have any, but let's pretend, to make this template complete:

.TP

.BI -option

If there was an option, it would not be -option.

.SH RESOURCES

.PP

myapp uses almost no resources.

.SR DIAGNOSTICS

The program shouldn't output anything, so if you find it doing so there's

probably something wrong. The return value is zero.

.SH SEE ALSO

The only other program we know with this little functionality is the

ubiquitous hello world application.

.SH COPYRIGHT

myapp is Copyright (c) 2007 Wiley Publishing, Inc.

This program is, free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along, with this program; if not, write to the Free Software

Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 021111307 USA.

.SH BUGS

There probably are some, but we don't know what they are yet.

.SH AUTHORS

Neil Matthew and Rick Stones

Как видите, макрос вводится с помощью точки (.) в начале строки и, как правило, дается в сокращенном виде. 1 в конце первой строки — номер раздела руководства, в который помещается команда. Поскольку команды располагаются в разделе 1, именно туда мы и помещаем наше новое приложение.

Вы сможете сгенерировать собственное интерактивное руководство, изменив приведенную страницу и изучив исходный код других страниц. Можно также посмотреть в архиве на Web-странице http://www.tldp.org/ часть Linux Documentation Project (Проект документирования Linux) "Linux Man Page mini-HowTo" ("Краткое руководство по написанию страниц интерактивного руководства в Linux"), написанную Дженс Швейкхардт (Jens Schweikhardt).

Имея исходный текст страницы справочного руководства, можно обработать его утилитой groff. Команда groff обычно формирует текст ASCII (-Tascii) или выходной файл PostScript (-Tps). С помощью опции -man сообщите groff, что это страница интерактивного справочного руководства, и будут загружены специальные макроопределения, относящиеся к страницам интерактивного руководства.

$ groff -Tascii -man myapp.1

У этой команды следующий вывод.

MYAPP(1)                                                                 MYAPP(1)

NAME

       Myapp — A simple demonstration application that does very

       little.

SYNOPSIS

       myapp [-option ...]

DESCRIPTION

       myapp is a complete application that does nothing useful.

       It was written for demonstration purposes.

OPTIONS

       It doesn't have any, but let's pretend, to make this temp-

       late complete:

       -option

              If there was an option, it would not be -option.

RESOURCES

      myapp uses almost no resources.

DIAGNOSTICS

       The program shouldn't output anything, so if you find it

       doing so there's probably something wrong. The return

       value is zero.

SEE ALSO

       The only other program we know with this little func-

       tionality is the ubiquitous Hello World application.

COPYRIGHT

      myapp is Copyright (c) 2007 Wiley Publishing, Inc.

      This program is free software; you can redistribute it

      and/or modify it under the terms of the GNU General Public

      License as published by the Free Software Foundation;

      either version 2 of the License, or (at your option) any

      later version.

      This program is distributed in the hope that it will be

      useful, but WITHOUT ANY WARRANTY; without even the implied

      warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR

      PURPOSE. See the GNU General Public License for more

      details.

1

MYAPP(1)                                                           MYAPP(1)

       You should have received a copy of the GNU General Public

       License along with this program; if not, write to the Free

       Software Foundation, Inc., 59 Temple Place — Suite 330

       Boston, MA 02111-1307, USA

BUGS

       There probably are some, but we don't know what they are yet.

AUTHORS

       Neil Matthew and Rick Stones

Теперь, когда интерактивное руководство протестировано, необходимо указать для него исходный файл. Команда man, показывающая страницы руководства, использует переменную окружения MANPATH для поиска нужных страниц. Вы можете поместить новую страницу в каталог локальных страниц интерактивного руководства или прямо в системный каталог /usr/man/man1.

Когда кто-нибудь в первый раз запросит эту страницу интерактивного справочного руководства, команда man автоматически отформатирует ее и отобразит. Некоторые версии man могут автоматически генерировать и сохранять заранее отформатированные (возможно, сжатые) текстовые ASCII-версии страниц интерактивного справочного руководства, чтобы ускорить в дальнейшем выполнение запросов на вывод одной и той же страницы.

Распространение программного обеспечения

Главная задача, возникающая при распространении программного обеспечения, — гарантия того, что в дистрибутив включены все файлы правильных версий. К счастью, интернет-сообщество программистов выработало ряд очень надежных методов, которые прошли долгий путь, устраняя возникавшие проблемы. К этим методам относятся следующие:

□ создание стандартными средствами, имеющимися на всех машинах с ОС Linux, единого пакета, включающего файлы всех компонентов;

□ правляемая нумерация версий пакетов;

□ соглашение по именованию файлов, требующее включения номера версии в файл пакета, чтобы пользователи могли легко увидеть, с какой версией они работают;

1 ... 106 107 108 109 110 111 112 113 114 ... 200
На этой странице вы можете бесплатно читать книгу Основы программирования в Linux - Нейл Мэтью бесплатно.
Похожие на Основы программирования в Linux - Нейл Мэтью книги

Оставить комментарий