Добрый день!
В этой записке рассмотрим сборку RPM пакета для Sailfish OS в ручном режиме.
Комплект средств разработки для Sailfish OS предоставляет широкие возможности для создания программных продуктов, позволяет автоматизировать сборку и отладку, избежать множества рутинных операций и сосредоточится над созданием кода.
Но бывают моменты, когда необходимо проделать все вручную. В этой записке как раз об этом.
Для начала, необходимо Mer SDK. Для этого зайдите в панель управления VurtualBox, выберите Mer SDK и нажмите кнопку "Запустить", как показано на рисунке ниже.
Затем, необходимо подключится к этой виртуально машине по SSH. Для этого открываем терминал и вводим следующую команду:
ssh -p 2222 -i /Path/To/SailfishOS/vmshare/ssh/private_keys/engine/mersdk mersdk@localhost
где /Path/To/SailfishOS/ - путь до уставленной Sailfish SDK, например, если SDK установлен в домашнем каталоге, то команда будет выглядеть так:
ssh -p 2222 -i ~/SailfishOS/vmshare/ssh/private_keys/engine/mersdk mersdk@localhost
После этого мы попадаем в терминал виртуальной машины. Перед тем, как начать сборки пакетов, посмотрим, для каких архитектур мы сможем создавать пакеты:
sdk-assistant list
Стандартно должны быть доступны: SailfishOS-armv7hl и SailfishOS-i486
Перед тем как начать сборку пакетов, необходимо установить CMake для каждой целевой архитектуры:
sb2 -t SailfishOS-armv7hl -m sdk-install -R zypper in cmake
sb2 -t SailfishOS-i486 -m sdk-install -R zypper in cmake
После этого все готово для ручной сборки пакетов.
Mer SDK так устроен, что рабочая папка с проектами является общей папкой с виртуальной машиной Mer SDK. А следовательн в каталоге /home/src1 лежат все проекты, которые были созданы в интегрированной среде разработки.
Поэтому перейдем в каталог с интересующим Вас проектом, например:
cd /home/src1/sailfish-bashim-client/
и выполняем сборку RPM пакетов.
mb2 -t SailfishOS-i486 build
mb2 -t SailfishOS-armv7hl build
Если все прошло успешно, то в каталоге проекта появится каталог RPMS, в котором будут хранится получившиеся RPM пакеты.
Они будут доступны не только из виртуальной машины, но и в каталоге с Вашим проектом.
Для того, чтобы скопировать RPM пакет на эмулятор можн воспользоваться старой доброй командой SCP:
scp -P 2223 -i ~/Apps/SailfishOS/vmshare/ssh/private_keys/SailfishOS_Emulator/root \ sailfish-bashim-client-0.1-1.armv7hl.rpm root@localhost:
Источники:
1. Sailfish tutorials: https://sailfishos.org/develop/tutorials/
2. SCP Manual: http://man7.org/linux/man-pages/man1/scp.1.html