Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Общие сведения
В данной статье приведен порядок сборки deb-пакета из проекта, созданного в среде разработки Qt Creator, с последующей установкой собранного deb-пакета и запуском установленной программы. В качестве примера используется готовый демонстрационный проект, который может быть использован в качестве шаблона для разработки.
Подготовка рабочего места
На рабочем месте должны быть соблюдены следующие условия:
рабочее место функционирует под управлением ОС Astra Linux 1.7.5 на уровне защищенности «Усиленный» или «Максимальный»;
создана учетная запись с правами администратора, от имени которой будет происходить создание проекта и сборка пакета;
отключена блокировка трассировки
ptrace
.
Подготовка проекта в Qt Creator
Демонстрационный проект
В При описании порядка сборки deb-пакета в качестве примера используется демонстрационный проект 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://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free deb http://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free |
Для проверки можно отобразить содержимое файла /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
— сценарий, запускаемый перед удалением пакета.
Для сборки пакета под конкретные версии различных дистрибутивов ОС рекомендуется использовать отдельные chroot
-окружения.
Информация |
---|
|
Примеры сценариев, автоматически настраивающих chroot
-окружения сборки для процессорных архитектур 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 |
---|
|
Запуск программы
панель | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|