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

Материал из ALT Linux Wiki
Нет описания правки
 
Строка 8: Строка 8:


'''К вопросу о том, какие репозитории должны быть подключены при сборке.'''<br>
'''К вопросу о том, какие репозитории должны быть подключены при сборке.'''<br>
Обратите внимание, что при сборке система будет "стучаться" в репозитории с наиболее поздними версиями пакетов, и если у вас прописаны в источниках одновременно и "сизифус", и "пятая платформа" - то пакет будет собран для "сизифуса". В итоге, например пакет начнет требовать питон 2.6 вместо 2.5, потому что пакет собирался в окружении с питоном 2.6.   
Обратите внимание, что при сборке система будет "стучаться" в репозитории с наиболее поздними версиями пакетов, и если у вас прописаны в источниках одновременно и "сизифус", и "пятая платформа"
: НЕЛЬЗЯ этого делать!! см. соотв. предупреждение про [[Sisyphus]] --[[Участник:MichaelShigorin|mike]] 14:11, 15 декабря 2010 (UTC)
- то пакет будет собран для "сизифуса". В итоге, например пакет начнет требовать питон 2.6 вместо 2.5, потому что пакет собирался в окружении с питоном 2.6.   


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

Текущая версия от 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.)