Flatpakin valmistaminen

Vastaava kuin Snap. Flatpak-versio Jamista, jaetaan Flathub.

Mikä on Flatpak ja miten se toimii?

Lue ensin johdanto Introduction to Flatpak ja Basic Concepts jotta saat perusymmärryksen Flatpakeista.

Tärkeä

Ennen kuin jatkat, asenna flatpak paketti.

Lähdekoodi

Flatpak lähdekoodi on täsmälleen sama kuin työpöytäversion. Riippuvuudet ja Flatpak-kohtaiset korjaustiedostot sijaitsevat kuitenkin virallisessa GitHub-arkistossa (Flathub vaatimusten mukaisesti) ja löytyy täältä.

Edellytykset

Asenna flatpak-builder:

flatpak install flathub org.flatpak.Builder

Lisää sitten Flathub-repo kaikille käyttäjille:

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

Flatpakin valmistaminen paikallisesti

Kloonaa GitHub-arkisto

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

Jamin rakentaminen

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

”DIR” – arkiston nimi. Oletuksena arkiston nimen pitäisi olla ”repo”. Jos arkiston nimi on jokin muu, nimeä on käytettävä [Jamin asennuksessa] (#install-jami), [Flatpak virheentarkistuksessa] (#debugging) ja [päivitysten lähettämisessä Flathubiin] (#submitting-updates-to-flathub).

Asenna Jami

flatpak install DIR -y net.jami.Jami

Suorita Jami

flatpak run net.jami.Jami

Muista

Jos Jamista on useita Flatpak-asennuksia, --branch=BRANCH-vipu tulee määrittää run-komennon jälkeen, juuri käännetyn Flatpakin suorittamiseksi.

Flatpak-asennukset ja vastaavat haarat voidaan tarkistaa komennolla ”flatpak list”. Suorita juuri käännetty ja asennettu Flatpak, asettamalla ”BRANCH”-kohtaan haara, joka vastaa ”Origin”-haaraa, joka on ”repo”.

Virheentarkistus

Flatpak virheentarkistus hiekkalaatikossa on mahdollista paikallisella tietokoneella.

Varoitus

Jamin rakentaminen Flatpakiksi voi viedä aikaa. Tarkoittaa, että joka kerta, kun virheenkorjaaja käynnistetään uudelleen, sen on odotettava symbolien latautumista. Ellei ole varmaa, että korjattava ongelma liittyy Jamin Flatpak-versioon, on yleensä nopeampaa kääntää ja debugata työpöytäsovellus paikallisesti. Ohjeet löytyvät [täältä] (dependencies.md#jami-client-qt).

Lataa debug-versio

Ohjeet Jami Flatpakin rakentamiseksi, kuten edellisessä osiossa on oltava valmis ennen jatkamista. Kun olet valmis, asenna debug-versio:

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

Käynnistäminen virheenkorjausympäristössä

Seuraava komento suorittaa komentotulkin hiekkalaatikossa:

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

Komentotulkin pitäisi näyttää seuraavanlaiselta:

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

Korjaukseen on kaksi tapaa. Riippumatta siitä, kumpi valitaan, kummassakin osiossa kuvatut komennot tulee suorittaa hiekkalaatikon sisällä.

Virheenkorjaus GNU Project Debugger (GDB)

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

Virheenkorjaus voidaan tehdä nyt normaalisti.

Virheenkorjaus Visual Studio Code (VS Code)

  1. Käynnistä gdbserver.

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

    Muista

    Portin numeroa voidaan muuttaa tarvittaessa. Varmista, että .vscode/launch.json-tiedoston miDebuggerServerAddress porttinumero vastaa uutta porttinumeroa.

  2. Käynnistä VS Code projektin juuressa.

  3. Siirry ”Run and Debug” -osioon (Ctrl+Shift+D).

  4. Valitse ”Attach to Remote GDB”.

  5. Suorita Jami (F5).

Aseta keskeytyskohdat

Lähdetiedostot sijaitsevat projektin juuressa hakemistossa ”builddir/files/lib/debug/source”, ja niihin tulisi asettaa keskeytyskohdat.

Päivityksen lähettäminen Flathubiin

Jos et ole vielä tehnyt, asenna flatpak-builder ja lisää Flathub-repo Edellytykset kuvatulla tavalla.

Luo manifesti

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

Suorita ja testaa Jami

flatpak run net.jami.Jami

Suorita linter

Seuraavat komennot on suoritettava, jos YAML-tiedostoihin tehdään muutoksia. Jos näet virheitä, ne on korjattava ennen lähettämistä, eli pull-pyynnön avaamista. Muuten lähetetty Flathub-testiversio epäonnistuuu.

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

Linter-virheiden luettelo löytyy täältä.

Siirrä muutokset ja avaa pull request

Jos koonti onnistui ja läpäisi linter-tarkistukset, muutokset voidaan pushata GitHub-repositorioon ja pull request voidaan avata. Kun pull request on avattu, Flathubin automaattinen koontijärjestelmä luo testikoonnit x86_64- ja aarch64-arkkitehtuureille. Jos testikoonnit onnistuvat, pull request voidaan mergetä master-haaraan, mikä käynnistää viralliset koonnit.

Muista

Mikäli tiedoston net.jami.Jami.yml finish-args-osioon tai tiedostoon net.jami.Jami.metainfo.xml tehdään muutoksia, ne vaativat Flathubin ylläpitäjien hyväksynnän. Muutoksista riippuen koonti saatetaan hylätä, tai se voi vaatia selityksen tai perustelun. Jälkimmäisessä tapauksessa GitHub-repositoriooon avataan issue ongelmaraportti muutosten selittämistä tai perustelemista varten.

Näet hyväksynnän tilan kirjautumalla sisään Flathub ja siirtymällä kohtaan Developer Portal → Jami.