Установка и удаление Conan
Conan — это менеджер пакетов для разработчиков на языках C и C++. Список доступных пакетов можно найти на сервере Conan. Conan позволяет устанавливать зависимости в проект, не прибегая к пакетным менеджерам (например, Zypper или pkcon). Это даёт возможность добавлять внешние библиотеки для сборки приложения.
Сonan, как удаленный репозиторий, может использоваться для хранения и распространения предварительно скомпилированных библиотек, исполняемых файлов и файлов,необходимых для сборки (заголовочных файлов).
Разработчику приложений доступно использование сервера Conan с общедоступными пакетами, адаптированными под ОС Аврора, или можно использовать сервер, развернутый собственными силами. Для использования пакетного менеджера Conan нужно выполнить его установку в окружение Аврора SDK или PSDK на рабочем месте разработчика.
Примечание. Conan поддерживается только в Аврора SDK (MB2). Для Аврора SDK (BT) он не поддерживается.
Содержание:
Подготовка
Перед началом установки Conan нужно убедиться, что на локальной машине разработчика установлены либо Аврора SDK (mb2), либо PSDK.
Для SDK:
- Скачать SDK по ссылке.
- Установить SDK по инструкции.
Для PSDK:
- Скачать Platform SDK по ссылке.
- Установить Platform SDK по инструкции.
Загрузка Conan
Разработчику доступны два варианта загрузки Conan:
- Загрузить собранные rpm-пакеты с Conan из репозитория ConanClientRpm.
Скачать данный репозиторий и разместить его в директории для проектов Аврора SDK.
Примечание. По умолчанию при установке Аврора SDK в качестве директории для проектов используется
домашняя директория пользователя (cd ~, или же переменная $HOME).
В случае, если переменная для проектов SDK отличается от домашней директории пользователя,
то выгрузку репозиториев Conan нужно выполнять по пути,
куда указывает новая директория для проектов Аврора SDK,
так как другие директории недоступны из виртуальной машины Build Engine.
- Загрузить исходный код для сборки Conan из репозитория ConanClient для самостоятельной сборки rpm-пакетов.
Установка Conan
Для SDK установка Conan rpm-пакета выполняется в виртуальную машину Build Engine.
Для PSDK установка Conan rpm-пакета выполняется в chroot (изолированное окружение ОС Аврора).
Установка Conan в SDK
-
Запустить виртуальную машину или Docker-контейнер с Build Engine вручную или через SDK.
-
Скопировать скачанный репозиторий в виртуальную машину (или архив в разархивированном виде):
scp -r -P 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk ConanClientRpm mersdk@localhost:~/По умолчанию путь к Аврора SDK —
/home/{имя_пользователя}/AuroraOS.Команда приводится для Unix-совместимого терминала. В Linux и macOS можно использовать стандартный терминал, в Windows необходимо использовать Git Bash.
-
Зайти в Build Engine после запуска через SDK или Virtualbox:
ssh -p 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk mersdk@localhostКоманда приводится для Unix-совместимого терминала. На компьютере разработчика использовать его независимо от ОС (Linux, Windows, macOS).
-
Перейти в директорию
ConanClientRpmи запустить установочный скрипт с помощью команды:./install-conan -
Дождаться окончания установки (может занять продолжительное время).
Установка Conan в PSDK
-
Запустить виртуальное окружение через утилиту
sdk-chrootна локальной машине разработчика:{путь к PSDK}/sdks/aurora_psdk/sdk-chrootгде
{путь к PSDK}— путь к Platform SDK.по умолчанию,/home/{имя_пользователя}/PlatformSDK/. -
Перейти в директорию, где располагается скачанный проект
ConanClientRpm. -
Выполнить установку Conan, используя скрипт из директории с проектом
ConanClientRpm:./install-conan -
Дождаться окончания установки (может занять продолжительное время).
Сборка и установка Conan из исходного кода
В случае самостоятельной сборки из исходного кода следует выполнить шаги по сборке rpm-пакета, которые содержатся в инструкции.
Собранный rpm-пакет и скрипт для установки install-conan будет находиться по пути build/{версия Conan}/,
где {версия Conan} — директория с текущей версией Conan, например, 2.9.2-1.
Сборка и установка Conan в SDK из исходного кода
Сборка пакетов из исходного кода выполняется внутри Build Engine с помощью скрипта create-distribution.
-
Скопировать загруженный репозиторий
ConanClientв mersdk:scp -r -P 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk ConanClient mersdk@localhost:~/ -
Зайти в Build Engine для выполнения сборки из исходного кода:
ssh -p 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk mersdk@localhost -
Запустить сборку:
cd ./ConanClient ./create-distributionДождаться окончания сборки. В результате в корне проекта должна появиться директория
build. -
Перейти в директорию с собранным conan-пакетом с текущим номером версии и запустить скрипт установки Conan:
cd ./build/{версия Conan} ./install-conan -
Дождаться окончания установки (может занять продолжительное время).
Сборка и установка Conan в PSDK из исходного кода
Сборка пакетов из исходного кода выполняется в изолированном окружении sdk-chroot на локальной машине разработчика:
-
Перейти в изолированное окружение
sdk-chroot:{путь к PSDK}/sdks/aurora_psdk/sdk-chrootгде
{путь к PSDK}— путь к Platform SDK, по умолчанию,/home/{имя_пользователя}/PlatformSDK/. -
Перейти в директорию, где располагается скачанный проект
ConanClient. -
Запустить сборку:
./create-distributionДождаться окончания сборки. В результате в корне проекта должна появиться директория
build. -
Перейти в директорию с собранным Conan-пакетом с текущим номером версии и запустить скрипт установки Conan:
cd ./build/{версия Conan} ./install-conanгде
{версия Conan}— директория с текущей версией Conan, например,2.9.2-1. -
Дождаться окончания установки (может занять продолжительное время).
Удаление
-
Зайти в Build Engine после запуска (через SDK или Virtualbox):
ssh -p 2222 -i {путь к Аврора SDK}/vmshare/ssh/private_keys/sdk mersdk@localhostКоманда приводится для Unix-совместимого терминала. на компьютере разработчика использовать его независимо от ОС (Linux, Windows, macOS).
-
Выбрать таргет, для которого нужно удалить Conan. Узнать список уже установленных в окружении таргетов можно с помощью команды:
sdk-assistant list -
Зайти на нужный таргет:
sb2 -t {имя таргета} -m sdk-install -R -
Проверить наличие Conan:
zypper pa | grep conan -
Удалить Conan:
zypper remove conan
Примеры использования Conan доступны в следующих приложениях:
- OpenCvUseCases
- StreamCamera
- MapTemplate
- ScreenGrab
- Дополнительные библиотеки, расширяющие функционал приложения Mfw карты
Примечание. Библиотеки предоставлены в ознакомительных целях.