Kaynak Koddan Firefox Kurulumu ve Firefox İçin Yama Göndermek

Özgür yazılım dünyasının 3 büyük projesinden(Linux Kernel, LibreOffice, Firefox) birisi de Firefox. Herkesin de bildiği ve kullandığı gibi Mozilla Vakfı tarafından geliştirilen özgür bir ağ tarayıcısı.
Geçtiğimiz cuma, biraz da Firefox ile ilgileneyim diyip kolları sıvadım :) Bu birkaç günde neler öğrendiğimi sizlerle paylaşmak istedim.

Büyük bir projeye katkı vermeden önce kaynak kodundan 1 defa derleyip o halini kullanmak, o projeye katkı vermeden önce yapılması mantıklı bir iş. Deponun geliştirilmekte olan halini kullanmak eklenen-çıkarılan kısımları görüp hatalı yerleri raporlama ya da bu kısımlarla ilgili ters giden yerleri düzeltebilme imkanı sağlıyor.

DERLEMEYE HAZIRLIK:

Derlemeden önce bağımlılıklar için geliştiricilerin yazdığı python dosyasını buradan çekip çalıştırmamız gerekiyor.
$ wget -q <link> && python bootstrap.py
ya da
$ curl -O <link> && python bootstrap.py

KAYNAK KODU YEREL DEPOYA ÇEKERKEN:

Firefox, mercurial sürüm takip sistemini kullanıyor. Git ile entegre çalışıyor. Ben öğreneyim diye mercurial ile depoyu çektim. Mercurial kullanımıyla ilgili buraya bakabilirsiniz.

$ hg clone https://hg.mozilla.org/mozilla-central


YAPILANDIRMA:

 Dilerseniz derleme sırasında bazı özellikleri etkinleştirmek/devre dışı bırakmak için "mozconfig" dosyası oluşturup içini istediğiniz şekilde yapılandırabilirsiniz:
ac_add_options --enable-debug
ac_add_options --disable-optimize
DERLEME: 
$ ./mach mercurial-setup
$ ./mach build 
ÇALIŞTIRMA:
$ ./mach run






YAMA YOLLARKEN: 
İlk aşamada yama yollarken mercurial ile bir yama dosyası oluşturup, hangi hata kaydı için düzeltme yaptıysanız *.patch dosyasını ekleyebilirsiniz.

Yama dosyası hazırlarken de kullanacağımız komut "$ hg qnew *.patch " ve değişiklikleri yama dosyasına eklemek için de "hg export . > *.patch" komutları. 


Yardımcı linkler:

- Derleme ile ilgili ayrıntılı bilgi için tıklayın.

- Kaynak kodda arama yapmak için tıklayın.

- Mozilla hata kaydı sayfası için tıklayın.


Güzel haberler vermek dileğiyle hoş kalın :)

17 Mart 2016

Posted In: compile, firefox, gnu/linux, mozillian, source code

LibreOffice Viewer’ın Android Cihazlara Kaynak Koddan Kurulumu

LibreOffice, Android platformu için de uygulama geliştiriyor. Gapps'den kurulup kullanılabilir elbette. Ben kaynak kodundan kurup adımlarını görmek istedim. Atla deve değilmiş. :)

 

Masaüstü kurulumu için uygulanan adımlara benzer adımlar uygulanıyor. Masaüstü için bu kurulum nasıl oluyor diye daha önce yazmıştım. Bazı kısımları farklı.

 

* Öncelikle Android SDK ve NDK paketlerine ihtiyacımız var. 

 

* Daha sonra LibreOffice kaynak kodunu yerelimize çekmeliyiz ve dizinin içine geçmeliyiz:

 

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

$ cd libreoffice 

 

* İnen SDK paketini "android-sdk-linux" adıyla kaynak kodunu clone'ladığımız libreoffice dizini içindeki "external" dizini altına çıkartmalıyız ve "SDK Readme.txt" dosyasında dediği gibi aşağıdaki komutla güncelleme ve çalıştırma işini yapmalıyız:

 

$ tools/android update sdk --no-ui

 

* İndirdiğimiz android-ndk.bin dosyasına çalışma izni verip ardından çalıştırmalıyız. 

 

$ chmod a+x android-ndk.bin

$ ./android-ndk.bin

 

Bu çalışma bitiğinde "android-ndk" adında bir dizin oluşmuş olmalı. Bu dizini de yine libreoffice/external/ altına taşımalıyız.

 

* Daha sonra "autogen.input" diye bir dosya oluşturup (libreoffice dizininde) içine aşağıdaki satırı eklemeliyiz. Nedeni ise autogen.sh betiğinin bazı yapılandırma paramerelerini kontrol etmesi. Bunun için 3 tip dosya kullanıyor. Bunlar: autogen.input(ro), autogen.lastrun(rw) ve autogen.lastrun.bak(rw). Derleme sırasında izlenecek varsayılan yolu bu parametre ile değiştirmiş oluyoruz.




