Dev start faq: различия между версиями
Нет описания правки |
|||
Строка 39: | Строка 39: | ||
$ git commit -m "Добавил project-src как обычный каталог" | $ git commit -m "Добавил project-src как обычный каталог" | ||
== | ==Что за файлы *.PC?== | ||
Расширение .pc в контексте сборки Linux относится к конфигурационным файлам инструмента pkg-config, который используется для помощи при компиляции приложения. | Расширение .pc в контексте сборки Linux относится к конфигурационным файлам инструмента pkg-config, который используется для помощи при компиляции приложения. | ||
Версия от 16:43, 22 февраля 2025
Ответы на часто встречающиеся вопросы при разработке для начинающих
Вложенный 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 как обычный каталог"
Что за файлы *.PC?
Расширение .pc в контексте сборки Linux относится к конфигурационным файлам инструмента pkg-config, который используется для помощи при компиляции приложения.
Они относятся к пакету pkg-config.
Файлы PKG-Config обеспечивают механизм для хранения различной информации о библиотеках и пакетах. Информация, хранящаяся в файлах .pc, включает в себя компилятор и флаги компилятора, необходимые для использования указанной библиотеки, а также любые другие соответствующие метаданные.