как создать ручную запись для пакета deb

Где мне написать ручную запись при создании пакета deb? Есть ли какое-либо правило форматирования/лучшая практика для соблюдения?

Я очень новичок в создании пакетов deb. Следуя некоторым учебным пособиям, я только что создал пакет, который прекрасно устанавливается/выполняется, поэтому теперь я хотел бы написать некоторую документацию, чтобы man myFancyPackage что-то возвращало вместо отсутствия ручного ввода для myFancyPackage.

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


person aherve    schedule 09.01.2014    source источник


Ответы (2)


Существует множество способов сборки пакета Debian, но в настоящее время «лучшей практикой» является использование инструментов, предоставляемых Debhelper. В случае справочных страниц есть инструмент с именем dh_installman (прочитайте его справочная страница), которая автоматически вызывается dh. Если вы использовали dh_make или подобное для создания шаблона для своего пакета, то вызов dh будет в вашем файле debian/rules.

dh_installman работает, читая файл debian/manpages или debian/nameofyourpackage.manpages. В этом файле есть список путей, указывающих на справочные страницы вашего пакета. Пути указаны относительно корня вашего пакета. Здесь у вас есть пример реального пакета. Затем эта программа правильно установит ваши справочные страницы в правильный каталог.

Итак, подведем итог: вам нужно только создать debian/package.manpages и заполнить его путями к вашим справочным страницам. Эти пути должны быть относительно корня вашего пакета. Если вы, упаковщик, пишете справочные страницы, они должны быть помещены в каталог Debian/.

person rul    schedule 09.01.2014
comment
Это немного слишком абстрактно. Пожалуйста, добавьте больше информации - что именно писать, где именно. Прочитав это, я до сих пор не знаю, что делать. + Ссылка на пример мертва. - person Youda008; 31.12.2015
comment
Связанный вопрос здесь - person jarno; 21.11.2019
comment
The paths are relative to the root of your package. Что, если справочная страница генерируется системой сборки и автоматически устанавливается где-то в $(prefix), как это повлияет на справочную страницу? - person lanoxx; 02.05.2020

Man-страницы традиционно составлялись на языке набора текста под названием roff с использованием пакета макросов под названием an (поэтому командная строка была roff -man, sic), но теперь мало кто пишет сырой roff.

Существуют различные форматы документации SGML и XML, которые позволяют генерировать man исходных кодов страниц, хотя в наши дни Markdown, вероятно, становится де-факто стандартом для новой документации. Для меня самым популярным поиском в Google является https://github.com/remarkjs/remark-man. хотя я бы определенно посоветовал вам взглянуть на pandoc.

# NAME

Markdown - popular text markup language

# SYNOPSIS

man markdown

# DESCRIPTION

This is a popular lightweight syntax
to generate styled text from an
editor-friendly text source.
It is used on [Stack Overflow][1],
[Github][2], and increasingly on
blogging and authoring platforms.

  [1]: https://stackoverflow.com/
  [2]: https://github.com/

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

=head1 NAME

Pod::Example - Example POD document

=head1 SYNOPSIS

pod2man thisdoc.pod >thisdoc.1

=head1 DESCRIPTION

Lightweight syntax for subheads,
hyperlinks, indented lists,
and not much else.
Natively supported in Perl source files
to facilitate a crude form of
literate programming.
person tripleee    schedule 03.06.2018