- Сборки Windows и Linux теперь дополнительно формируют ZIP-архивы с бинарником и ресурсами. - OTA-проверка выбирает ZIP-артефакт текущей платформы вместо отдельного исполняемого файла. - Добавлена безопасная проверка архивов, защита от traversal, ссылок, повреждений и превышения лимитов. - Обновление транзакционно заменяет все верхнеуровневые файлы и каталоги пакета с резервным копированием и откатом. - Пользовательские файлы, отсутствующие в ZIP, включая settings.json, сохраняются. - Версия приложения повышена до 2.0.1, документация и кроссплатформенные тесты обновлены.
4.1 KiB
Сборка EXE
Linux (Debian 13 x86_64)
Для Linux используется нативная сборка: Windows-версия PyInstaller не может создать рабочий Linux-бинарник. В Debian 13 установите Python и средства сборки, затем запустите скрипт из корня проекта:
sudo apt-get update
sudo apt-get install -y python3 python3-venv python3-pip libglib2.0-0t64 libgl1 libegl1 libfontconfig1 libxkbcommon0 libfreetype6 libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-shape0 libxcb-xkb1 libxcb-util1 libxkbcommon-x11-0
chmod +x build_linux.sh
./build_linux.sh
Результат: бинарник dist-linux/plate_config_app-linux-x86_64, папки
конфигураций рядом с ним и архив
dist-linux/plate_config_app-linux-x86_64.zip. Для автообновления публикуется
ZIP-архив. Для работы с USB-COM пользователь Debian должен состоять в группе
dialout.
Предварительные требования
- Python ≥ 3.11 (виртуальное окружение
.venv) - Зависимости из
requirements-build.txt
Быстрый старт
# Установка зависимостей + чистая сборка (одна команда)
.\build_exe.ps1 -InstallBuildDeps
Готовые файлы: dist\plate_config_app-windows-x86_64.exe и
dist\plate_config_app-windows-x86_64.zip. Для автообновления публикуется
ZIP-архив.
Команды по отдельности
1. Установить зависимости для сборки
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements-build.txt
2. Собрать EXE
.\build_exe.ps1
Скрипт автоматически:
- очищает
build/,dist/,__pycache__/ - запускает PyInstaller по
plate_config_app.spec - переименовывает бинарник в
plate_config_app-windows-x86_64.exe - копирует папки
light_modes/,input_mappings/,commands/вdist/ - создаёт
plate_config_app-windows-x86_64.zipс бинарником и ресурсами - выводит пути и размеры готовых EXE и ZIP
3. Только очистка (без сборки)
.\build_exe.ps1 -CleanOnly
или отдельным скриптом:
.\clean.ps1
Через .bat (двойной клик)
| Файл | Действие |
|---|---|
build_exe.bat |
Очистка + сборка EXE |
clean.bat |
Только очистка артефактов сборки |
Что включается в EXE
Настроено в plate_config_app.spec:
| Ресурс | Описание |
|---|---|
qtawesome/ |
Шрифты и charmap иконок |
Hidden imports: qtawesome, Crypto.Cipher._raw_aes, Crypto.Util._raw_api
Ресурсы рядом с EXE
Скрипт build_exe.ps1 после сборки копирует папки в dist/:
| Папка | Описание |
|---|---|
light_modes/ |
Файлы режимов подсветки (.lm) |
input_mappings/ |
Маппинги входов (.mapping) |
commands/ |
Наборы команд (.csv) |
Эти файлы можно редактировать без пересборки — достаточно изменить их рядом с EXE и перезапустить приложение. При установке OTA-обновления каталоги, которые входят в новый ZIP-пакет, полностью заменяются их новыми версиями.