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:
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”).
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.
A második sornak üresnek kell lennie.
A harmadik sor legyen az egész mondatok változásának hosszabb leírásának kezdete, ha szükséges.
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.
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:
A Snap Store-ban vagy a https://dl.jami.net webhelyen elérhető csomagok létrehozásának belső folyamatán keresztül.
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:
dl.jami.net (2 gép, rsync 15 percenként)
Ubuntu áruház (snapcraft.io/jami)
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 ```