Skip to content

Bayselonarrend/OneScript-Build

Repository files navigation

OneScript-Build

Сборка дистрибутивов OneScript из официальных zip-архивов oscript.io.

Один Docker-контейнер на базе amake/innosetup собирает:

  • Windows-установщики .exe (Inno Setup): standalone x86/x64 и FDD x86/x64, с опциональным OVM
  • .deb двух видов: FDD и standalone x64
  • .rpm двух видов: FDD и standalone x64
  • AppImage (Linux x64)
  • macOS-архивы .tar.gz (Intel и ARM) с install.sh

Требования

  • Docker Desktop 4.37+ (или Docker Engine + Compose v2)
  • Доступ в интернет для скачивания артефактов

На Windows удобнее запускать через build.ps1. На Linux/macOS — через docker compose напрямую.

Как устроена Windows-сборка в Docker

  1. Скачивание zip и ovm.exe → volume build-cache (/work/cache)
  2. Распаковка через 7z → volumes build-staging (Linux/macOS) и win-staging (Windows)
  3. Locale ru_RU.UTF-8 для Wine (LANG / LC_ALL)
  4. Inno Setup (Wine) собирает .exe с корректными кириллическими именами
  5. На хост попадает только dist/ (готовые пакеты)

Быстрый старт

# 1. Собрать образ (один раз или после изменений Dockerfile)
docker compose build

# 2. Собрать все пакеты для версии 2.0.2
.\build.ps1 2.0.2

Готовые файлы появятся в каталоге dist/.

Использование

Windows (PowerShell)

.\build.ps1 2.0.2
.\build.ps1 2.0.2 -Targets win
.\build.ps1 2.0.2 -Targets deb,rpm,appimage
.\build.ps1 2.0.2 -OvmVersion v1.6.2

Linux / macOS / WSL

docker compose build
docker compose run --rm build 2.0.2
docker compose run --rm build 2.0.2 --targets win,deb,rpm

Параметры

Параметр Описание По умолчанию
version Версия OneScript (2.0.2) обязательный
--ovm-version / -OvmVersion Тег релиза OVM на GitHub latest
--targets / -Targets Список целей через запятую all

Цели сборки (--targets)

Цель Что делает
all Всё перечисленное ниже
win Windows .exe (standalone x86/x64 + FDD x86/x64)
linux оба deb + оба rpm + AppImage
deb Debian FDD + Debian x64
rpm RPM FDD + RPM x64
appimage AppImage
macos macOS tar.gz (Intel + ARM)

Fallback: нативная Windows-сборка

Если Docker/Wine по какой-то причине не подходит, есть запасной путь — нативный Inno Setup + 7-Zip на Windows:

.\scripts\build-windows-native.ps1 -Version 2.0.2

Требует установленных Inno Setup 6 и 7-Zip.

Рабочие каталоги

Каталог Где физически Назначение
cache/ volume build-cache/work/cache Скачанные zip (внутри контейнера)
staging/ volume build-staging/work/staging Linux/macOS артефакты
win-staging/ volume win-staging/work/win-staging Windows артефакты для Inno
dist/ /work/dist (bind-mount с хоста) Готовые пакеты

cache/ и staging/ в .gitignore — на хосте могут не существовать, данные живут в Docker volumes.

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors