[devel] git не может найти исходные тексты пакета при сборке

Max Ivanov ivanov.maxim на gmail.com
Вт Май 19 09:43:03 MSD 2009


> Потихоньку осваиваю git интерфейс, собираю один из своих пакетов.
> Столкнулся с проблемой сборки
>
> error: File /usr/src/in/source/scantailor-0.9.5.tar: No such file or directory
>
> Исходники лежат в каталоге scantailor рядом с spec файлом.
>
> Как исправить ситуацию?
>
> Заранее большое спасибо! (И огромное спасибо всем уже отвечавшим на мои вопросы)

Вам надо в ветке, где лежит spec файл создать каталог ".gear" и в нем
файл rules, в нем примерно следующее (подробнее см. man gear-rules):

tar: <git_branch>:@name@

После чего в спеке ссылаться на Source0: %name-%version.tar

Файлом rules, вы сказали, что в src.rpm надо положить tar файл ,
собранный из каталога совпадающего с %name спека, и лежащего в git
ветке git_branch (например upstream, или master)

После этого вам надо выполнить "gear-update-tag -ac" - эта команда
проанализирует rules файл (там может быть много правил разных) и
занесет id коммитов из которых  собирать файлы в файл .gear/tags/list
, это нужно для того, что когда ветка upstream уедет вверх, src.rpm
собиралась всё-равно на одних и тех же исходниках. Еще надо помнить об
одном ограничении: все git ветки, коммиты и теги на которые вы можете
ссылаться в .gear/rules должны быть в истории текущего комита, где вы
находитесь делая gear-update-tag


Подробная информация о списке рассылки Devel