4 Ekim 2015 Pazar

LibreOffice Paketi İçin Yama Hazırlamak



LibreOffice özgür ofis yazılımı Dünya'nın dört bir yanından katkıcıların ortak emekleri ile geliştiriliyor. Eğer bir geliştiriciyseniz, hata düzeltme ve yama gönderme işlerinde de katkı verebiliyorsunuz. Bende bu iş için gönüllü oldum ve yama hazırladım. Ben ubuntu 14.04 LTS kullandım. Bu yamayı hazırlarken yaşadığım süreçten biraz bahsedeyim istiyorum.

Başlangıçta Libreoffice'i kaynak kodundan derlemeniz gerek. Bunun için önce ihtiyacımız olan bağımlı paketleri kuralım.

$ sudo apt-get build-dep libreoffice

Depoyu yerelimize clone edelim.

$ git clone git://anongit.freedesktop.org/libreoffice/core libreoffice

Proje dizinine geçelim.

$ cd libreoffice 

Hatasız çalıştığını kontrol edelim ve derleyelim.

$ ./autogen.sh 

$ make
Derleme işleminin ardından writer'ı çalıştırıp, projenin düzgün çalıştığından emin olalım.

$ instdir/program/soffice --writer 


Yama yollarken gerrit aracı da kullanılıyor. İlk kez yama yollayacaksanız şuraya kendinizi eklemeniz gerekiyor. Bu işlem için libreoffice@lists.freedesktop.org adresine, mail başlığı: <your name> license statement , mail içeriği ise 
"All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license." olan bir mail gönderiyoruz.

Gerrit kullanabilmek için ilk adımda şu komutu çalıştırıyoruz.

$ ./logerrit setup

Çalıştırdıktan sonra "/home/[username]/.ssh/id_rsa.pub" içeriğinin tamamını Gerrit üyeliğimizde settings sekmesinden Ssh Public Keys kısmına ekliyoruz.( Gerrit üyelik işlemini openid ile yapmak mümkün, ben bunun için ubuntu one hesabımı kullandım.)

Test işlemi sorunsuz tamamlanırsa artık Gerrit aracını kullanabiliyoruz.

$ ./logerrit test

Şimdi yeni bir dal oluşturalım.

$ git checkout -b <yeni dal adı> 

Şuradan bug'ları inceleyip istediğimizi kendimize assign edelim. Ardından kaynak koddan çözüm için gerekli değişiklikleri yapalım. Değişikliği bitirdiğimizde;

$ git add <dosyaismi>

$ git commit -m "commitin içeriğini anlatan mesajımız"

Bu commiti Gerrit'e de yollayalım.

$ ./logerrit submit master

Belki ilgilenen olursa diye şurada kabul edilen yamam da bulunmakta. Ayrıca yolladığınız commitleri gerrit sayfasından görmekte mümkün. Daha ayrıntılı bilgiye şuradan ulaşabilirsiniz.