Kernel/getting sources: различия между версиями
Vt (обсуждение | вклад) Нет описания правки |
Vt (обсуждение | вклад) м (разметка) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
= Получение исходного кода ядер Альт с помощью git = | = Получение исходного кода ядер Альт с помощью git = | ||
== Расположения git репозитория == | == Расположения git-репозитория == | ||
Все собранные пакеты попадают в [[Gear]] репозитории доступные по адресу https://git.altlinux.org/gears/. Каждый репозиторий называется по имени пакета, а бранчи дистрибутива (sisyphus, p10) находятся в соответствующих бранчах git репозитория. Таким образом, в Сизифе для ядра с флейвором std-def пакет называется <code>kernel-image-std-def</code>, а путь к его gears репозиторию на git.alt будет <code>/gears/k/kernel-image-std-def.git</code>, а git бранч sisyphus. | Все собранные пакеты попадают в [[Gear]] репозитории, доступные по адресу https://git.altlinux.org/gears/. Каждый репозиторий называется по имени пакета, а бранчи дистрибутива (sisyphus, p10) находятся в соответствующих бранчах git репозитория. Таким образом, в Сизифе для ядра с флейвором std-def пакет называется <code>kernel-image-std-def</code>, а путь к его gears репозиторию на git.alt будет <code>/gears/k/kernel-image-std-def.git</code>, а git-бранч — sisyphus. | ||
== Название git remote и бранчей == | == Название git remote и бранчей == | ||
Строка 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> из него: | ||
< | <span style="color:blue">$</span> git clone -n -o <nowiki>gears/std-def https://git.altlinux.org/gears/k/kernel-image-std-def.git</nowiki> linux | ||
<div style="padding: 5px; margin: 0.50em 0; background-color:#DDDDFF; border: thin solid #BBBBDD; overflow: hidden;"><strong>Примечание:</strong> Если у вас уже есть репозиторий с ядром можно добавить к нему наши remote: | |||
< | <span style="color:blue">linux$</span> git remote add -f gears/std-def <nowiki>https://git.altlinux.org/gears/k/kernel-image-std-def.git</nowiki> | ||
</div> | |||
linux$ '''git fetch''' gears/std-def | <div style="padding: 5px; margin: 0.50em 0; background-color:#DDDDFF; border: thin solid #BBBBDD; overflow: hidden;"><strong>Примечание:</strong> Через какое-то время понадобится обновить исходный код ядра, можно не повторять предыдущие шаги, а сделать <code>git fetch</code> нужному remote и обязательно открыть/обновить нужный бранч (см. ниже). | ||
<span style="color:blue">linux$</span> '''git fetch''' gears/std-def | |||
</div> | |||
=== Открываем нужный бранч === | === Открываем нужный бранч === | ||
Строка 30: | Строка 31: | ||
'''Первоначальное''' (после клонирования) открытие бранча — создание локального бранча <code>std-def/sisyphus</code> соответствующего <code>gears/std-def/sisyphus</code> (то есть бранчу <code>sisyphus</code> в remote <code>gears/std-def</code>). | '''Первоначальное''' (после клонирования) открытие бранча — создание локального бранча <code>std-def/sisyphus</code> соответствующего <code>gears/std-def/sisyphus</code> (то есть бранчу <code>sisyphus</code> в remote <code>gears/std-def</code>). | ||
linux$ '''git checkout''' -B std-def/sisyphus gears/std-def/sisyphus | <span style="color:blue">linux$</span> '''git checkout''' -B std-def/sisyphus gears/std-def/sisyphus | ||
'''Последующее''' (после <code>git fetch</code>) открытие бранча и его обновление: | '''Последующее''' (после <code>git fetch</code>) открытие бранча и его обновление: | ||
linux$ '''git checkout''' std-def/sisyphus | <span style="color:blue">linux$</span> '''git checkout''' std-def/sisyphus | ||
linux$ '''git pull''' --rebase | <span style="color:blue">linux$</span> '''git pull''' --rebase | ||
Далее можно убедиться, что ядро свежее посмотрев на даты в <code>git log</code>. | Далее можно убедиться, что ядро свежее посмотрев на даты в <code>git log</code>. |
Текущая версия от 05:15, 26 ноября 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
Открываем нужный бранч
В нужном бранче уже применены все 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 репозитории ядра".