Session log and plan: builds for all OS uploaded to the router (build 506)
This commit is contained in:
parent
f2d39459e6
commit
10ff635192
2 changed files with 48 additions and 1 deletions
26
docs/plans/2026-10-19-router-upload-all-os.md
Normal file
26
docs/plans/2026-10-19-router-upload-all-os.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# БалДав: выкатка сборок под все ОС на роутер (по образцу nlve/build.sh) - выполнено
|
||||
|
||||
## Контекст
|
||||
`./build.sh android -u` выкладывал только APK. Нужно: Android + ПК (Linux, Windows, macOS Intel и
|
||||
Apple Silicon) в любой комбинации целей и флагов, под одним новым номером за запуск, с выкладкой
|
||||
собранного на роутер `keenetic:/opt/share/www/baldav/`.
|
||||
|
||||
## Решения
|
||||
1. Глобальная память (`~/.claude/CLAUDE.md`, раздел «macOS Cross Toolchain»): osxcross в
|
||||
`/mnt/02F6E7F6F6E7E7BD/osxcross/`, SDK в `/home/chaiman/fpcupdeluxe/cross/lib/all-darwin/`.
|
||||
2. osxcross достроен: SDK 12.3 упакован в `tarballs/`, сборка
|
||||
`CC="clang --gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13" CXX="clang++ --gcc-install-dir=..." UNATTENDED=1 ./build.sh`
|
||||
(у clang выбирается GCC 14 без libstdc++-14-dev). `rustup target add x86_64-apple-darwin aarch64-apple-darwin`.
|
||||
3. `build.sh`:
|
||||
- `update_version` раз за запуск; цели `android`, `linux|desktop`, `windows`, `macos`, `pc`, `all`,
|
||||
`upload` (= `-u all`) в любой комбинации; флаги `-d` (debug всё), `-da` (debug только APK), `-i`, `-u`.
|
||||
- Windows: `--target x86_64-pc-windows-gnu --config '{"bundle":{"targets":["nsis"]}}'`
|
||||
(`--bundles` на Linux принимает только deb/rpm/appimage); нужен `icons/icon.ico`.
|
||||
- macOS: `--no-bundle` + `.app` собирается скриптом (бандлер Tauri на Linux пропускает `app`), zip.
|
||||
- Выкладка: файлы под фиксированными именами + `<файл>.build`; `BUILD_NUMBER` только вместе с APK
|
||||
(OTA телефона); APK ещё и на VPS; упавшие цели не блокируют остальные.
|
||||
4. Документация: README, PROJECT_MAP, лог сессии.
|
||||
|
||||
## Проверка
|
||||
`./build.sh -da upload` -> сборка 506, 7 файлов на роутере, HTTP 200, номера сходятся.
|
||||
Запуск на Windows/macOS не проверялся.
|
||||
|
|
@ -18,9 +18,30 @@
|
|||
- AppImage, которого не было после сборки 0.1.499, при повторной упаковке собрался; причина
|
||||
прошлого отсутствия не выяснена.
|
||||
|
||||
- Сборка osxcross с clang заработала с `--gcc-install-dir=/usr/lib/gcc/x86_64-linux-gnu/13`
|
||||
(с gcc падает cctools-port: «must compile with clang»).
|
||||
- Tauri CLI на Linux не принимает `--bundles nsis/app` -> Windows через `--config '{"bundle":{"targets":["nsis"]}}'`;
|
||||
macOS-бандл бандлер на Linux пропускает -> `--no-bundle` + `.app` собирается скриптом (Info.plist,
|
||||
`Resources/data/products_seed.db`, `icon.icns` из `icon.png` записью ic07, NSBluetoothAlwaysUsageDescription).
|
||||
- Для Windows нужен `src-tauri/icons/icon.ico` - сделан ImageMagick из `icon.png`.
|
||||
- По запросу пользователя: любая комбинация целей и флагов за один запуск, номер растёт раз;
|
||||
`-da` - debug только APK (на телефоне и на роутере debug-подписанный APK);
|
||||
`BUILD_NUMBER` на роутере только вместе с APK (OTA телефона читает его, `MainActivity.kt:801-806`),
|
||||
у каждого файла `<файл>.build`; что собралось - выкладывается, упавшее в итоге.
|
||||
|
||||
## Результат
|
||||
См. раздел «Проверка» ниже (дополняется по ходу).
|
||||
`./build.sh -da upload`: сборка 506, выложено на роутер и APK на VPS:
|
||||
baldav.apk 181.5 МБ, baldav-linux-amd64.deb 9.9, baldav-linux-x86_64.rpm 9.9,
|
||||
baldav-linux-x86_64.AppImage 82.2, baldav-windows-x64-setup.exe 9.7, baldav-macos-x64.zip 9.3,
|
||||
baldav-macos-arm64.zip 9.1.
|
||||
|
||||
## Проверка
|
||||
- Роутер: все 7 файлов отдаются по HTTP (200), BUILD_NUMBER = 506, все `.build` = 506.
|
||||
- `file`: PE (NSIS) с baldav.exe + WebView2Loader.dll + data/products_seed.db внутри;
|
||||
Mach-O x86_64 (min 10.13) и arm64 (min 11.0, есть LC_CODE_SIGNATURE ad-hoc).
|
||||
- Запуск на Windows и macOS не проверялся: машин с этими ОС здесь нет.
|
||||
|
||||
## Следующие шаги
|
||||
- Проверить установщик на Windows и .app на macOS (Intel и Apple M). Сборки не подписаны:
|
||||
на macOS первый запуск через ПКМ -> «Открыть».
|
||||
- `build.sh` в `.gitignore` - в репозиторий не попадает.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue