[newbies] git clone --recursive
Ivan Zakharyaschev
imz на altlinux.org
Пн Ноя 13 18:23:32 MSK 2017
Hello!
On Mon, 13 Nov 2017, Stas wrote:
> Хочу сделать пакет fuse-marcfs
>
> В апстримовой инструкции по сборке указано скачать исходники так:
>
> git clone --recursive https://gitlab.com/Kanedias/MARC-FS.git
>
> Как в таких случаях правильно делать репозитарий gear? Пытался
Известная проблема: https://bugzilla.altlinux.org/show_bug.cgi?id=17914
но можно справиться обычными средствами gear "вручную", если только
submoduleй не сотни.
> склонировать апстрим - облом. Пытался создать пустой репозитарий и
> смержить с апстримом - облом.
>
> Конкретно в этом случае рекурсивно качаются исходники libcurlcpp и
> googletest:
>
> $ cat MARC-FS/.gitmodules
> [submodule "curlcpp"]
> path = contrib/curlcpp
> url = https://github.com/JosephP91/curlcpp.git
> ignore = dirty
> [submodule "contrib/googletest"]
> path = contrib/googletest
> url = https://github.com/google/googletest
Если это независмые полезные штуки, можно собрать отдельные пакеты и
использовать их в BuildRequires.
Если взаимодействие более тесное, чем может быть между пакетами (как с
библиотекой или вызываемая команда), то можно в .gear/rules написать
правило tar: PROJECT1_TAG1:. name=...
и, конечно, сделать что-нибудь вроде git merge -s ours PROJECT1_TAG1 перед
созданием сборочного коммита.
Как получить PROJECT1_TAG1? Ну по сути как-то так:
git fetch PROJECT1_URL refs/tags/TAG1:refs/tags/PROJECT1_TAG1
Имеется в виду, что и другие refs можно сфетчить. (Ветки, тэги.)
--
Best regards,
Ivan
Подробная информация о списке рассылки devel-newbies