Регион-Интеграцияпрограммы и оборудование для учебных заведений Получить КП
Школьный звонок ПРО · документация

Исходный код и сборка

Технические средства хранения исходного кода и сборки программы и установщика.

Версия программы 2.3 · документ обновлён 20.10.2026

Хранение исходного текста

  • Исходный текст программы (Python), сценарии сборки (build.bat, installer/ShkolnyZvonokPRO.spec, installer/ShkolnyZvonokPRO.iss) и история изменений хранятся в репозитории git в облачной инфраструктуре Cloud4Y (ООО «Клауд Фо Ю», дата-центр в г. Москве). Рабочая копия — на компьютере разработчика правообладателя в г. Самаре.
  • Резервные копии исходного текста — в том же репозитории Cloud4Y (полная история изменений git) и в рабочей копии разработчика.
  • Удалённых репозиториев за пределами РФ нет.
  • Доступ к коду есть только у сотрудников ООО «Регион-Интеграция».

Хранение объектного кода

  • Результат сборки — папка программы (ShkolnyZvonokPRO.exe и библиотеки в _internal\) и установщик ShkolnyZvonokPRO-Setup-<версия>.exe.
  • Установщики всех выпущенных версий хранятся в репозитории правообладателя в инфраструктуре Cloud4Y (РФ).
  • Распространяется только установщик: правообладатель отправляет его по электронной почте после заявки с сайта region-int.ru. Сайт размещён у хостинг-провайдера Jehost, сервер в РФ (дата-центр «Миран», г. Санкт-Петербург).

Компиляция (сборка)

  • Сборка выполняется на виртуальной машине Windows 10 в виртуальной инфраструктуре на территории РФ, доступ к которой есть только у правообладателя.
  • Инструменты:
    • Python 3.8.10 (32 бит);
    • PyInstaller 6.10.0 — сборка папкой (--onedir), параметры в installer/ShkolnyZvonokPRO.spec;
    • Inno Setup 6.7 — установщик (installer/ShkolnyZvonokPRO.iss).
  • Порядок:
    1. build.bat → dist\ShkolnyZvonokPRO\ (ShkolnyZvonokPRO.exe + _internal\). Из сборки исключены варианты PortAudio с ASIO (Steinberg ASIO SDK — иная лицензия) и 64-бит/ARM64 (программе x86 не нужны). Сборка останавливается с ошибкой, если в папке нет отдельной DLL libsndfile или попала DLL с ASIO.
    2. ISCC installer\ShkolnyZvonokPRO.iss → dist-setup\ShkolnyZvonokPRO-Setup-<версия>.exe. В установщик входят папка программы, мелодии, голосовые оповещения тревог (Мелодии\Тревога), тексты лицензий (LICENSES\) и лицензионное соглашение (installer/license-ru.txt).
  • Сборка папкой выбрана из-за LGPL: libsndfile лежит в папке установки отдельной DLL (_internal\_soundfile_data\libsndfile_x86.dll) и может быть заменена пользователем.
  • Зависимости сборки (numpy, sounddevice, soundfile, sv-ttk, pycaw) хранятся локально (release/numpy-*). Версии закреплены в requirements.txt, состав и версии компонентов — в LICENSES/README.txt.