Kernel/getting sources: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 15: Строка 15:
Клонируем репозиторий так, чтоб remote назывался gears/std-def (опция <code>-o</code>) в каталог <code>linux</code> (в будущем другие флейворы тоже будут там) и открываем бранч <code>std-def/sisyphus</code> из него:
Клонируем репозиторий так, чтоб remote назывался gears/std-def (опция <code>-o</code>) в каталог <code>linux</code> (в будущем другие флейворы тоже будут там) и открываем бранч <code>std-def/sisyphus</code> из него:


  $ '''git clone''' -n -o gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git linux
<pre>$ git clone -n -o gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git linux</pre>


{{Примечание| Если у вас уже есть репозиторий с ядром можно добавить к нему наши remote:
{{Примечание| Если у вас уже есть репозиторий с ядром можно добавить к нему наши remote:
  linux$ '''git remote''' add -f gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git
<pre>linux$ git remote add -f gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git</pre>
}}
}}
{{Примечание| Через какое-то время понадобится обновить исходный код ядра, можно не повторять предыдущие шаги, а сделать <code>git fetch</code> нужному remote и обязательно открыть/обновить нужный бранч (см. ниже).
{{Примечание| Через какое-то время понадобится обновить исходный код ядра, можно не повторять предыдущие шаги, а сделать <code>git fetch</code> нужному remote и обязательно открыть/обновить нужный бранч (см. ниже).

Версия от 18:14, 12 ноября 2022

Получение исходного кода ядер Альт с помощью git

Расположения git репозитория

Все собранные пакеты попадают в Gear репозитории доступные по адресу https://git.altlinux.org/gears/. Каждый репозиторий называется по имени пакета, а бранчи дистрибутива (sisyphus, p10) находятся в соответствующих бранчах git репозитория. Таким образом, в Сизифе для ядра с флейвором std-def пакет называется kernel-image-std-def, а путь к его gears репозиторию на git.alt будет /gears/k/kernel-image-std-def.git, а git бранч sisyphus.

Название git remote и бранчей

Будем использовать схему именования позволяющую работать со множеством репозиториев, бранчей и апстримов.

Git remote для gears репозиториев будет называться gears/флейвор, то есть для std-def, это будет gears/std-def, (затем можно будет добавить gears/un-def или апстримные репозитории), а git бранч назовём флейвор/бранч_дистрибутива, то есть в нашем случае это std-def/sisyphus. Такая схема позволит различить remote и бранчи для разных флейворов.

Клонирование репозитория

Клонируем репозиторий так, чтоб remote назывался gears/std-def (опция -o) в каталог linux (в будущем другие флейворы тоже будут там) и открываем бранч std-def/sisyphus из него:

$ git clone -n -o gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git linux


Примечание: Если у вас уже есть репозиторий с ядром можно добавить к нему наши remote:
linux$ git remote add -f gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git
Примечание: Через какое-то время понадобится обновить исходный код ядра, можно не повторять предыдущие шаги, а сделать git fetch нужному remote и обязательно открыть/обновить нужный бранч (см. ниже).
 linux$ git fetch gears/std-def

Открываем нужный бранч

В нужном бранче уже применены все ALT specific патчи, поэтому, достаточно его открыть. Называем его в соответствии с нашей схемой описанной выше.

Первоначальное (после клонирования) открытие бранча — создание локального бранча std-def/sisyphus соответствующего gears/std-def/sisyphus (то есть бранчу sisyphus в remote gears/std-def).

 linux$ git checkout -B std-def/sisyphus gears/std-def/sisyphus

Последующее (после git fetch) открытие бранча и его обновление:

 linux$ git checkout std-def/sisyphus
 linux$ git pull --rebase

Далее можно убедиться, что ядро свежее посмотрев на даты в git log.

Проверка целостности исходного кода

Проверьте целостность полученного исходного кода как описано в статье "Проверка целостности исходного кода в git репозитории ядра".