User:Tim4dev:Как стать mantainer'ом пакета в Fedora. Конспект

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(Настройка системы)
(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