сбой сборщика git bitbake

У меня есть собственный рецепт ядра в poky Yocto Project. Я использовал его с версией dylan-9.0.0 (дистрибутив 1.4.0), и он работал нормально.

РЕДАКТИРОВАТЬ: новая версия, которую я использую в настоящее время: ромашка с версией дистрибутива 1.6.1.

Теперь я переключился на ромашку, и сборщик git не может найти тег.

Бревно:

DEBUG: завершена функция Python base_do_fetch | DEBUG: завершена функция Python do_fetch | ОШИБКА: сбой функции: сбой сборщика для URL: 'git: //git.myserver.com/custom-linux; protocol = git; tag = 1.8'. Команда git ls-remote git: //git.myserver.com/custom-linux refs / Heads / 1.8 refs / tags / 1.8 ^ {} неожиданно выдала пустой результат ОШИБКА: Задача 70 (/ opt / poky / meta-mine / recipes-kernel / linux / linux-custom_1.8.bb, do_fetch) не удалось с кодом выхода '1'

git ls-remote git://git.myserver.com/custom-linux refs/heads/1.8 refs/tags/1.8^{} действительно дает пустой вывод, вызываемый из командной строки, но если я делаю git ls-remote git://git.myserver.com/custom-linux refs/heads/1.8 refs/tags/1.8, он возвращает тег, который я ищу.

Итак ... проблема в ^ {} в конце URL-адреса. Я предполагаю, что с предыдущими версиями это работало по-другому.

Есть идеи, как это исправить?


person Attila Horvath    schedule 04.07.2014    source источник
comment
Релевантно: stackoverflow.com/questions/15472107/   -  person Bartlomiej Lewandowski    schedule 04.07.2014
comment
Ну ... да, это актуально, но это не совсем ответ на мою проблему. Он проясняет, что это за ^ {}, но я до сих пор не знаю, почему этого недостаточно, если у меня есть простой тег 1.8.   -  person Attila Horvath    schedule 07.07.2014
comment
Я мог решить эту проблему следующим образом: я удалил tag = 1.8 из SRC_URI и определил переменную SRCREV с хешем идентификатора фиксации в моем рецепте, и мне пришлось добавить branch = mybranch в конец переменной SRC_URI. Таким образом, все работает отлично, но я бы не сказал, что это хорошее решение.   -  person Attila Horvath    schedule 08.07.2014
comment
@Attila_Horvath Отлично! Вы должны опубликовать это как ответ, чтобы другие увидели, что это решено.   -  person Bartlomiej Lewandowski    schedule 08.07.2014


Ответы (1)


Решение, которое я использовал для этого, заключалось в том, чтобы убедиться, что все теги, которые мы создали и собирались получать через yocto, были аннотированными тегами. Когда вы создаете неаннотированный тег, он не добавляет указатель с разыменованием в refs / tags / (т.е. версию ^ {}), и поскольку сборщик yocto ищет эту разыменованную версию, он терпит неудачу. Когда вы создаете аннотированный тег, он автоматически создает для вас эту версию, и она будет найдена.

person Zach Varberg    schedule 20.11.2014