From Fedora Project Wiki

(Blanked the page)
 
Line 1: Line 1:
== Предисловие ==


Этот конспект я вел исключительно для собственных нужд. Поэтому этот текст не является руководством, это необходимо понять прежде всего - это краткий конспект. Вместо любых разъяснений даны ссылки на исчерпывающие материалы по теме, которые обновляются, как и принято в комьюнити, более сведущими специалистами. В этом тескте также нет правильных переводов терминов.
Конспект написан по причине того, что в федора-вики много информации по теме, и, вместе с тем, некоторые особенности освещены слабо. По крайней мере, это вызвало у меня, как у ньюба, затруднения. Но, в целом, повторюсь, информации по данной теме в федора-вики много, англоязычной, естественно.
Автор выражает надежду, что изложенная информация будет полезна для успешного старта.
== Начало ==
Источники:
# [[PackageMaintainers/Join|Join the package collection maintainers]]
# [[PackageMaintainers/CreatingPackageHowTo|How to create an RPM package]]
# [[Docs/Drafts/BuildingPackagesGuide|Building Packages Guide]]
# [[Packaging/Guidelines|Packaging:Guidelines]]
# [[Packaging/NamingGuidelines|Packaging:NamingGuidelines]]
# [[PackageMaintainers/NewPackageProcess|New package process for existing contributors]]
Дополнительно
* [http://magazine.redhat.com/2008/02/28/when-sally-met-eddie-the-fedora-package-story/ When Sally met Eddie: The Fedora package story]
* [[CVS_access_for_package_maintainers|CVS access for package maintainers]]
* [[Using_CVS_FAQ_for_package_maintainers|Using CVS FAQ for package maintainers]]
* [http://gazette.linux.ru.net/lg67/articles/rus-nazario2.html Использование ssh-agent от SSH1 и OpenSSH ]
Перво-наперво посмотреть нет ли уже такого пакета в :
* [https://admin.fedoraproject.org/pkgdb/packages/ Fedora Package Database]
* в списке [https://bugzilla.redhat.com/ Review Request]
* а также в списке https://bugzilla.rpmfusion.org/ (прим. авт.: я так "накололся" с mocp - "изобрел" spec, который уже был на ревью в rpmfusion)
Можно взять спек от похожей проги (а лучше несколько)
<pre>
$ yumdownloader --source sourcepackage-name
</pre>
== Настройка системы ==
[[PackageMaintainers/CreatingPackageHowTo|How to create an RPM package]]
<pre>
# yum groupinstall "Development Tools"
# yum install rpmdevtools
</pre>
Создать отдельного юзера под которым будут собираться пакеты:
<pre>
# /usr/sbin/useradd makerpm
</pre>
Создать дерево каталогов, необходимое для сборки
<pre>
$ rpmdev-setuptree
</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]].

Latest revision as of 12:55, 6 November 2009