Обсуждение:Краткое руководство по сборке пакета

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
м (заметки что бы не забыть. предложения исправлений.: achtung!)
 
(7 промежуточных версий не показаны.)
Строка 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}}<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://www.lexpr.ru/node/39 www.lexpr.ru/node/39]. и ещё [[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>
Строка 24: Строка 38:
Проверьте что все добавилось - {{cmd| git status}} и закомиттесь {{cmd| git commit}}.
Проверьте что все добавилось - {{cmd| git status}} и закомиттесь {{cmd| git commit}}.
Переходите к шагу [[#Фиксирование изменений]] <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)
 +
 +
 +
'''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.)

 
Личные инструменты