(→Начало) |
|||
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
Предисловие
Этот конспект я вел исключительно для собственных нужд. Поэтому этот текст не является руководством, это необходимо понять прежде всего - это краткий конспект. Вместо любых разъяснений даны ссылки на исчерпывающие материалы по теме, которые обновляются, как и принято в комьюнити, более сведущими специалистами. В этом тескте также нет правильных переводов терминов.
Конспект написан по причине того, что в федора-вики много информации по теме, и, вместе с тем, некоторые особенности освещены слабо. По крайней мере, это вызвало у меня, как у ньюба, затруднения. Но, в целом, повторюсь, информации по данной теме в федора-вики много, англоязычной, естественно.
Автор выражает надежду, что изложенная информация будет полезна для успешного старта.
Начало
Источники:
- Join the package collection maintainers
- How to create an RPM package
- Building Packages Guide
- Packaging:Guidelines
- Packaging:NamingGuidelines
- New package process for existing contributors
Дополнительно
- When Sally met Eddie: The Fedora package story
- CVS access for package maintainers
- Using CVS FAQ for package maintainers
- Использование ssh-agent от SSH1 и OpenSSH
Перво-наперво посмотреть нет ли уже такого пакета в :
- Fedora Package Database
- в списке Review Request
- а также в списке https://bugzilla.rpmfusion.org/ (прим. авт.: я так "накололся" с mocp - "изобрел" spec, который уже был на ревью в rpmfusion)
Можно взять спек от похожей проги (а лучше несколько)
$ yumdownloader --source sourcepackage-name
Настройка системы
# yum groupinstall "Development Tools" # yum install rpmdevtools
Создать отдельного юзера под которым будут собираться пакеты:
# /usr/sbin/useradd makerpm
Создать дерево каталогов, необходимое для сборки
$ rpmdev-setuptree
Имена
Допустимые символы для именования пакета
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.