Dev start faq

Материал из ALT Linux Wiki
Версия от 16:38, 22 февраля 2025; Petr-akhlamov (обсуждение | вклад) (Новая страница: «=Ответы на часто встречающиеся вопросы при разработке для начинающих= ==Создается пустой архив при сборке или вложенный Git-репозиторий== Если у вас при сборке пакета при структуре: project ├── .gear ├── .git ├── README.md ├── project.spec └── project-src Выпадает оши...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Ответы на часто встречающиеся вопросы при разработке для начинающих

Создается пустой архив при сборке или вложенный Git-репозиторий

Если у вас при сборке пакета при структуре:

project
├── .gear
├── .git
├── README.md
├── project.spec
└── project-src

Выпадает ошибка:

gear: .gear/rules line 1: tree "project-src" not found in "HEAD"

Значит внутри вашего каталога с исходниками находится вложенный git-репозиторий, который не дает собрать пакет.

Проверить данную теорию можно с помощью команды:

$ git ls-tree HEAD

Выполните ее в git-репозитории вашего проекта.

$ git ls-tree HEAD
040000 tree 9503d98435094b115ff5b10533e7e825b05f7198	.gear
100644 blob 1bc32756139c9859a7daeb0ec3ddb70084cf6a58	README.md
160000 commit 98cd2f96525a0e6d105db69e7715b777ef4e9ecf	project-src <-- [! Смотрим сюда!]
100644 blob 7b33945a1aeb0ecfa65a9d7391a002d1705578ac	project.spec

У всех файлов и каталогов значения blob (файл) или tree (каталог), а у этого commit.

Значит, возможно склонировав в папку с проектом исходники для сборки (или склонировав каталог с исходниками после клонирования), вы создали вложенный git-репозиторий (сабмодуль [submodule]) - Git апстримовского проекта в Git проекта для ALT. Он-то и не дает собрать проект.

Что делать в данной ситуации?

1. Удаляем сабмодуль

$ git submodule deinit -f project-src
$ git rm -f project-src
$ rm -rf .git/modules/project-src

2. Добавляем каталог как обычный

$ cp -r path/to/your/project-src .
$ git add project-src
$ git commit -m "Добавил project-src как обычный каталог"