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 mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/devel-newbies

Ответить