Közreműködés

A Jaminak szóló hozzájárulásokat mindig szívesen fogadjuk, és nagyra értékeljük. Számos módja van a Jamihoz való hozzájárulásnak, többek között:

  • Hibák és problémák bejelentése,

  • Kód hozzájárulása,

  • A Jami becsomagolása és karbantartása a GNU/Linux disztribúcióhoz vagy más operációs rendszerekhez,

  • Hozzájárulás a Jami dokumentációjához.

Az alábbiakban megtudhatja, hogyan kezdhet hozzájárulni a Jami-hez.

Hibák és problémák jelentése

Kérjük, olvassa el a hibabejelentési útmutatót, ahol lépésről lépésre olvashat arról, hogyan jelentheti be a Jamival kapcsolatos problémákat.

Kód hozzájárulás

Ha hozzá szeretne járulni a Jamihoz, tekintse meg a jó első kiadásokat: https://git.jami.net/groups/savoirfairelinux/-/issues/?sort=created_date&state=opened&label_name[]=good first issue.

Lépjen kapcsolatba közvetlenül a fejlesztőkkel úgy, hogy megjegyzést fűz a jegyhez. Ez lehetővé teszi a fejlesztők számára, hogy végigvezetik Önt a folyamaton.

A kód Jamiba való integrálásához a https://review.jami.net címre történő javítás szükséges.

Lásd még

A javítások beküldésével kapcsolatos további információkért tekintse meg a együttműködés Gerrittel útmutatót.

Az irányelv véglegesítési üzenete

Amikor javítást küld be Jaminak, kérjük, kövesse a következő irányelveket a véglegesítési üzenetekre vonatkozóan:

  1. Az első sornak tartalmaznia kell a változtatás összetevőjét vagy hatókörét, majd a felszólító mód változásának rövid összefoglalását (pl. „új funkció hozzáadása”, „hiba javítása”, „dokumentáció frissítése”).

  2. Az alany használhatja az összetevőt vagy a hatókört nagybetűvel, de a cím többi részének kisbetűsnek kell lennie.

  3. A második sornak üresnek kell lennie.

  4. A harmadik sor legyen az egész mondatok változásának hosszabb leírásának kezdete, ha szükséges.

  5. 50/72 szabály: Az első sor nem lehet hosszabb 50 karakternél (ideális esetben), az üzenet többi részét pedig soronként 72 karakterre kell tördelni. Ezt a szövegszerkesztőben lehet beállítani.

  6. Ha a változás a Jami GitLab egy adott problémájához kapcsolódik, adja meg a kiadás számát a véglegesítési üzenetben. Például: GitLab: #123. Ha a változás több problémához kapcsolódik, sorolja fel mindegyiket. Ha a változás olyan problémához kapcsolódik, amely nem része a projektnek, használja inkább a problémára mutató hivatkozást.

A véglegesítési üzenet sablonja:

<Component/Scope>: <short Summary (imperative, max 50 characters)>

<Detailed description (in present tense) of what was changed and why
it was necessary, wrapped at 72 characters per line to maintain
readability. Include any important details that help others understand
the context of the change. Use this space to explain complex changes
or provide background information.>

