Építés a Flatpak számára

A Snap verzióhoz hasonlóan a Jami Flatpak verziója is elérhető a Flathubon.

Mi az a Flatpak, és hogyan működik?

A Flatpak alapvető megismeréséhez ajánlott a Flatpak bevezetése és az Alapfogalmak elolvasása.

Fontos

A folytatás előtt telepítse a flatpak-csomagot.

Forráskód

A Flatpak verzió forráskódja pontosan megegyezik az asztali ügyféllel. A jegyzékfájl, a függőségek és a Flatpak-függő javítások azonban a hivatalos GitHub-tárolóban találhatók (szükséges a Flathub szerint), amely itt érhető el.

Előfeltételek

A flatpak-builder telepítése:

flatpak install flathub org.flatpak.Builder

Ezután add hozzá a Flathub-adattárat felhasználószinten:

flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo

A Flatpak helyi építése

A GitHub-adattár klónozása

git clone git@github.com:flathub/net.jami.Jami.git

Jami építése

flatpak-builder --force-clean --user --install-deps-from=flathub --repo=DIR builddir net.jami.Jami.yml

DIR—a tároló neve. Alapértelmezés szerint a tároló neve repo. Ha a tároló neve ettől eltér, akkor a tároló nevét kell használni a Jami telepítésekor, a Flatpak hibakeresésekor és frissítések Flathubba küldésekor.

Jami telepítése

flatpak install DIR -y net.jami.Jami

Jami futtatása

flatpak run net.jami.Jami

Megjegyzés

Ha a Jami több Flatpak telepítése is létezik, akkor a --branch=ÁG kapcsolót a run parancs után kell megadni az újonnan lefordított Flatpak futtatásához.

A Flatpak telepítések és a hozzájuk tartozó ágak a flatpak list paranccsal ellenőrizhetők. Az újonnan felépített és telepített Flatpak futtatásához állítsd az ÁG kapcsolót arra az ágra, amelyik az Origin-nak megfelel, azaz repo.

Hibakeresés

A Flatpaks hibakeresése a homokozón belül, helyi gépen lehetséges.

Figyelem

A Jami Flatpakhoz való felépítése miatt a hibakeresés időigényes lehet, mivel a jami-core megosztott könyvtárként van felépítve. Ez azt jelenti, hogy a hibakereső minden újraindításakor meg kell várni a szimbólumok betöltését. Hacsak nem biztos, hogy a hibakeresés alatt álló probléma a Jami Flatpak verziójára jellemző, általában gyorsabb az asztali ügyfél helyi fordítása és hibakeresése. Útmutatóért lásd: itt.

A hibakereső verzió letöltése

A folytatás előtt a Jami Flatpak előző szakaszban leírtak szerint kell elkészíteni a Jami Flatpak fordítását. Ha kész, telepítse a hibakereső verziót:

flatpak install --include-sdk --include-debug repo -y net.jami.Jami

A hibakeresési környezet elindítása

A következő parancs parancsértelmezőt fog futtatni a homokozón belül:

flatpak run --command=sh --devel --filesystem=$(pwd) net.jami.Jami

Futtatás után a parancsértelmezőnek a következőhöz hasonlóan kell kinéznie:

[📦 net.jami.Jami net.jami.Jami]$

Most már két hibakeresési módszer létezik. Függetlenül attól, hogy melyiket választjuk, a mindkét szakaszban leírt parancsokat a homokozó parancsértelmezőn belül kell futtatni.

Hibakeresés a GDB (GNU Project Debugger – GNU projekt hibakereső) segítségével

gdb --args /app/bin/jami --debug

A hibakeresés mostantól a szokásos módon elvégezhető.

Hibakeresés Visual Studio Code (VS Code) segítségével

  1. A gdbserver elindítása.

    gdbserver :1234 /app/bin/jami --debug
    

    Megjegyzés

    A kikötő száma szükség esetén módosítható. Győződjön meg róla, hogy a miDebuggerServerAddress kikötő száma a .vscode/launch.json fájlban tükrözi az új kikötő számot.

  2. A VS Code elindítása a projekt gyökerében.

  3. A futtatás és hibakeresés belépése (Ctrl+Shift+D).

  4. Attach to Remote GDB kijelölése.

  5. Jami futtatása (F5).

Töréspontok beállítása

A forrásfájlok a projekt gyökerében, a builddir/files/lib/debug/source könyvtárban találhatók, és itt kell beállítani a töréspontokat.

Frissítések beküldése a Flathubnak

Ha még nem tette meg, telepítse a flatpak-builder-fájlt, és adja hozzá a Flathub-adattárat a felhasználó egészére az Előfeltételek részben leírtak szerint.

Jegyzékfájl építése

flatpak run --command=flathub-build org.flatpak.Builder --install net.jami.Jami.yml

Jami futtatása és tesztelése

flatpak run net.jami.Jami

A szöszölőeszköz futtatása

A következő parancsokat kell futtatni a YAML-fájlok módosításakor. Ha hibákat észlelünk, azokat egy lekéréses kérés megnyitása előtt el kell hárítani. Ellenkező esetben a Flathub-tesztfelépítések is sikertelen lesznek.

flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest net.jami.Jami.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repo

A szöszölőeszköz-hibák listája itt található.

Változások leküldése és lehívási kérés megnyitása

Ha a felépítés sikeres volt és átment a szöszölőeszköz ellenőrzéseken, akkor a változtatásokat a GitHub-adattárba lehet tolni, és meg lehet nyitni a lehívási kérést. A lehívási kérés megnyitása után a Flathub automatikus felépítési rendszer tesztfelépítéseket készít az x86_64 és aarch64 architektúrákhoz. Ha a felépítések tesztje sikeres lesz, a lehívási kérés összevonható lesz a mesterré, kiváltva a hivatalos felépítéseket.

Megjegyzés

A net.jami.Jami.yml fájlban található finish-args változó, valamint a net.jami.Jami.metainfo.xml fájl módosításához a Flathub karbantartóinak jóváhagyása szükséges. A változtatásoktól függően a build elutasításra kerülhet, vagy magyarázatot, illetve indoklást igényelhet. Ez utóbbi esetben egy probléma kerül megnyitásra a GitHub-adattáron a változtatások magyarázata vagy indoklása érdekében.

A jóváhagyás állapotának megtekintéséhez jelentkezz be a Flathub oldalra, és navigálj a Developer Portal (Fejlesztői portál) → Jami menüpontra.