Обсуждение:Краткое руководство по сборке пакета: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показаны 4 промежуточные версии 2 участников)
Строка 1: Строка 1:
== заметки что бы не забыть. предложения исправлений. ==
== заметки что бы не забыть. предложения исправлений. ==
'''1.2 Доступ к репозиторию'''<br>
'''( )<-- :''' <br>
Для сборки, в принципе, достаточно наличия нужных репозиториев пописанных в источниках установки. Хотя, это может показаться не слишком удобным, потому что при перебоях доступа к серверу, процесс сборки надо будет перезапускать. <br>
Обратите внимание: обязательно нужно указывать _ДВА_ репозитория с каждого источника - i586 и noarch.
'''К вопросу о том, какие репозитории должны быть подключены при сборке.'''<br>
Обратите внимание, что при сборке система будет "стучаться" в репозитории с наиболее поздними версиями пакетов, и если у вас прописаны в источниках одновременно и "сизифус", и "пятая платформа"
: НЕЛЬЗЯ этого делать!! см. соотв. предупреждение про [[Sisyphus]] --[[Участник:MichaelShigorin|mike]] 14:11, 15 декабря 2010 (UTC)
- то пакет будет собран для "сизифуса". В итоге, например пакет начнет требовать питон 2.6 вместо 2.5, потому что пакет собирался в окружении с питоном 2.6. 
Если вы собираете пакет для дистрибутива из линейки "5-й платформы" (скажем "Alt-Linux Школьный Lite 5.0.1"), то отключите "сизифус".


'''1.3 Сборочная среда'''<br>
'''1.3 Сборочная среда'''<br>
Строка 7: Строка 21:
<s>{{cmd|apt-get install rpm-build gear}}</s><br>
<s>{{cmd|apt-get install rpm-build gear}}</s><br>
'''()<-- :'''
'''()<-- :'''
{{cmd|apt-get install rpm-build gear hasher build-environment}}<br>
{{cmd|apt-get install rpm-build gear hasher build-environment rpm-utils}}<br>
<sup> Новичкам: возможно перед этим надо будет добавить один ли несколько репозиториев в интернет. см [[Управление_пакетами]]</sup> <br>
<sup> Новичкам: возможно перед этим надо будет добавить один ли несколько репозиториев в интернет. см [[Управление_пакетами]]. см [[Branches]] для получения ссылок.</sup> <br>
Проведите настройку [[Hasher]] как описано в [[Hasher/Краткое руководство]]
Проведите настройку [[Hasher]] как описано в [[Hasher/Краткое руководство]]