[GitLab: #<issuenumber>] or [Link to issue]

Például:

ConversationView: add a new function

Adds a new function to the ConversationView class that allows
the user to sort conversations by date. This function is necessary
to improve the user experience and make it easier to find specific
conversations.

GitLab: #123

Jami csomagolása

A Jami csomagolásának két módja van:

  1. A Snap Store-ban vagy a https://dl.jami.net webhelyen elérhető csomagok létrehozásának belső folyamatán keresztül.

  2. Kedvenc GNU/Linux disztribúciójának csomagolási folyamatán keresztül.

Fontos

A Jami egy meglehetősen összetett projekt, sok függőséggel. Ez nem egy gyors és egyszerű feladat, és karbantartást igényel.

Megjegyzés

Ha a Jami a második opcióval van csomagolva:

  • A hivatalos kiadásokhoz a Jami bizonyos Qt verziókat használ, mivel a Qt nagy függőséget jelent. Ez annak biztosítására szolgál, hogy a Jami működjön a használt Qt verzióval. A Qt verzió minden apró változtatása megtörheti Jamit, vagy nemkívánatos változásokat hozhat. Például a 6.2 → 6.4 megszakította a videovezetéket.

  • A Jami a pjproject elágazását használja, mivel a TCP-protokoll feletti ICE olyan követelmény, amelyet nem terveznek felfelé.

  • A libupnp kapott néhány javítást annak biztosítására, hogy a nem letiltó API-felülettel készüljön.

  • Az FFmpeg rendelkezik néhány képernyőmegosztó javítással.

  • Látogasson el a daemon/contrib/src oldalra a függőségek felépítésének ellenőrzéséhez.

A belső csomagolásnál minden az extra/packaging/gnu-linux helyen található. Kövesse a korábbi javításokat, hogy megértse igényeit. Például: https://review.jami.net/c/jami-client-qt/+/28036.

A Jaminak 3 kiadási csatornája van:

  • Belső tesztelési célokra

  • Nightly/Béta/Edge nyilvános bétaverzióhoz

  • Stabil nyilvános kiadásokhoz

A belső csatornát általában új elosztások tesztelésére vagy új Qt-verzió csomagolásakor használják. Ezután hetente egyszer jön létre egy éjszakai, és havonta egyszer egy stabil (ha az egységtesztek sikeresek).

A csomagok a következő helyre kerülnek:

Elosztás hozzáadása:

  • Dockerfile hozzáadása

  • Makefile módosítása

  • Csomagolási parancsfájl frissítése

  • Tedd keresztbe az ujjaidat

  • Csomagtesztelés virtuális gépben

Figyelem

A Chromium a nehéz megépíteni. Három gyakori probléma a következő:

  • A GCC túl friss:

    • A javítás általában a Chromium gerritből származó javítások importálásából áll, hogy kijavítsák a GCC-problémákat

  • A Python túl friss:

    • A javítás általában a PyEnv használatából áll a megfelelő Python verziójú virtuális környezet létrehozásához

  • Hiányzó függőségek:

    • A Qt beállítási lépése során megjelenik a beépített komponensek listája és a hiányzó függőségek listája. Általában egy csomag telepítése vagy a node.js frissítése megoldja a problémát.

    • Vegye figyelembe, hogy ha a Qt Chromium nélkül jön létre, akkor a Chromiumot el kell távolítani a csomagból a build gépek gyorsítótárában, hogy újra generáljon egy újat (/var/cache/jami).

Elosztás eltávolítása:

  • Ha egy disztribúció EOL VAGY ha van 2 újabb LTS, akkor a terjesztés eltávolítható (pl. Ubuntu 20, 22, 24 – távolítsa el az Ubuntu 20-at) a kapcsolódó fájlok és ellenőrzések eltávolításával.

Megjegyzés

A következő nagy változtatások a következők:

  • CMake használata az autotools helyett a jami-daemonhoz.

  • Ubuntu Core 22 (UC22) használata a core20 helyett a Snap-ben.

  • Flatpak/AppImage támogatása? Ez leegyszerűsítheti az egyéni RPM/Debian csomagolást.

  • Csak egy egységesített Debian-telepítőfájlt és egy egységesített RPM-telepítőfájlt hozzon létre.

  • A Jenkinsfile segítségével csomagokat hozhat létre egyidejűleg GNU/Linux, macOS és Windows operációs rendszerekhez, ha lehetséges.

Belső tájékoztatásért (például alkalmazás áruházaknál való közzététel módja, vö. belső wiki).

Hozzájárulás ehhez a dokumentációhoz

Mindig szívesen vesszük és nagyra értékeljük az ezekhez a dokumentumokhoz való hozzájárulásokat, az apró javításoktól egészen az új fejezetekig.

Ez az oldal végigvezeti az új oldal létrehozásának vagy a javítás elküldésének lépéseit. A javítások áttekintési folyamata ugyanaz, mint bármely más Jami projektnél, ezért nem magyarázunk el minden parancsot.

Megjegyzés

Azzal, hogy hozzájárul ehhez a dokumentációhoz, beleegyezik abba, hogy hozzájárulásait az fdl, 1.3-as vagy a Free Software Foundation által kiadott bármely későbbi verzió alatt elérhetővé tegye; Változatlan szakaszok, elülső borítószövegek és hátsó borítószövegek nélkül.

Azt is megígéri, hogy Ön a módosítások szerzője, vagy azokat egy köztulajdonban lévő vagy az fdl-fájllal kompatibilis, ingyenes licenc alatt kiadott műből másolta. NE NYÚJJON BE SZERZŐI JOG ÁLTDOTT MUNKÁT ENGEDÉLY NÉLKÜL.

Lásd még

Ha segíteni szeretne ennek az oldalnak a fordításában, csatlakozhat a projekthez, és elkezdheti az oldal fordítását a https://explore.transifex.com/savoirfairelinux/ oldalon.

Függőségek

A Git telepítése és beállítása szükséges az SSH-kulcspár és a Jami Gerrit fiók használatához, ahová elküldheti a javításokat felülvizsgálatra. Ha segítségre van szüksége ebben, tekintse meg a javítások beküldési útmutatójának elejét (TEENDŐ).

A módosítások helyi webböngészőben történő előnézetéhez a következőket kell telepíteni:

$ pip install --upgrade sphinx sphinx_rtd_theme myst_parser

Az auto-build (automatikus felépítés) és az auto-refresh (automatikus frissítés) funkció használatához telepítse a sphinx-autobuild programot is.

$ pip install --upgrade sphinx-autobuild

Az adattár klónozása

Klónozza a adattárat, és állítsa be a leküldéses beállításokat a következőképpen:

$ git clone "ssh://USERNAME@review.jami.net:29420/jami-docs.git"
$ cd jami-docs
$ git config remote.origin.push HEAD:refs/for/master

Érdemes lehet minden hozzájáruláshoz/módosításhoz egy új fiókot megnézni, mielőtt bármilyen változtatást hajtana végre a fájlokon, így könnyen git pull minden jövőbeli változtatást a felfelé adattárról a fő helyi fiókjába:

$ git checkout -b my-example-change

Oldal szerkesztése

Az oldalak Markdown nyelven íródnak. Kattintson bármelyik oldal tetején a „View page source” (Oldal forrásának megtekintése) elemre az oldal nyers forrásának megnyitásához, és megnézheti, hogyan íródott.

Folytassa, és módosítsa az .md-fájlokat.

Munkájának előnézete

Az adattár alapjáról futtassa:

$ make clean && make html

A dokumentációnak most már megtekinthetőnek kell lennie egy webböngészőben. A kezdőlap a _build/html/index.html címen található.

Figyelem

Ez a dokumentáció jelenleg nem a Sphinx legújabb verziójával készül. Kérjük, tekintse meg ezt a problémát a GitLabon a probléma megoldásához és frissítéseihez.

A dokumentáció automatikus felépítéséhez és a webböngésző frissítéséhez a változtatások mentésekor futtassa a következőt:

$ make clean && make watch

Folytassa ezt a háttérben, majd navigáljon a http://127.0.0.1:8000 oldalra (nem a helyi .html-fájlra).

Munkájának mentése

$ git add source/file/you/edited.md
$ git commit

Tekintse meg az irányelv véglegesítési üzenete, hogy hogyan írjon jó véglegesítési üzenetet.

Módosítás beküldése

Amikor először hajtják végre a módosításokat, Gerrit panaszkodni fog, hogy a véglegesítés nem tartalmaz Change-Id-t, és egy scp parancsot ad a véglegesítési horog telepítéséhez. A parancs futtatása után engedélyeznie kell az újravéglegesítést és a módosítás leküldését:

$ git commit --amend --no-edit
$ git push

Munkájának módosítása

Előfordulhat, hogy a felülvizsgáló megkérheti Önt, hogy az összevonás előtt módosítsa a javítást. Ez nem probléma! Egyszerűen hajtsa végre a módosításokat, futtassa a git add parancsot, majd futtassa a git commit --amend parancsot a javítás módosításához.

Megjegyzés

Az --amend kapcsoló, amely megmondja a Gitnek, hogy módosítsa a meglévő legújabb véglegesítést, ahelyett, hogy új véglegesítést hajtson végre. Ez a munkafolyamat a javasolt változtatás frissítéséhez a Gerrit használatakor.

Oldal hozzáadása

Ha úgy dönt, hogy egy teljesen új oldalt ad hozzá a dokumentációhoz, akkor azt is hozzá kell adnia az adott fejezet toctree (tartalomjegyzék) irányelvéhez.

Például, ha hozzáadott egy új hosting-jams-on-aws-guide.md nevű oldalt a Jami felhasználói kézikönyvéhez a user (felhasználó) mappában, akkor hozzá kell adnia a toctree (tartalomjegyzék) a user/index.md irányelvet, fájlkiterjesztés nélkül:

```{toctree}
:maxdepth: 1

bug-report-guide
hosting-jams-on-aws-guide
```