Pardus:Geliştirici Adaylarına Tavsiyeler
PardusWiki, özgür ansiklopedi
Bu belge Pardus geliştiricisi olmayı hedeflemiş kişiler için A. Murat Eren tarafından geliştirilmektedir. Önerilerinizi meren
pardus.org.tr adresine göndererek belgenin gelişimine katkıda bulunabilirsiniz.
Konu başlıkları |
[değiştir] Giriş
Belge, yeni Pardus geliştiricilerinin ve geliştirici adaylarının projeye tam ve verimli şekilde dahil olabilmeleri için ilk etapta neleri biliyor olmaları gerektiğine dair çeşitli öneriler sunmayı ve geliştirici adaylarının başvuruları değerlendirilirken neleri bildiklerinin varsayılacağına dair ipuçları sağlamayı hedeflemektedir.
Belge içerisinde bahsedilen ve önerilenlerin bir kısmını bilmemek Pardus geliştiricisi olmaya kesin bir engel olmadığı gibi, belgenin herhangi bir sürümündeki her şeyi bilmek de her koşulda yeterli olmayabilir. Belge sadece geliştirici adaylarının kendi bilgilerini test etmeleri ve 'bir Pardus Geliştiricisi' hakkında fikir sahibi olmalarını kolaylaştırmayı hedeflemektedir.
Belgenin faydalı olabilmesi için okuyucu bu belgeyi Pardus geliştiricileri tarafından Pardus geliştiricisi adayları için hazırlanmış bir öneri listesi olarak değerlendirmeli, kendi bilgisini gözden geçirmelidir. Bu belge teknik bir bilgi sağlamayı ve geliştirici adaylarını teknik konularda eğitmeyi hedeflememektedir.
Bundan böyle belge içerisinde 'Pardus geliştiricisi' kelimesi PG kısaltması ile anılacaktır.
[değiştir] Pardus Projesinin Ardındaki Felsefi Gerekçeler
Her geliştirici destek olduğu projenin temelinde yatan düşünceleri kavramalı ve özümsemelidir. Bu başlık altında ele alınan konulardaki bilgileriniz yüksek olasılıkla alenen sınanmayacak dahi olsa, tüm Pardus geliştiricileri doğal olarak PG sıfatını almış birisinin gerektiğinde Pardus'u doğru şekilde savunabileceğini varsayar. Pardus hakkında giriş niteliğindeki "doğrular" şunlardır:
- Proje GPL lisanslı bir özgür yazılım projesidir ve özgün katkı ortaya koymaktadır.
- Proje özgür yazılım felsefesine uygun olarak kamuya açık olarak yürütülmekte ve katkıcıların yardımlarından da yararlanmaktadır.
- Proje diğer Linux dağıtımlarının mimarilerini ve bileşenlerini devralıp, açık kaynak kodlu (dağıtım bağımsız) projeleri doğrudan kullanabilmektedir.
- Özgür yazılımlar için yapılan yerelleştirme (Türkçeleştirme) çalışmalarının ürünleri doğrudan kullanabilmektedir.
Ayrıca projenin tek cümlelik tanımı şöyledir, her kelimenin önemli olduğu bu tanım cümlesinin tam olarak anlaşılması gerekir:
- Pardus, UEKAE tarafından, bilişim okur-yazarlığına sahip bilgisayar kullanıcılarının temel masaüstü ihtiyaçlarını hedefleyerek; mevcut Linux dağıtımlarının üstün taraflarını kavram, mimari ya da kod olarak kullanan; otonom sisteme evrilebilecek bir yapılandırma çerçevesi ve araçları ile kurulum, yapılandırma ve kullanım kolaylığı sağlamak üzere geliştirilen bir GNU/Linux dağıtımıdır."
PG adaylarından Pardus projesi ile ilgili ayrıntıları [1], [2] ve [3] adreslerinden faydalanılarak anlamış ve özümsemiş olmaları beklenir. Bununla beraber bahsedilen kavramların doğru şekilde anlaşılabilmesi için özgür yazılım felsefesi, GPL lisansı ve GPL lisansının diğer açık lisanslardan farkları gibi konularda bilgi sahibi olmaları gerektiğinden bahsedilebilir.
Aşağıdaki sorulara doyurucu yanıtlar verdiğinize inanıyorsanız, her şey yolunda demektir:
- Birçok Linux dağıtımı varken neden yeni bir projeye başlanıldı, bundan nasıl bir fayda umuldu?
- Başka bir dağıtım projesini desteklemek daha efektif olmaz mıydı?
- Pardus gerçekten özgün bir katkı ortaya koydu mu?
- İlerde UEKAE Pardus'un tamamının kaynak kodunu kapatırsa ne olur?
- Bu çabayı yeni bir işletim sistemi çekirdeği yazmak için harcamak, geleceğe yapılmış daha büyük bir yatırım olmaz mıydı?
- Pardus projesi ne zaman sona erecek, sona erdiğinde ne olacak?
[değiştir] Pardus Geliştirme Mecraları ve Destek Noktaları
Bu kısımda bir PG'nin aktif projelerle ve Pardus'un aktif geliştirme ve iletişim altyapısını oluşturan araçlarla ilgili bilmesi beklenebilecek minimumların neler olduğu listelenecek, ayrıntılı bilgi sahibi olunabilmesi için faydalı olabilecek kaynaklar adreslenmeye çalışılacaktır. Ayrıca her PG adayının [1] adresindeki belgeyi baştan sona en az bir kez okuduğu ve anladığı kabul edilir:
[değiştir] Araçlar
Bu kısımda Pardus'a katkı vermek isteyen herkesin haberdar olması ve kullanımına dair bilgi sahibi olması gereken araçlara yer verilmiştir.
[değiştir] Hata Takip Sistemi
Pardus hata takibi için Bugzilla kullanmaktadır. Hata takip sistemi, Pardus'un tamamının ya da bir projesinin belirli bir hedefe varmadan önce nelere dikkat edilmesi gerektiğine dair güncel bilgilerin paylaşıldığı ve geliştiriciler tarafından değerlendirildiği çalışma ortamıdır, bu yüzden doğru kullanımı çok önemlidir. Her PG adayının bir bugzilla hesabı olması şarttır, aksi taktirde geliştirici başvurusu gerçekleştirilemez.
Bugzilla kullanımı ile ilgili bir belge [1] adresinde mevcuttur, belge içerisinde bugzillanın ne olduğundan ve ne olmadığından bahsedilmektedir, ayrıca kullanımı ile ilgili bilgiler verilmektedir. Bugzilla'nın doğru kullanımı kritiktir, çünkü tersi yapılması gerekenlerin gözden kaçmasına ve işlerin aksamasına neden olabilir. Geliştiricilerin Bugzilla'da aktif olmaları ve hataların aydınlatılıp çözüme ulaşmasında aktif olmaları ümit edilir.
Aşağıdaki sorulara doyurucu yanıtlar verdiğinize inanıyorsanız, her şey yolunda demektir:
- Bir hatanın bağlı olduğu hata ile blokladığı hata arasındaki fark nedir?
- Eğer size atanmış bir hatayı çözebileceğinize inanmıyorsanız ne yapmanız gerekir?
[değiştir] Sürüm Takip Sistemi
Pardus sürüm takip sistemi olarak açık kaynak kodlu bir sürüm takip sistemi olan Subversion'ı kullanmaktadır. Bir yazılım projesi üzerinde birden fazla uygulama geliştiricisinin birbirlerinin yaptıkları değişiklikleri bozma kaygısı olmadan bir arada çalışabilmelerini sağlayan bir geliştirme altyapısıdır. Subversion kullanımını her PG adayının biliyor olması beklenir.
Subversion kullanımına dair kısa bir belge [1], biraz daha ayrıntılı bir belge ise [2] adresinden görüntülenebilir. Çok daha ayrıntılı ve her tür soruya yanıt verebilecek bir belge de [3] adresinde yer almaktadır. Bunlar dışında Pardus projesinin Subversion kullanım kuralları [4] adresinden okunmalıdır. [4] adresindeki belgenin [5] adresinde işaret edilen kısmı subversion ile rutin çalışma döngüsüne ilişkin ipuçları vermektedir ve alışma dönemini kolayca aşmaya yardımcı olacak bilgiler içermektedir.
Aşağıdaki sorulara doyurucu yanıtlar verdiğinize inanıyorsanız, her şey yolunda demektir:
- Bir dosya içerisindeki belirli satırların kaçıncı sürümde ya da kim tarafından eklendiği nasıl öğrenilebilir?
- Merge işlemi nedir, ne zaman ve neden yapılır?
- Eğer güncelleme sırasında yerel kopyam ile güncellenen dosyalar çakıştı ise ne yapılması gerekir?
[değiştir] E-Posta Listeleri
Her PG adayının düzenli olarak e-postalarını takip etme alışkanlığına sahip olduğu, e-posta ile iletişim etiğinden haberdar olduğu varsayılır. Pardus, proje ile ilgili iletişiminin neredeyse tamamını e-posta ve e-posta listeleri üzerinden gerçekleştirir. E-posta listelerinin bir listesine [1] adresinden ulaşmak mümkündür. Ayrıca [2] adresinde de e-posta listelerinde arama yapılmasına olanak sağlayan bir arayüz mevcuttur.
Aşağıda bazı önemli e-posta listeleri ve bu listelerin amaçları ile ilgili bilgiler yer almaktadır. Bir PG'nin bu e-posta listelerini düzenli şekilde takip ettiği varsayılır.
[değiştir] Geliştirici Listesi
Bu liste Pardus geliştiricilerinin tartışma listesidir ve kullanıcılara açık değildir. Projelere bağlı olarak farklı çevrelerden davet usülü üyelik kabul edilir. Arşiv herkese açıktır. Pardus dahilindeki projelerin tamamı ile ilgili tartışmaların bu listede devam etmesi beklenir. Hem arşivlenmesi açısından hem de herkesin fikir belirtebilmesi için geliştirme ile iligli diyalogların bu listede gerçekleştirilmesi çok önemlidir. Listenin arşivleri [1] adresinden ulaşılabilir durumdadır.
[değiştir] *-commits Listeleri
Bu listeler sürüm takip sistemi tarafından yapılan her türlü değişikliğin bildirildiği e-posta listeleridir. Her geliştiricinin bu listelere üye olması beklenir. Bu listelerden gelen e-postalara diğer geliştiriciler tarafından da göz gezdirilir ve depolarda yapılan değişikliklerin tutarlılığı ve kalitesi kontrol edilir. Şu anda kullanılan commit listeleri şunlardır:
- Uludag-commits: Uludağ geliştirme deposunda yapılan değişikliklerin otomatik olarak iletildiği e-posta listesidir. Tüm özgün Pardus yazılımları ile ilgili değişiklikler bu listeye gönderilir. Arşivleri bu adresten ziyaret edilebilir: http://liste.pardus.org.tr/uludag-commits/
- Paketler-commits: Paket depolarında yapılan değişikliklerin e-posta ile gönderildiği listedir. Paket depoları hakkında daha fazla bilgi daha sonra verilecektir. Arşivleri bu adresten ziyaret edilebilir: http://liste.pardus.org.tr/paketler-commits/
- Projeler-commits: Harici Projeler geliştirme deposunda yapılan değişikliklerin otomatik olarak iletildiği teknik bir listedir. Bu projeler Pardus ile doğrudan ilgisi olmayan, fakat Pardus'un destek verdiği açık kaynak kodlu yazılım projeleridir. Arşivleri bu adresten ziyaret edilebilir: http://liste.pardus.org.tr/projeler-commits/
[değiştir] Hata Takip Listesi
Pardus'un hata takip sistemi olan Bugzilla'daki her türlü etkinliğin e-posta ile gönderildiği bir e-posta listesidir. Pardus hatalarını takip etmek ve fikir beyanında bulunmak geliştiricinin hissetmesi beklenen sorumluluklardan birisidir. Dolayısıyla her geliştiricinin bu e-posta listesine üye olduğu kabul edilir. Trafiği yüksek olan bir e-posta listesidir, üyelik sayfasına [1] adresinden ulaşılabilir.
[değiştir] Özgün Yazılım Projeleri
Bu kısımda Pardus bünyesinde geliştirilen özgün açık kaynak kodlu projelerden bahsedilecek, projeler ile ilgili yazılmış belgelere bağlantılar verilecek ve herhangi bir projenin geliştiricisi olmak için neler bilinmesinin yardımcı olabileceğine dair bilgi ve tavsiyeler sunulmaya çalışılacaktır.
[değiştir] PiSi
PiSi (Packages installed Successfully as intended), Pardus'un özgün paket yönetim sistemidir. Python programlama dili ile geliştirilmektedir ve kaynak kodlarına [1] adresinden ulaşılabilir. PiSi'nin mimari belgesi [2] adresindedir ve [3] adresinde Bilgi Üniversitesi Açık Günler etkinliğinde gerçekleştirilen bir PiSi oturumunun sunum dosyasına ulaşılabilir. PiSi'nin paket oluşturma sürecinde kullanılan ve Actions API ismi ile anılan API'nin işlevi ve sunduğu fonksiyonları anlatan belge ise [4] adresindedir.
PiSi'yi anlamanın yolu biraz da PiSi paketlerini anlamaktan geçer, hem paket kavramını anlamak hem de PiSi tarafında algılanışları ile ilgili daha doğru bir fikir sahibi olabilmek için [5] ve [6] adresindeki belgelere göz atmak iyi bir fikir olabilir. Öte yandan PiSi'nin şu anki veritabanı yapısı ile ilgili umbrello formatındaki belge [7] adresinden temin edilebilir.
Bir PiSi geliştiricisinin (Subversion kullanımı bilgisi, bugzilla kullanımı bilgisi, düzenli e-posta kontrolü gibi temel PG yükümlülüklerine ek olarak) aşağıdaki bilgilere sahip olduğu varsayılır, ya da bu bilgilere sahip olması tavsiye edilir, ya da iyi bir PiSi geliştiricisi olmak için bunları bilmek gerekir:
- Python programlama dili bilgisi ve iyi bir kod okuma becerisi
- Nesneye yönelik programlama bilgisi ve deneyimi, açık kaynak kodlu programlama kültürü
- Python'da metaclass programlama bilgisi
- XML, Berkeley DB, unit-testing benzeri kavram ve teknolojilere yakınlık
- PiSi internal kodu ile PiSi API'sini birbirinden ayırıp geliştirme esnasında bu yalıtımı doğru yapacak şekilde API kavramına aşinalık
- PiSi içerisinde "pisi uygulama paketi" kavramını tamamlayan bileşenler hakkında bilgi (yukarıda adreslenmiş belgelere göz atılarak, kod okuyarak ve denemeler yapılarak anlaşılabilecek bir paketin build süreci, bir paketi ifade eden meta bilgiler, meta bilgilerin saklandığı dosyalar, index dosyası, depo, component, buildnumber gibi PiSi kavramları hakkında bilgi)
- PiSi - ÇOMAR ilişkisi, bir ÇOMAR geliştiricisi kadar olmasa da ÇOMAR hakkında bilgi
- Linux işletim sisteminin dosya/dizin yapısı ve bunların (dosya/dizin izinleri, özel bitler, symlink oluşturma v.b.) Python modülleri aracılığı ile yönetilmesi hakkında bilgi
[değiştir] Çomar
ÇOMAR (COnfiguration MAnageR), sistemin düzgün çalışması için gerekli olan donanım, açılış, ağ, kullanıcı, zaman, görüntü gibi ayarların mümkün olduğu kadar otomatik bir biçimde yapılmasını sağlayan, kullanıcılara bir yetki kontrolü dahilinde bu ayarları basit ve anlaşılır bir biçimde değiştirme olanağı sağlayan bir yazılımdır. C programlama dili ile geliştirilmektedir, kaynak kodlarına [1] adresinden ulaşılabilir. ÇOMAR mimarisi ile ilgili bilgi [2] adresinde bulunabilir.
Ayrıca, ÇOMAR/Müdür ikilisi ile Pardus'a özgü bir sistem açılışı ve servis yönetim sistemi oluşturulmuştur. Ayrıntılı bilgi [3] adresinden edilinebilir.
[değiştir] YALI
YALI (Yet Another Linux Installer) Pardus'un kurulum yazılımıdır. Pardus üzerindeki pek çok proje gibi Python programlama diliyle geliştirilmektedir. YALI grafik arayüzü için Qt kütüphanesini kullanır. Bu yüzden PyQt kütüphanesi ile deneyim sahibi olmak, kaynak kodun bu bölümünü anlamak için faydalı olacaktır. YALI kaynak kodu içerisinde kullanılan önemli bir başka kütüphane de Parted kütüphanesidir. Parted, Python kütüphanesi pyparted aracılığı ile kullanılmaktadır.
YALI üzerinde çalışmaya başlamak için birkaç bağlantı aşağıda bulunmaktadır. YALI'nın kaynak kodlarına [1] adresinden ulaşabilir, [2] adresinden çözüm bekleyen YALI hatalarına göz atabilirsiniz.
YALI ile çalışırken şu prensipleri benimsemelisiniz:
- YALI üzerindeki çözümlerde ilk ölçüt basitliktir.
- Üretilen çözümler arayüzde anlaşılması veya alışılması güç seçenekler olarak kullanıcının karşısına sunulmamalıdır.
- Benzer bir şekilde kaynak kodun da yeni geliştiricileri ürkütmeyecek bir şekilde basit ve kolay anlaşılır olması beklenir.
[değiştir] Diğer Çeşitli Pardus Projeleri
Bu kısımda irili ufaklı diğer yazılım projeleri ile ilgili bilgiler verilecektir. Geliştirici adaylarının en azından bu yazılım projelerinin varlıklarından haberdar olmaları ve ne amaçla geliştirilmekte olduklarını bilmeleri beklenir.
[değiştir] Ağ Yöneticisi
Pardus'un çeşitli ağ ortamlarına kolayca bağlantı kurması amacıyla geliştirilen kolay kullanımlı, profil desteğine sahip bir uygulamadır. Proje sayfasına [1] kaynak koduna [2] adresinden ulaşılabilir.
[değiştir] Buildfarm
PiSi kaynak paket depolarına yapılan gönderimleri takip eden ve kaynakları derleyerek PiSi ikili depolarını güncellemekle yükümlü yazılımdır. Kaynak koduna [1] adresinden erişilebilir.
[değiştir] Kaptan Masaüstü
Pardus masaüstü ilk açıldığında kullanıcıyı karşılayan bir yardımcı programdır. Proje sayfasına [1] kaynak koduna [2] adresinden ulaşılabilir.
[değiştir] Paket Yöneticisi
PiSi için basit kullanımlı bir grafik arayüz istemcisidir. Proje sayfasına [1] kaynak koduna [2] adresinden ulaşılabilir.
[değiştir] Pardus Güvenlik Duvarı
Kolayca port ya da makine bazında bağlantı regülasyonu gerçekleştirilebilmesine olanak sağlayan bir arayüzdür. Proje sayfasına [1] kaynak koduna [2] adresinden ulaşılabilir.
[değiştir] Pardusman
Pardus'un özelleştirilmiş Çalışan ve Kurulan sürümlerinin hazırlanmasını imkânlı hale getirmeyi hedeflemiş bir uygulamadır. Kaynak koduna [1] adresinden erişilebilir.
[değiştir] Yapılandırma Yöneticisi
Çeşitli modülleri ile ÇOMAR altyapısını kullanmaya başlamış olan grafik arayüzlü bir yapılandırma arayüzüdür. Proje sayfasına [1] kaynak koduna [2] adresinden ulaşılabilir.
[değiştir] Zemberek Pardus
Başarılı bir Türkçe doğal dil işleme yazılımını olan Zemberek'i Pardus ve üzerindeki yazılımlar ile masaüstünün her noktasında entegre etmeyi amaçlamış bir projedir. Proje sayfasına [1] adresinden ulaşılabilir. Zemberek servisinin KDE uygulamaları tarafından kullanılabilmesi için yazılmış olan bir proxy yazılım olan zpspell'in kaynak koduna [2] adresinden ulaşılabilir. [3] adresinde ise projenin e-posta listesi çalışmaktadır.
[değiştir] Paket Depoları ve Pardus Uygulama Paketleri
[değiştir] Paket Yapımı
PiSi ile uygulamaları Pardus için paketlemek ve bir uygulamanın kaynak kodundan tüm Pardus istemcilerde çalışacak bir ikili PiSi paketi ortaya çıkarmak, diğer paket yöneticilerine göre çok daha kolaydır. Fakat paket yapımının çok kolay olması herkesin paket yapabileceği anlamına gelmez.
Paket yapımı son derece önemli bir süreçtir ve Pardus'un belkemiğini oluşturur. Bu süreçte yapılacak bir dikkatsizlik çok fazla insanı etkileyebilecek bir probleme neden olabileceği için paket geliştiriciliği çok dikkat gerektirir.
[1] adresindeki e-posta listesi, dağıtım içerisinde yer alacak paketleri belirlemek, Pardus'un hedefleri ile uyum içerisinde bu paketleri hazırlamak ve gereken seviyeye çekmek için yapılması gerekenlerin sorulması ve bu konulardaki tartışmalar için oluşturulmuş bir e-posta listesidir. Her paket geliştiricisinin üye olduğu kabul edilir. Ayrıca paket depolarında yapılan her türlü değişiklik [2] adresinden üye olunabilecek listeye sürüm takip sistemi tarafından otomatik olarak bildirilir, her paket geliştiricisinin üye olduğu kabul edilir. Paket geliştiricisi olmak isteyenlerin PiSi paketlerinin yapısına ilişkin kafalarındaki soru işaretlerini ortadan kaldırabilecek iki belge [3] ve [4] adresindedir. Her paket geliştiricisinin [5] adresindeki Actions API belgesini okuduğu varsayılır. [6] adresindeki devel deposundan örnek paketler incelenebilir ve denemeler yapılabilir, [7] adresindeki bağlantı aracılığı ile paket geliştiricileri için kurallara ulaşılabilir.
Ayrıca [8] adresinde kullanıcıların hazırladıkları ve güncelledikleri bir Paket İstekleri listesi bulunmaktadır. [9] adresinde ise paket depoları hakkında bilgi alınmasını kolaylaştıran bir arayüz mevcuttur.
- http://liste.pardus.org.tr/mailman/listinfo/paketler
- http://liste.pardus.org.tr/mailman/listinfo/paketler-commits
- PiSi Hello World
- PiSi Paketi Nasıl
- ActionsAPI
- http://svn.pardus.org.tr/pardus/devel
- http://www.pardus.org.tr/projeler/paketler/depo/node-6.html#htoc11
- Paket istekleri
- http://paketler.pardus.org.tr
Bir paket geliştiricisinin (temel geliştirici yükümlülüklerine ek olarak) aşağıdaki bilgilere sahip olduğu varsayılır, ya da bu bilgilere sahip olması tavsiye edilir, ya da iyi bir paket geliştiricisi olmak için bunları bilmek gerekir:
- XML sözdizimine ve Python programlama diline aşina olmak
- Bir Linux sistemde,
- Neler olup bittiğini biliyor olmak
- Bir sorunla karşılaştığında çözebilecek kadar deneyim sahibi olmak
- Dosya ve dizin hiyerarşisini, neyin ne için nerede olabileceğini biliyor olmak
- Bir uygulamayı kaynak kodundan kurabilmek için kullanılan araçları ve derleme ortamını tanıyor olmak
- Paketlenecek uygulamayı iyi bir şekilde tanımak, bu uygulamanın bağımlılık ilişkisi içerisinde olduğu uygulamalar hakkında bilgi sahibi olmak. "Tanımak", uygulamanın iyi bir kullanıcısı olmakla beraber şunları da içerir:
- Gerektiğinde uygulamanın kaynak koduna müdahale ederek uygulamayı Pardus'a özel değişiklik isteklerine göre değiştirebilecek kadar tanımak
- Öntanımlı konfigürasyon dosyalarını uygulamanın istenen şekilde davranabilmesi için yamalayacak kadar tanımak
- PiSi'nin yapısı hakkında, bir PiSi geliştiricisi seviyesinde olmasa da fikir sahibi olmak
- Actions API'yi tanımak
- Diğer paket yöneticileri ve paket formatları hakkında PiSi kadar olmasa da bilgi sahibi olmak
- diff/patch gibi konsol araçları hakkında bilgiye ve deneyime sahip olmak
- Bir ÇOMAR geliştiricisi kadar olmasa da ÇOMAR hakkında fikir sahibi olmak
- ÇOMAR'ın paket geliştiricilerine sunduğu olanaklar hakkında fikir sahibi olmak
- Pardus'un açılış servisleri hakkında bilgi sahibi olmak
- Buildfarm hakkında bir geliştiricisi kadar olmasa da fikir sahibi olmak
Bununla beraber sorumlu bir paket geliştiricisi şunları da yapar:
- Sorumlu olduğu paketlerin -ana kaynağındaki- hata takip sistemini, geliştirici ve kullanıcı e-posta listelerini takip etmeye çalışır,
- Güvenlik duyuruları ile ilgili dikkatli olur,
- Diğer dağıtımların bu pakete yaptıkları yamaların neler olduğunu bilir ve takip eder,
- Uygulamaların güncellemelerini takip ve test eder, eğer sorun yoksa Pardus depolarında sorumlu olduğu paketi de günceller,
- Pardus'un sürüm tarihlerine dikkat eder, sürümün çıkışından önce sorumlu olduğu tüm paketleri güncellediğinden ve uyum içerisinde çalıştıklarından emin olur.
[değiştir] Paket Depoları
Pardus için oluşturulan PiSi paketlerinin PiSi tarafından ikili paket oluşturulurken kullanılan tüm meta bilgileri (pspec.xml, actions.py), yamaları ve ek dosyaları (files/) ve ÇOMAR betikleri (comar/) Pardus'un paket depolarında tutulmaktadır. Kullanım amaçlarına göre bu depolar birbirinden ayrılmıştır. Bu kısımda birbirinden ayrılmış paket depolarının neler olduklarından ve amaçlarından bahsedilecektir. Bununla beraber depolar ile çalışacak her paket geliştiricisinin [1] adresindeki depo politikası belgesini okumuş ve anlamış olduğu kabul edilir.
[değiştir] Stable Deposu
Dağıtımın kararlı sürümünün sürdürüldüğü (güvenlik güncellemelerinin, hata düzeltmelerinin ve sadece gerekli yeni özelliklerin depoya dahil edilebileceği) ya da geliştirme sürecinde (alpha, beta, rc sürümlerinde) dağıtımın paketlerini oluşturan depodur. Örneğin Pardus-1.0 duyurulduktan sonra bu depo 1.0 dağıtımına destek verir konumda, yeni paket veya özellik eklenmeden, API/ABI bozmadan sadece Pardus-1.0 dağıtıma uygun güncellemelerin çıkarıldığı depodur, [1] adresinde yer almaktadır.
[değiştir] Devel Deposu
Dağıtımın bir sonraki sürümüne (örneğin Pardus-2.0) doğru giden yolda tüm geliştirme sürecinin yürütüldüğü depodur. Depoya yeni özellik/paket eklenebildiği gibi, API/ABI bozmamak kuralı bu depoya uygulanmamaktadır. Bu depo belli olgunluğa eriştiğinde stable deposuna taşınarak yeni dağıtımın ortaya çıkmasına imkan tanımaktadır, [1] adresindedir. [2] adresinden ise istatistikleri görüntülenebilir.
[değiştir] Playground Deposu
Playground deposu dağıtıma eklenilmesi düşünülen paketlerin denendiği, mevcut paketlere deneysel özelliklerin eklendiği, birkaç geliştiricinin aynı anda üzerinde çalıştığı paketlerin tutulduğu geçici bir alan olarak kullanılmaktadır. Bu depodaki paketler geliştirilme/değiştirilme sürecini tamamladıklarında devel deposuna alınarak dağıtım bir parçası olurlar. [1] adresinden içeriği, [2] adresinden istatistikleri görüntülenebilir.
[değiştir] Tags Deposu
Normal koşullarda üzerinde çalışılan aktif bir depo değildir, her Pardus sürümünde Stable deposunun o anki görüntüsü buraya tarihi nedenlerle kopyalanır, [1] adresinden görüntülenebilir.
[değiştir] Rutinler
Aşağıda, diğer bölümlere girmeyen konularla ilgili bilgi bulabilirsiniz. Pardus'a destek vermek isteyen yeni geliştiriciler, bu alanda çalışma yapan kişilere doğrudan ulaşabilir ya da e-posta listelerine kendilerini tanıtan bir e-posta gönderebilir.
[değiştir] Çeviri Çalışmaları
Pardus projesinin en önemli hedeflerinden birisi de tam Türkçe desteğidir. Türkçe desteğinin başında, hiç kuşkusuz ki, bu ürünün her noktasında Türkçe menülerin, yardımların, açıklamaların bulunması geliyor. Pardus ile beraber gelen yazılımların hemen hemen tamamı bu özelliği taşıyor olsa da, kimi zamanlarda sarfettiğimiz eforla aldığımız kazanımların orantısız olması nedeniyle bu gereksinimlerden vazgeçebiliyoruz. Örneğin, bazı oyunlar ve 3D çizim programlarının Türkçe menü (arayüz) desteği ya hiç sağlanmamakta, ya da kısmen sağlanmaktadır.
Diğer özgür yazılım projelerinde olduğu gibi, Türkçe çeviri çalışmalarında da üçüncü parti firmaların ya da başka geliştiricilerin ürettiği yazılımların çevirisi yapılıyor. Pardus, KDE, GNOME, OpenOffice.org, Firefox gibi ürünleri en önemli yapıtaşında bulundurduğundan, bu ürün/projelerden gelen uygulamaların çevirisi bizim için en öncelikli hedef sayılıyor. Özellikle Türkiye'deki yerelleştirme gruplarıyla[1] verilecek destek, Pardus'un %100 Türkçe desteği vermesini hızlandırmak anlamına gelir.
Bir çeviri çalışması sürecinde bulunmak, ya da en azından bu alanda çalışma yapanlara katkı vermek için aşağıdaki yöntemlerden birisini seçebilirsiniz:
- Pardus'un grafiksel arayüzündeki sorunları Pardus hata bildirim sistemine rapor edebilirsiniz.
- Pardus ile birlikte gelen, ancak tamamen Türkçe arayüze sahip olmayan paketleri Türkçe listesine[2] bildirebilir ve/veya aynı listeyi kullanarak paketin Türkçe arayüzünün çevirisini yapmak üzere gönüllü olabilirsiniz.
- Çeviri bekleyen dosyalardan birisini almak üzere Türkçe listesine e-posta gönderebilir ve kendinizi tanıtabilirsiniz. Bu durumda proje sorumlularından birisi sizinle bağlantıya geçecek ve yol gösterici olacaktır.
- Herhangi bir konuda kılavuz (HOWTO) yazabilir ve bunun Wiki sayfalarında görüntülenmesini sağlayabilirsiniz. Pardus wiki hakkında daha fazla bilgi için Wiki yöneticileri ile bağlantıya geçin.
Pardus'un geliştirilme safhasında, Pardus ile dağıtılan programlardaki yerel sorunları düzeltmek, programların farklı ülke ve kültürlerin iletişim kurallarına uydurmak için çeşitli çalışmalar yapıldı elde edilen bilgiler ise yerelleştirme projesi web sayfasında[3] toplandı. Bu sayfa, Pardus'un en önemli artısı olan Türkçe desteği ile ilgili yapılan çalışmaları özetliyor.
Bunun yanında, çeviri yapanlar için çeviri çalışmalarında kullanılmak üzere bir sözlük veritabanı ve sözlük
jabber.uludag.org.tr adresinden hizmet veren bir Jabber robotu[4] hazırlandı. Jabber servisine bağlantı yaparak bu sözlüğü kullanabilirsiniz.
Pardus'un özgün yazılım projelerine ait yerelleştirme dosyalarının istatistiklerine ve proje sorumlularına dair son durum [5] adresinden takip edebilirsiniz:
[değiştir] Pardus Web Sayfaları
Pardus web sayfaları Subversion deposunda tutulmaktadır. Web sayfasında yapılan değişiklik depoya commit edilmektedir ve commit edilen değişiklikler bir süre sonra sayfada görünmektedir. Bunun için depodan web sunucusundaki dizini otomatik olarak güncelleyen bir betik kullanılmakadır.
[1] adresinde görüntülenen Pardus web sayfalarının koduna [2] adresinden ulaşılabilir. Ayrıca web sayfasında şablonlama, otomatik belge oluşturma gibi pratik problemlerin çözümü için kullanılmış ve kullanılan programlara da [3] adresinden erişmek mümkündür.
[değiştir] Pardus Geliştiricilerinden Geliştirici Adaylarına Tavsiyeler
Bu kısımda Pardus Geliştiricilerinin, Pardus Geliştiricisi adaylarına resmi olmayan önerilerine yer verilmektedir.
- Bizler arada bir kde-look.org, kde-apps.org, freshmeat.net gibi sayfalardan diğer projelerin gelişim durumlarını öğreniriz. (Görkem Çetin).
- Kimi zaman IRC kanallarında (#pardus ve #pardus-devel) yardımlaşır, gelenlerin sorularına yanıt veririz (Görkem Çetin).
- Yeni bir proje üzerinde çalışmaya başlarken kaynak koda ısınmanın en hızlı yolunun açık hataları incelemek ve çözümleri için çalışmak olduğunu unutmayın (Barış Metin).