Строка 18: Строка 32:
'''( )<-- :''' <br>
'''( )<-- :''' <br>
Напишите .spec-файл (спек). Спек можно составить по [[SampleSpecs|примерам]]. Сохраните файл под именем foo.spec .<br>
Напишите .spec-файл (спек). Спек можно составить по [[SampleSpecs|примерам]]. Сохраните файл под именем foo.spec .<br>
<sup> Новичкам: см вводную информацию по составлению spec в [http://wiki.oszone.net/index.php/%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%B8_%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_Spec-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0 wiki.oszone.net:Разбор и корректировка Spec-файла], [http://www.lexpr.ru/node/39 www.lexpr.ru:Создание spec-файла]. и ещё [[Spec]], [[SpecTips]]</sup> <br>
<sup> Новичкам: см вводную информацию по составлению spec в [http://wiki.oszone.net/index.php/%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%B8_%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_Spec-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0 wiki.oszone.net:Разбор и корректировка Spec-файла], [http://www.lexpr.ru/node/39 www.lexpr.ru:Создание spec-файла]. и ещё [[Spec]], [[SpecTips]], [[Руководство по написанию changelog]]</sup> <br>


<br>
<br>
Строка 25: Строка 39:
Переходите к шагу [[#Фиксирование изменений]] <br>
Переходите к шагу [[#Фиксирование изменений]] <br>
: Ммм... ну если про gear (я склонен сперва разбирать отдельно RPM из спека и исходников, а уж потом под это всё подсовывать следующий этап) -- то тогда уж [http://uneex.ru/LecturesCMC/PackageMaintaining2009 Гошины лекции] (конкретно "[http://uneex.ru/LecturesCMC/PackageMaintaining2009/09 Git, Gear и git.alt]") стоит упомянуть :-) --[[Участник:MichaelShigorin|mike]] 12:29, 12 декабря 2010 (UTC)
: Ммм... ну если про gear (я склонен сперва разбирать отдельно RPM из спека и исходников, а уж потом под это всё подсовывать следующий этап) -- то тогда уж [http://uneex.ru/LecturesCMC/PackageMaintaining2009 Гошины лекции] (конкретно "[http://uneex.ru/LecturesCMC/PackageMaintaining2009/09 Git, Gear и git.alt]") стоит упомянуть :-) --[[Участник:MichaelShigorin|mike]] 12:29, 12 декабря 2010 (UTC)
'''5 Сборка'''<br>
'''( )--> :''' <br>
<s>И, наконец, сборка! <br></s>
<s>gear-hsh $TMP/</s>
'''( )<-- :''' <br>
Подготовьте рабочий каталог. я создал tmp на одном уровне с репозиторием. (т.е. foo/ и /tmp находятся рядом) не обязательно делать это именно так, но тогда измените пути до рабочего каталога в команде.
Выполните сборку.<br>
(Команда выполняется внутри репозитория)
gear-hsh -v ./../tmp -- --no-sisyphus-check=packager,gpg,changelog
(''по поводу "--no-sisyphus-check=packager,gpg,changelog" надо отметить отдельно - это указание пропустить проверки валидности e-mail адреса упаковщика, подписи и лога изменений (все из-за того-же адреса упаковщика). Это нужно только в случае если вы делаете пакет для alt-linux не будучи участником alt-team.'')

Текущая версия от 14:11, 15 декабря 2010

заметки что бы не забыть. предложения исправлений.

1.2 Доступ к репозиторию
( )<-- :
Для сборки, в принципе, достаточно наличия нужных репозиториев пописанных в источниках установки. Хотя, это может показаться не слишком удобным, потому что при перебоях доступа к серверу, процесс сборки надо будет перезапускать.

Обратите внимание: обязательно нужно указывать _ДВА_ репозитория с каждого источника - i586 и noarch.

К вопросу о том, какие репозитории должны быть подключены при сборке.
Обратите внимание, что при сборке система будет "стучаться" в репозитории с наиболее поздними версиями пакетов, и если у вас прописаны в источниках одновременно и "сизифус", и "пятая платформа"

НЕЛЬЗЯ этого делать!! см. соотв. предупреждение про Sisyphus --mike 14:11, 15 декабря 2010 (UTC)
- то пакет будет собран для "сизифуса". В итоге, например пакет начнет требовать питон 2.6 вместо 2.5, потому что пакет собирался в окружении с питоном 2.6.  

Если вы собираете пакет для дистрибутива из линейки "5-й платформы" (скажем "Alt-Linux Школьный Lite 5.0.1"), то отключите "сизифус".


1.3 Сборочная среда
()  : Установите программы для сборки пакетов:
()--> : apt-get install rpm-build gear
()<-- : apt-get install rpm-build gear hasher build-environment rpm-utils
Новичкам: возможно перед этим надо будет добавить один ли несколько репозиториев в интернет. см Управление_пакетами. см Branches для получения ссылок.
Проведите настройку Hasher как описано в Hasher/Краткое руководство


2.1 Новый пакет
( )--> :
Напишите .spec-файл (спек). Спек можно составить по примерам.

( )<-- :
Напишите .spec-файл (спек). Спек можно составить по примерам. Сохраните файл под именем foo.spec .
Новичкам: см вводную информацию по составлению spec в wiki.oszone.net:Разбор и корректировка Spec-файла, www.lexpr.ru:Создание spec-файла. и ещё Spec, SpecTips, Руководство по написанию changelog


Cозданные .gear/rules и foo.spec добавьте в созданный git репозиторий : git add foo.spec и git add .gear
Проверьте что все добавилось - git status и закомиттесь git commit. Переходите к шагу #Фиксирование изменений

Ммм... ну если про gear (я склонен сперва разбирать отдельно RPM из спека и исходников, а уж потом под это всё подсовывать следующий этап) -- то тогда уж Гошины лекции (конкретно "Git, Gear и git.alt") стоит упомянуть :-) --mike 12:29, 12 декабря 2010 (UTC)


5 Сборка
( )--> :
И, наконец, сборка!
gear-hsh $TMP/

( )<-- :
Подготовьте рабочий каталог. я создал tmp на одном уровне с репозиторием. (т.е. foo/ и /tmp находятся рядом) не обязательно делать это именно так, но тогда измените пути до рабочего каталога в команде. Выполните сборку.
(Команда выполняется внутри репозитория)

gear-hsh -v ./../tmp -- --no-sisyphus-check=packager,gpg,changelog

(по поводу "--no-sisyphus-check=packager,gpg,changelog" надо отметить отдельно - это указание пропустить проверки валидности e-mail адреса упаковщика, подписи и лога изменений (все из-за того-же адреса упаковщика). Это нужно только в случае если вы делаете пакет для alt-linux не будучи участником alt-team.)