Создаем пакет Debian, Archlinux и Rpm для графического приложения Lazarus

В данной статье описан способ сборки пакета для приложений, написанных с помощью IDE Lazarus


  1. Устанавливаем Lazarus sudo pacman -S lazarus-qt5
  2. Создаем в домашнем каталоге папку lazfiles mkdir lazfiles
  3. Создаем минимальное графическое приложение (Файл, Создать, Проект - Приложение), нажимаем сохранить всё, переходим в каталог lazfiles, выбираем имя проекта hello_app.
  4. В главном меню выбираем Запуск, собрать. Закрываем IDE после окончания компиляции.
  5. В каталоге lazfiles будет исполняемый файл hello_app. Начнем с создания deb пакета
  6. Установим dpkg - sudo pacman -S dpkg
  7. Создадим каталог для сборки пакета внутри lazfiles, например, hello_app mkdir hello_app-0.0.1/{DEBIAN,usr/local/bin} -p
  8. Скопируем исполняемый по пути hello_app/usr/local/bin cp hello_app hello_app-0.0.1/usr/local/bin/
  9. Открываем в vi и добавляем по образцу строки vi hello_app-0.0.1/DEBIAN/controlPackage: hello Version: 0.0.1 Architecture: amd64 Maintainer: Artem Nazarov <artem@nazarow.ru> Description: Example
  10. Выполняем сборку пакета dpkg-deb --build --root-owner-group hello_app-0.0.1 Займет некоторое время...
  11. Конвертируем пакет в формат Archlinux
    yay -S debtap
    sudo debtap -u
    deptap hello_app-0.0.1.deb
    Вводим имя (не обязательно), лицензию (необязательно), нажимаем EnterНа выходе получаем pkg файлhello-0.0.1-1-x86_64.pkg.tar.zst
  12. Попробуем установить sudo pacman -U hello-0.0.1-1-x86_64.pkg.tar.zst Примеры zst пакетов - myoffice home edition 2022, Yandex Browser 22.9.3 for Archlinux
  13. В консоли браузера печатаем команду hello_app и запускается наше приложение.
  14. Если необходимо получить rpm пакет, выполняем конвертацию с помощью утилиты alien yay -S alien_package_converter
  15. Конвертируем из deb в rpm fakeroot alien -r hello_app-0.0.1.deb
  16. В итоге получается rpm файл, пригодный для систем hello-0.0.1-2.amd64.rpm

Теги документа