LibreOffice fejlesztés

Git, gerrit regisztráció, helyi beállítások

2018. december 04. - christo161

Ebben a leírásban található lépéseket kell végrehajtani ahhoz, hogy a LibreOffice kódjában végzett módosításodat beküldhesd, hogy az automatikus ellenőrzés megtörténjen, és ha azok sikeresek, akkor a senior programozók rábólinthassanak, és csak azt követően kerülhet bele a LibreOffice kódjába véglegesen, amit már a világon mindenki használhat a következő verziótól kezdve, aki csak letölti a LibreOffice-t.

Ez a leírás nem tartalmazza a patch (módosítás) beküldését (commitolását és pusholását), csak annak az előfeltételeit teremti meg.

Ha valamelyik pontnál elakadsz, ezek áttanulmányozása segíthet:
http://math.bme.hu/~balazs/git/gitcml.html
https://wiki.documentfoundation.org/Development/Git_For_LibreOffice_Developers
https://wiki.documentfoundation.org/Development/gerrit

-1. Jogi nyilatkozat

Ezt a szöveget levélben el kell küldeni...

All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license.

...a levél témája legyen...

<your name> license statement

...erre az email címre:

libreoffice[kukac]lists.freedesktop.org

(forrás)

0. LibreOffice letöltése

Hozz létre egy könyvtárat (mappát) a LibreOfficenak valahol.
Parancssorban (Linuxon valamilyen terminálban, Windowson pl. cygwinben) lépj be ebbe a mappába, majd futtasd a következő parancsot:

git clone https://gerrit.libreoffice.org/core libreoffice

Néhány megjegyzés:
- az 5. pontig tartó lépések a -1. és 0. lépés előtt is elvégezhetők
- nem kell git init parancsot futtatni a git clone után
- az itt felsorolt lépésekhez elég csak a git clone parancs futtatása, nem kell elindítani az autogen.sh-t és a fordítást, az nyilván csak ahhoz kell, ha szeretnéd kipróbálni, hogy amit módosítottál a kódban, az hogyan működik
- a fordítás részletesebb kifejtése egy másik leírásban található

1. git regisztráció

https://github.com

(Mi az a git? Verziókezelő. Az egyes fejlesztők/közreműködők által végzett módosításokat tárolja / tartja nyilván.
Útmutató videók: [1] [2])

2. gerrit regisztráció

https://gerrit.libreoffice.org
Töltsd ki a következőket is: felhasználónév (szóközt és ékezetet ne tartalmazzon, példa: adamkovacs), név (példa: Adam Kovacs), emailcím (példa: valami@valami.com)
(Ezek a "Profile" és "Contact information" menüpontoknál találhatók).
(Mi az a gerrit? A git kiegészítése, kényelmesítése. Webes felületen tekinthetők át a beküldött módosítások (patchek) fájljai, üzenetei, valamint a módosításokhoz tartozó automatikus tesztek eredményei, a senior programozók megjegyzései, és az, hogy mergelve lett-e a beadott patch, satöbbi).

3. ssh kulcs létrehozása

Linux:

ssh-keygen -C 'sajat@email.cim'

Windows:

ssh-keygen.exe -C 'sajat@email.cim'

A parancs futtatását követően célszerű egy jelszót is megadni, hogyha valaki mégis hozzáfér a parancs által generált fájlokhoz, ne tudjon pl. a nevedben commitolni.
(A jelszóra majd például a ./logerrit submit master parancs futtatásánál lesz szükség).

4. ssh publikus kulcs bemásolása gerritbe

A ~/.ssh/ mappában található id_rsa.pub fájl teljes tartalmát másold be gerritbe a SSH Public Keys menüpontot kiválasztva.

5. ~/.ssh/ mappában hozz létre egy config nevű fájlt ilyesmi tartalommal:

Host logerrit gerrit.libreoffice.org
    IdentityFile ~/.ssh/id_rsa
    User gerritesfelhasznalonev
    Port 29418
    HostName gerrit.libreoffice.org

(Előfordulhat, hogy a 22-es (ssh) port le van tiltva egyes munkahelyeken vagy publikus hálózatokon).

5a.

A ~/.ssh/ mappában a következő parancs futtatása szükséges lehet:

chmod 600 config

Ezzel írási és olvasási (4 + 2) jogot állítasz be a saját felhasználónevedre nézve, és semmilyen jogot (0) a csoportodra és a külvilágra nézve.

6.

Állítsd be a helyi git repóban a felhasználónevet és email címet a gerritben beállítottakkal megegyezően, a következő parancsokkal, a LibreOffice mappájába belépve:

git config --global user.name "Sajat Nev"
git config --global user.email "sajat@email.cim"

A git config --list paranccsal lehet lekérni a jelenleg érvényes beállításokat. Ha ezek között nem szerepel név és email cím, akkor még nem állítottunk be semmit. De A git config user.name és a git config user.email parancsokkal erről egyértelműbben meggyőződhetünk.

6a.

A LibreOffice mappájában lévő .git mappában lévő config nevű fájlnak valahogy így kell kinéznie:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
	ignorecase = true
[remote "origin"]
	url = ssh://felhasznalonev@gerrit.libreoffice.org:29418/core
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master
[user]
	name = Gerriten Megadott Nev
	email = gerriten_megadott_email_cim
[submodule "dictionaries"]
	active = true
	url = ssh://felhasznalonev@gerrit.libreoffice.org:29418/dictionaries
	ignore = all
[submodule "helpcontent2"]
	active = true
	url = ssh://felhasznalonev@gerrit.libreoffice.org:29418/help
	ignore = all
[submodule "translations"]
	active = true
	url = ssh://felhasznalonev@gerrit.libreoffice.org:29418/translations
	ignore = all

Előfordulhat, hogy a fentebbi parancsok nem módosítottak semmit ebben a fájlban, ekkor vagy kézzel írd át a fájlt, vagy pedig lépj be a fájlt tartalmazó mappába és ott add ki ezt a parancsot:

chmod 600 config

Majd próbáld újra az előző pontban leírtakat.

6b.

Érdemes átállítani az alapértelmezett szövegszerkesztőt nanóra vagy mceditre, ha valaki nem szereti a vi-t.
A következő parancs futtatásával:

git config --global core.editor nano

Ezt követően a git commit parancs futtatása után nem a vi jön be, hanem a nano.

7. gerrit teszt

A következő parancsoknak sikeresen futniuk kéne:

./logerrit test
ssh -vvvv logerrit

Ha nem futnak le sikeresen, jó eséllyel informatívan tájékoztatnak a hibáról, esetleg arról, hogy milyen parancsokat kéne még futtatni.
Ha mégsem, akkor érdemes a fenti linkeket tanulmányozni.

A bejegyzés trackback címe:

https://libreoffice.blog.hu/api/trackback/id/tr10014426912

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása