Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Общие сведения
В данной статье приведен порядок сборки deb-пакета из проекта, созданного в среде разработки Qt Creator, с последующей установкой собранного deb-пакета и запуском установленной программы. В качестве примера используется готовый демонстрационный проект, который может быть использован в качестве шаблона для разработки.
Подготовка рабочего места
На рабочем месте должны быть соблюдены следующие условия:
рабочее место функционирует под управлением ОС Astra Linux 1.7.5 на уровне защищенности «Усиленный» или «Максимальный»;
создана учетная запись с правами администратора, от имени которой будет происходить создание проекта и сборка пакета;
отключена блокировка трассировки
ptrace
.
Подготовка проекта в Qt Creator
Общие сведения
Демонстрационный проект
При описании порядка сборки deb-пакета в качестве примера используется демонстрационный проект Qt Creator, который также можно использовать как шаблон для разработки Для работы в Qt Creator был создан демонстрационный проект, который может использоваться как шаблон для разработчиков на Qt. Архив с проектом доступен по ссылке https://disk.astralinux.ru/s/kSrtg5JKnzmeGdn.
Демонстрационный проект написан на языках C++ и QML. Демонстрационный проект обладает следующим функциональными возможностямипредоставляет следующие функциональные возможности:
загрузка разных страниц с текстом и картинками;
светлая/темная тема;
загрузка файлов локализации.
Информация |
---|
В демонстрационном проекте используется библиотека Qt-5.15.x и базовые модули Qt. Для более сложных проектов необходимо использовать дополнительные библиотеки и компоненты, например KDE Frameworks и Kirigami UI Framework. |
Подготовка репозиториев
Для установки необходимых для сборки пакетов должны быть подключены следующие репозитории:
В файле /etc/apt/sources.list
должны быть указаны следующие репозитории:
панель | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Блок кода | |||||||||||||||||||
deb http
|
Для проверки можно отобразить Следует убедиться, что нужные репозитории подключены, выведя содержимое файла /etc/apt/sources.list
командой, выполнив команду:
Command |
---|
cat /etc/apt/sources.list |
Если в выводе команды данных репозиториев нет, необходимо добавить указать их в , отредактировав файл /etc/apt/sources.list
.
Убедившись, что Указав нужные репозитории подключены, необходимо обновить список пакетов командой, выполнив команду:
Command |
---|
|
Установка Qt и Qt Creator
Для установки Qt и Qt Creator необходимо выполнить команды:
Command |
---|
|
Сборка проекта
Для того чтобы собрать демонстрационный проект, необходимо:
- скачать архив с проектом по ссылке https://disk.astralinux.ru/s/kSrtg5JKnzmeGdn;
- распаковать архив с проектом в отдельный каталог;
- запустить Qt Creator — в меню Пуск выбрать Разработка — Qt Creator;
- в главном окне программы в меню выбрать Файл — Открыть файл или проект;
- в открывшемся окне найти навигации перейти в каталог проекта и , выбрать файл
CmakeLists.txt
, затем и нажать [Открыть]. В окне программы будет отображено дерево каталогов и файлов проекта;
- запустить сборку проекта — в главном окне программы в меню выбрать Сборка — Запустить или нажать комбинацию клавиш <Ctrl+R>.
По окончании сборки в каталоге проекта будет создана структура каталогов и файлов, необходимых для сборки deb-пакета (см. Сборка deb-пакета).
Якорь | ||||
---|---|---|---|---|
|
Условия сборки пакета
Перед началом сборки пакета должны быть установлены следующие пакеты:
dpkg-dev
— набор инструментов для работы с исходными файлами;devscripts
— набор сценариев для сборки пакета;equivs
— необходим для запуска инструментаmk-build-deps
для установки зависимых пакетов.
Для Необходимые для сборки пакета необходимы следующие каталоги и файлы имеют следующую структуру:
astra-sample-app-0.1.2
— каталог, название которого соответствует названию и версии собираемого пакета;astra-sample-app-0.1.2/debian
— каталог с нужными для сборки файлами, содержащий файлы:control
— основной файл с описанием , содержащий описание собираемого пакета и его зависимостей;changelog
— файл с описанием , содержащий описание истории изменения пакета;rules
— файл с правилами , содержащий правила компиляции пакета во время его сборки.
Каталог astra-sample-app-0.1.2/debian
также содержит следующие файлы:
postinst
— сценарий, запускаемый после установки пакета;postrm
— сценарий, запускаемый после удаления пакета;preinst
— сценарий, запускаемый перед установкой пакета;prerm
— сценарий, запускаемый перед удалением пакета.
Для сборки пакета под конкретные версии различных дистрибутивов Linux удобнее всего ОС рекомендуется использовать отдельные chroot
-окружения.
Информация |
---|
|
Примеры сценариев, автоматически настраивающих chroot
-окружения сборки для Astra Linux под архитектуры процессорных архитектур amd64
(x86_64
) и arm64
(aarch64
), можно найти расположены в каталоге каталоге astra-sample-app/linux
.
Далее рассмотрена ручная настройка В данной статье приведено описание ручной настройки окружения сборки с использованием инструмента debootstrap
.
Инструмент debootstrap
Инструмент debootstrap
используется для подготовки окружения сборки. Для установки инструмента выполнить команду:
Command |
---|
sudo apt install debootstrap qemu-user-static |
Для создания окружения сборки используется команда следующего вида:
Command |
---|
sudo debootstrap --arch=<архитектура> --components=<компоненты> <кодовое_имя_репозитория> <название_каталога_chroot> <ссылка_на_репозиторий> |
Подготовка окружения сборки
панель | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Сборка пакета
панель | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Установка deb-пакета
Для установки собранного пакета необходимо из каталога, в котором располагается пакет, выполнить команду:
Command |
---|
|
Запуск программы
панель | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|