--with-distro=LibreOfficeAndroid

 

* Ardından "autogen.sh" dosyasını çalıştırmalıyız. ($ ./autogen.sh) Bitiminde eksik sdk paketleri varsa uyarı alacağız, çıkan uyarıda denildiği gibi bu paketleri de kurmalıyız. autogen.sh çıktısı sorunsuz ise derleme işlemini başlatabiliriz. ($ make)

 

Bu işlem bir miktar sürüyor. Derleme başarıyla tamamlandığında ise "android/source" dizinine geçeceğiz.

 

Bilgisayara android cihazımızı bağladıktan sonra android/source dizininde:

 

$ make install demeliyiz. Bu komut sonunda "LibreOffice Viewer" cihazımızda çalışıyor olmalı :)

 

Not: Android cihazda (Developer options -> Android debugging ayarı açık olmalı) (Bu ayar kapalıyken "adb devices" çıktısında cihazımızı göremeyiz.) 

 

Görüşmek üzere.


21 Aralık 2015

Posted In: android, compile, Gezegen, libreoffice, ndk, sdk, viewer

Libreoffice Derlemek ve Gerrit İle Yama Göndermek

Libreoffice'in ne olduğunu bilmeyen de yoktur ama yine de kısaca bahsetmiş olayım. Libreoffice bir masaüstü ofis paketidir. Uzun da bir geçmişe sahip. Staroffice adı altında başlayıp, daha sonra Openoffice olarak geliştirilmiş ve en son Libreoffice adıyla hala geliştirilmeye devam ediyor. Bunun güzel bir yanı da uğraştığımız birşey hakkında rahatça belge bulabilmek oluyor.

Gelelim derleme işlemine. Bekleme kısmını saymazsak çok da zor bir yanı yok. Büyük bir proje olduğu için birazcık sabırla beklemek gerekiyor. Ben Ubuntu 15.04 kullandığımdan izlediğim adımları yazacağım. Tüm Linux türevleri için de sayfa oldukça güzel anlatmış.

Bağımlı paketleri kuralım:

$ sudo apt-get build-dep libreoffice

Depoyu yerelimize alalım ve proje dizinine geçelim:

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

Make işleminden önce betik dosyasının hatasız çalıştığını görmeliyiz:

$ ./autogen.sh

Daha sonra uzunca bekleyeceğimiz make komutunu çalıştıralım:

$ make -j[çekirdek sayisi]

Derlemeden sonra writer'ı çalıştırıp Libreoffice5'in çalıştığından emin olalım:

$ instdir/program/soffice --writer

Bir de derleme yaparken karşılaştığım bir hata:
(libkrb5-dev paketini kurduğumda düzelmişti)

configure: error: could not find function 'krb5_sendauth' required for Kerberos 5

Yazarın notu :D
Geliştirme yapmak işteyenler için KDevelop aracı öneriliyor. Bunun için modüllerin kdevelop ile açılabilir olması gerekiyor.
"make kdevelop-ide-integration" komutu ile modüller Kdevelop ile açılabilir hale geliyor.

Yama Yollarken:

Gerrit kod işbirliği aracı olarak kullanılıyor. İlk kez yama yollayanlar için önce buraya kendinizi eklemeniz gerekiyor. Eklerken Lisans kısmı için libreoffice@lists.freedesktop.org a bir mail atmanız gerekiyor.
mail başlığı:
<your name> license statement

içeriği:
"
 All of my past & future contributions to LibreOffice may be
licensed under the MPLv2/LGPLv3+ dual license.

Gerrit kullanmak için adımlar:

$ ./logerrit setup komutunu çalıştırdıktan sonra oluşan "/home/[username]/.ssh/id_rsa.pub" içerigini gerrit üyeliğimizde ayarlar sekmesinden ssh kısmına eklemeliyiz.
 
$ ./logerrit test komutu sorunsuz çalışıyorsa gerrit aracını kullanabiliriz. 

Daha sonra yeni bir dal oluşturup değişiklik yaptığımız dosyaları ekleyip commit yapacağız.

$ git checkout -b <yeni dal adı>

$ git add dosya (tüm değişiklik yapılan dosyalar için 'git add .')

$ git commit (burada commit mesajı ile bug numarasını ilişkilendirmeliyiz. bunu da commit mesajına "tdf#<bug _id>" ekleyerek yapıyoruz )

Son olarak gerrit'e bu commiti yollayacağız:

$ ./logerrit submit master

Gerrit sayfasından da commitinizi görebilirsiniz :)

Kolay gelsin.

30 Eylül 2015

Posted In: compile, derleme, gerrit, Gezegen, git, gnu/linux, libreoffice, patch

WP Twitter Auto Publish Powered By : XYZScripts.com