Skip to content

Instantly share code, notes, and snippets.

@mrkara
Last active December 23, 2019 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrkara/5b532871796acc72a763ebf2e3bff0f5 to your computer and use it in GitHub Desktop.
Save mrkara/5b532871796acc72a763ebf2e3bff0f5 to your computer and use it in GitHub Desktop.
#LibreOffice Developer Bootcamp - LibreOffice Geliştiriciliğine Giriş Kursu - İlk Yama için Öğrenci Notları

Temel kaynak: https://wiki.documentfoundation.org/Development/GetInvolved

Git Config (İlk Ayarlar)

git config --global user.name "Adım Soyadım"

git config --global user.email "eposta@adresim.com"

Git'te son commiti silmek

git reset --hard HEAD^                                                                                                                                                               (Eğer doğrudan master üzerinde çalışıyorsanız, yereldeki commit Gerrit'e yüklenip testlerden geçip depoya girdikten sonra, yeni bir patch hazırlamaya başlamadan önce bununla yerelinizi temizleyebilirsiniz)

Almanız gereken üyelikler ve benzeri işler

Üyeliklerin birbirine görmesi ve uyumlu olması için aynı mail adresini kullanın.

1- https://auth.documentfoundation.org/  (İlk bu adrese üye olun)

2- https://gerrit.libreoffice.org/ (Sağ üsten sign in diyin. The Document Foundation OAuth2 (gerrit-oauth-provider plugin) yazan kısma tıklayın. Otomatik olarak https://auth.documentfoundation.org/  adresine üye olduğunuz bilgilerle üyeliğiniz oluşturulcak.

3-https://bugs.documentfoundation.org/

Not: Eğer github üyeliğinizde aynı mailde olursa https://github.com/LibreOffice/core projesine yıldız koyarsanız marged edilmiş commitleriniz github hesabınızda da gözükür.

4-https://lists.freedesktop.org/mailman/listinfo/libreoffice (Mail listesine abone olmak için)

5- https://wiki.documentfoundation.org/Development/GetInvolved#License_statement  (Lisans metni göndermek için. )

Dizinler arası rahat hareket edebilmeniz ve dosyalara erişebilmeniz için bilmeniz gereken temel linux komutları.

1- pwd  -> Bulunduğunuz konumu ekrana çıktı olarak basar.

2- ls  -> Bulunan klasördeki dosyları ekrana çıktı olarak basar.

3- ls -a  -> Bulunduğunuz dizindeki gizli dosya ve klasörler de olmak üzere tüm hepsini listeler.

4- ls -l  -> Bulunduğu dizin içerisindeki dosya ve klasörler hakkında ayrıntılı bilgiler verir. Bu bilgiler içerisinde dosya izinleri, dosya sahibi, grubu, oluşturulma tarihi gibi bilgiler yer almaktadır.

5- ls -la -> Bulunduğu dizindeki dosyaları gizli dosyalar da dahil olmak üzere dikey şekilde ayrıntılı gösterim yapar.

6- cd -> (Change Directory) Sonrasında vereceğiniz konuma gider, sonraki komutlarınız yeni konumda çalıştırılır.

7- cd .. -> Bir üst klasöre gider.

8- cd <dizinadi> -> Verilen dizine gider, sonraki komutlarınız "dizin adı" konumunda çalıştırılır.

9- cat <dosyaadi> -> Verilen dosya adındaki dosyanın içeriğini terminal ekranına çıktı olarak basar.

Bu ve benzeri temel linux komutları için kaynaklar :

https://www.google.com/   :)  

http://wiki.uhem.itu.edu.tr/w/index.php/Temel_Linux_Komutlar%C4%B1

https://aktif.net/tr/Aktif-Blog/Teknik-Makaleler/Yeni-Baslayanlar-icin-Basit-Linux-Komutlari

https://www.hostinger.web.tr/rehberler/linux-komutlari/

Ssh bağlantısı oluşturma

1- cd (home dizine gelin.)

2- ssh-keygen -t rsa    (Bu komut ile ssh keyinizi oluşturun. Çıkan sorulardan şifre olan kısmı ve şifre onay olan kısmı doldurun. Bu şifreyi ileride kullanacağız unutmayacağınız bir şifre olsun. Şifre haricindeki soruları boş geçin.)

3- cat .ssh/id_rsa.pub (ekrana sizin ssh keyinizi bastırcaktır)

4- Ekrana basılan keyinizi kopyalayın

5- Gerrit hesabınıza gidin. Ayarlara girin SSH Puplic Keys kısmına gelin. Metin kutusuna keyinizi yapıştırın ve add butonuna basın.

6- core dizinine gelin

7- ./logerrit setup (username soracak. Gerritte belirlediğiniz username'mi vermeniz gerekiyor. Belirlemediyseniz gerrit profilde belirleyebilirsiniz.)

8- Ekran çıktısında "Host" ile başlayan kısımdan "gerrit.libreoffice.org" kısmına kadar kopyalayın.

9- cd (home dizine gelin)

10- gedit .ssh/config (config dosyasının içeriine kopyaladığınız yeri  yapıştırıp kaydedip çıkın)

11- chmod 700 .ssh -R (izinleri gerektiği gibi düzenleyin)

12- core dizinine geri dönün

13- ./logerrit test (Çıkan soruya evet diyin ve şifre isteyecek ssh key oluştururken verdiğiniz şifreyi girin. En son çıktı satırında "Your gerrit setup was successful!" yazısını görmeniz gerek. Aksi taktirde adımların birinde eksiklik veya yanlışlık olabilir) 

QT Creator ile çalışmak için

1- core dizinine gelin

2- make qtcreator-ide-integration   (komut çıktısının sonunda "Successfully created the project files." yazısını görmeniz lazım)

3-Qt creatoru açıp "Open Projet" diyip core dizinini bulun. İçerisinde "lo.pro" dosyasına çift tıklayın. Geri kalan kısım otomatik gerçekleşecektir.

Değişiklikleri yapıp kaydettikten sonra

make MODÜLADI                                                                                                                                                                      (üzerinde değişiklik yaptığımız modülü yeniden derler)

make check                                                                                                                                                                               (değişikliğimizi otomatik testlerden geçirir)

./instdir/program/soffice                                                                                                                                                             (Uygulamayı başlatıp bir sorun olmadığını teyit etmek için)

git commit -a -m "tdf#BUGNUMARASI: HATA-KAYDININ-BAŞLIĞI-YA-DA-ANLAMLI-VE-KISA-BİR-BAŞKA-MESAJ"           (değişikliklerimizi içeren bir yerel commit oluşturur)

./logerrit submit master                                                                                                                                                              (Yereldeki commitlerimizi, yama (patch) olarak Gerrit'e yükler (core projesinin master dalına))

Yaptığınız commite (yanlış olduğundan dolayı) ekleme/çıkarma/düzeltme işlemi yapmak:

1- İlgili dosyanızı/dosyalarınızı düzeltip kaydedin. 

2- core dizinine gelin

3- make MODÜLADI                                                                                                                                                                      (üzerinde değişiklik yaptığımız modülü yeniden derler)

4- make check                                                                                                                                                                               (değişikliğimizi otomatik testlerden geçirir)

5- ./instdir/program/soffice                                                                                                                                                             (Uygulamayı başlatıp bir sorun olmadığını teyit etmek için)

6- "git commit -a --amend" komutu ile son commite ekleme yapın.

Not: Commit mesajını içeren vim ekranı açılırsa, hiçbir değişiklik yapmadan ":wq" komutunu verip geçebilirsin. Vim yerine nano ekranı açılırsa hiç bir değişiklik yapmadan "Ctrl+X" kısayolu ile çıkın kaydetmek istiyormusunuz sorusuna evetdiyin.

7-./logerrit submit master                                                                                                                                                              (Yereldeki commitlerimizi, yama (patch) olarak Gerrit'e yükler (core projesinin master dalına))

Merkezdeki depodan son commitleri alarak yerel klonu güncellemek için:

 Önce   "./g pull -r ",

Sonrasında : "make" komutlarını çalıştırın.

Gerrit'de var olan ancak localden sildiğimiz patch üzerinden tekrar çalışmak için:

Master dalının güncel ve temiz olduğundan emin olduktan sonra,

"./logerrit cherry-pick Change-Id" komutunu çalıştırın.

* Change-Id, Gerrit üzerindeki her yamayı eşsiz olarak tanımlar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment