Skip to main content

Kompatibilita ABI

Pravidla stability ABI

  1. ABI systémových knihoven: Aktualizace dílčích verzí nepřeruší ABI knihovny glibc. Aplikace zkompilované proti glibc 2.35 budou nadále fungovat normálně.
  2. Konvence služeb systemd: multi-user.target a rozhraní pro správu služeb zůstanou stabilní.
  3. Docker Engine: Kompatibilita Docker API se řídí zárukami stability upstream projektu Docker.
  4. API TOS App Center: Rozhraní pro instalaci/spuštění/zastavení/odinstalaci jsou verzovaná a zpětně kompatibilní.

Deklarování běhových závislostí

Aplikace by měly explicitně deklarovat běhové závislosti:

V DEBIAN/control (aplikace Deb):

Depends: libc6 (>= 2.35), python3 (>= 3.10), systemd

V docker-compose.yml (aplikace Docker):

services:
myapp:
image: myapp:1.0.0 # Lock to a specific version; avoid :latest
Poznámka

Pokud vaše aplikace závisí na systémových knihovnách, které nejsou předinstalované, musíte je explicitně deklarovat v poli Depends; v opačném případě může instalace na některých systémech TOS selhat kvůli chybějícím závislostem.

Doporučení pro testování

Pro zajištění dopředné kompatibility:

  • Před podáním otestujte svou aplikaci na nejnovější verzi TOS 7
  • V balíčcích Deb používejte závislosti s uzamčenou verzí
  • Aplikace Docker by měly uzamknout tagy obrazů na konkrétní verze (ne :latest)
  • Přihlaste se k odběru poznámek k vydání TOS na vývojářské platformě