Обсуждение:Краткое руководство по сборке пакета
Материал из ALT Linux Wiki
(заметки что бы не забыть. предложения исправлений.) |
м (→заметки что бы не забыть. предложения исправлений.: achtung!) |
||
(10 промежуточных версий не показаны.) | |||
Строка 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> | ||
+ | '''() :''' | ||
+ | Установите программы для сборки пакетов: <br> | ||
+ | '''()--> :''' | ||
+ | <s>{{cmd|apt-get install rpm-build gear}}</s><br> | ||
+ | '''()<-- :''' | ||
+ | {{cmd|apt-get install rpm-build gear hasher build-environment rpm-utils}}<br> | ||
+ | <sup> Новичкам: возможно перед этим надо будет добавить один ли несколько репозиториев в интернет. см [[Управление_пакетами]]. см [[Branches]] для получения ссылок.</sup> <br> | ||
+ | Проведите настройку [[Hasher]] как описано в [[Hasher/Краткое руководство]] | ||
+ | |||
'''2.1 Новый пакет'''<br> | '''2.1 Новый пакет'''<br> | ||
Строка 7: | Строка 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]], [[Руководство по написанию changelog]]</sup> <br> | ||
+ | |||
<br> | <br> | ||
Cозданные .gear/rules и foo.spec добавьте в созданный git репозиторий : {{cmd| git add foo.spec}} и {{cmd| git add .gear }}<br> | Cозданные .gear/rules и foo.spec добавьте в созданный git репозиторий : {{cmd| git add foo.spec}} и {{cmd| git add .gear }}<br> | ||
Проверьте что все добавилось - {{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.
К вопросу о том, какие репозитории должны быть подключены при сборке.
Обратите внимание, что при сборке система будет "стучаться" в репозитории с наиболее поздними версиями пакетов, и если у вас прописаны в источниках одновременно и "сизифус", и "пятая платформа"
- то пакет будет собран для "сизифуса". В итоге, например пакет начнет требовать питон 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.)