Difference between revisions of "TerrariumAssembler"
From Wiki4Intranet
Line 45: | Line 45: | ||
* ld-image.so — базовый кирпич «в дженге» | * ld-image.so — базовый кирпич «в дженге» | ||
* ELF — все захардкожено жестко, по путям. «RPATH»… | * ELF — все захардкожено жестко, по путям. «RPATH»… | ||
+ | |||
+ | Технически решаемо, но это не просто «скопировать». | ||
+ | |||
+ | |||
+ | === CasketAssembler . === | ||
+ | |||
+ | [[File:casketassembler-ikea.png|right|256px]] | ||
+ | |||
Revision as of 14:11, 3 August 2020
- Title
- TerrariumAssembler
- Author
- Stas Fomin
- Subfooter
- Stas Fomin, 17:35, 8 August 2020
Contents
Проблема.
Околонаучные приложения:
- Нет альтернативы — Numpy+Scipy+OpenCV+…
- gonum
- Множество других фишек и батареек Python
- Быстрый цикл экспериментов и разработки
Надо
- Деплой на
- Все версии Windows
- Все версии Linux (включая очень странные)
- Работало быстро
- Секретные алгоритмы
- On Impossibility of Obfuscation [1]
- PYC-файлы, cx_freeze, py2exe — абсолютная открытость.
Деплой на Linux. Стандартные варианты.
Нативная сборка под каждый дистрибутив
- Ад. RPM. DEB. RPM v4, v5, v4+, RPM on APT.
- Все старое.
- Нет контроля над библиотеками.
- «Ограниченная поддержка» — «мы только собрали, не помним как, а поддержка — »
- Комбинаторный взрыв вариантов тестирования.
- Можно — но за отдельные деньги.
Стандартные контейнеры
- Масса вариантов
- Docker
- Flatpack
- Snap
- AppImages
- Хорошая идея
- Нет стандартов
- Нет на ряде дистрибутивов
Ожидания заказчика — «папка, копировать, просто работает»
Деплой на Linux. Просто папка? .
- «Нельзя просто взять и скопировать»©
- Неочевидно для Windows-пользователей — «работает же с Win95…»
- Там это специально добиваются, и это недешево.
- libc-совместимость → major-изменения в API каждые пару лет.
- ld-image.so — базовый кирпич «в дженге»
- ELF — все захардкожено жестко, по путям. «RPATH»…
Технически решаемо, но это не просто «скопировать».
CasketAssembler .
Как можно было бы?