From Fedora Project Wiki

Line 53: Line 53:
$ rpmdev-setuptree
$ rpmdev-setuptree
</pre>
</pre>
== Имена ==
[[Packaging/NamingGuidelines|Packaging:NamingGuidelines]]
Допустимые символы для именования пакета
<pre>
  a--z  A--Z 0--9
  -._+
</pre>
При присвоении имен пакетов для Fedora, мантайнеру необходимо использовать <code>-</code>
в качестве разделителя для названия частей. Мантайнер **НЕ** должен юзать <code>_ + . </code> в качестве разделителя.
Имя '''spec''' файла по схеме : <code>%{имя пакета}.spec</code>. Если имя пакета foo-1.0.0-1.src.rpm, то имя spec файла д.б. <code>foo.spec</code>
<code>%{номер версии}</code> не нужно писать в имени spec файла.
Поле <code>Version</code> в спеке должно быть.
<code>release number</code> (или в старых доках ''vepoch'') начинается с 1. При незначительных изменениях он увеличивается на 1.
При значительных изменениях увеличивается <code>version number</code> и <code>release number</code> опять начинается с 1.
См. также [[Packaging:DistTag|Packaging:DistTag]].

Revision as of 12:54, 6 November 2009

Предисловие

Этот конспект я вел исключительно для собственных нужд. Поэтому этот текст не является руководством, это необходимо понять прежде всего - это краткий конспект. Вместо любых разъяснений даны ссылки на исчерпывающие материалы по теме, которые обновляются, как и принято в комьюнити, более сведущими специалистами. В этом тескте также нет правильных переводов терминов.

Конспект написан по причине того, что в федора-вики много информации по теме, и, вместе с тем, некоторые особенности освещены слабо. По крайней мере, это вызвало у меня, как у ньюба, затруднения. Но, в целом, повторюсь, информации по данной теме в федора-вики много, англоязычной, естественно.

Автор выражает надежду, что изложенная информация будет полезна для успешного старта.


Начало

Источники:

  1. Join the package collection maintainers
  2. How to create an RPM package
  3. Building Packages Guide
  4. Packaging:Guidelines
  5. Packaging:NamingGuidelines
  6. New package process for existing contributors

Дополнительно

Перво-наперво посмотреть нет ли уже такого пакета в :

Можно взять спек от похожей проги (а лучше несколько)

$ yumdownloader --source sourcepackage-name


Настройка системы

How to create an RPM package

# yum groupinstall "Development Tools"
# yum install rpmdevtools

Создать отдельного юзера под которым будут собираться пакеты:

# /usr/sbin/useradd makerpm

Создать дерево каталогов, необходимое для сборки

$ rpmdev-setuptree

Имена

Packaging:NamingGuidelines

Допустимые символы для именования пакета

  a--z  A--Z 0--9
  -._+

При присвоении имен пакетов для Fedora, мантайнеру необходимо использовать - в качестве разделителя для названия частей. Мантайнер **НЕ** должен юзать _ + . в качестве разделителя.


Имя spec файла по схеме : %{имя пакета}.spec. Если имя пакета foo-1.0.0-1.src.rpm, то имя spec файла д.б. foo.spec

%{номер версии} не нужно писать в имени spec файла.

Поле Version в спеке должно быть.

release number (или в старых доках vepoch) начинается с 1. При незначительных изменениях он увеличивается на 1. При значительных изменениях увеличивается version number и release number опять начинается с 1.

См. также Packaging:DistTag.