[Gelistirici] 2007, 2008, depolar, geliştiriciler....

Ekin Meroğlu ekin at pardus.org.tr
20 Mar 2008 Per 11:27:37 EET


Merhaba;

Doruk merge konusunda konuşurken 2007 için konuşuyorum, 2008 için değil 
demişti, daha sonra başka geliştiriciler de merge ve depo süreçleri ile 
ilgili farklı şeyler söylediler. Ben de durumdan vazife çıkarıp paket 
depolarını ve şu anda fiilen uyguladığımız geliştirme sürecimizi bir 
özetleyeyim dedim...

Devel deposu [1]
------------------
Pardus'un ana geliştirme deposu olarak görevine devam ediyor. Her türlü 
geliştirmeyi bu depo üzerinde yapıyoruz..

2007 deposu [2]
-----------------
Pardus 2007 çıktığından beri işlettiğimiz süreç devam ediyor :  
- devel kaynak deposunda ana geliştirme yapılıyor, 
- 2007 kaynak deposuna girmesini istediğimiz değişiklikler için listeye [3] 
mesaj atıyoruz, 
- kararlı depo ekibi güncellemeyi (bir sorun yoksa) 2007 deposuna merge 
ediyor, 
- Buildfarm paketleri derliyor, derleme ve kurulmada bir sorun çıkmazsa paket 
pardus-2007-test [4] ikili deposuna giriyor,
- Test deposunda biriken paketler için geliştirici listesinde belli 
aralıklarla  ACK/NACK süreci işletiliyor, ACK/NACK ve testler sonrasında 
sorunsuz paketler pardus-2007 [5] ikili deposuna alınarak kullanıcılara 
güncelleme olarak dağıtılıyor.

Burada önemli bir kaç nokta var : 
- Kritik güvenlik güncellemeleri ACK/NACK serisinden ayrı olarak sadece 
geliştirici tarafından test edilerek hızla kararlı depoya alınabiliyor : Bu 
konu güvenlik ekibinin insiyatifinde.
- Güvenlik güncellemeleri süreci biraz farklı : önce ilgili listeye[6] mail 
atıp güvenlik ekibi ile bağlantı kurmak gerekiyor.
- Devel kaynak deposundaki paket ile 2007 deposundaki paket doğrudan merge 
edilemeyecek kadar farklı olabiliyor. Bu durumda geliştiriciler merge için 
daha fazla bilgi iletmek durumunda kalıyorlar - Örn. Faik 2007 deposundaki 
paketi için patch yolluyor, Onur playground'daki paketin merge'ini istiyor, 
Doruk mailine "şu bağımlılığa dikkat!" notu düşüyor. Karmaşık paketler için 
benim düşüncem patch'in daha sorunsuz olduğu, ama her yöntem işliyor.   

- Merge süreci için yeterince işletemediğimiz adım ise merge nedenlerinin 
açıklanması - herhangi bir güncellemenin merge edilmesinin kararlı sürüme 
neler katacağını detaylı yazmaya daha çok dikkat etmek, stable listesinin 
projenin geçmişi (hatta arşivi) görevi görmesini sağlayacak sanki.     

- Şu anda 2007 kararlı depo ekibi Çağlar, Ekin, Furkan ve Gökçen.
- ACK/NACK toplama ve sonucunda depo bütünlüğü testini Serbülent yapıyor. 
- Güvenlik ekibi ise Gökçen ve Bahadır.

2008 deposu [7]
----------------
Bir ay önce devel deposundan system.base ve system.devel bileşenlerini alarak 
açtığımız ve sorunları çözüldüğünde kararlı Pardus 2008 sürümünü oluşturacak 
olan depomuz 2008 kaynak deposu.

- Şu anda 2008 üzerinde herhangi bir commit kısıtlaması yok. Geliştiriciler 
devel deposundaki paketlerini 2008 deposuna geçirebiliyorlar. 
Burada izlediğimiz yöntem kısaca şu : Paketleri (veya paket serilerini) devel 
deposundayken 2008 üzerinde derlenir ve kurulabilir hale getiriyoruz, daha 
sonra bu sorunları çözülmüş paketleri 2008 deposuna geçiriyoruz. 

- Daha önce 2008 deposuna alınmış paketler üzerindeki güncellemeler ise yine 
önce devel deposunda yapılıyor, sonra 2008'e merge ediliyor. Geliştiriciler 
güncellemeleri kendileri merge ediyorlar, üzerinde tartışılması gerektiğini 
düşündükleri konularda geliştirici listesini bilgilendirmek gerekiyor. Sadece 
develdeki geliştirmeyi merge etmekte tembellik edenlerin mergelerini ben 
yapıyorum...
Örneğin Fatih x.org ailesi üzerinde çalışıyordu, çalışması bitip de paketler 
2008 üzerinde çalışır hale geldiğinde paketleri 2008 deposuna ekledi, bundan 
sonra paketler üzerindeki geliştirmeleri yaptıkça 2008 deposuna da merge 
edecek, o merge ettikçe de paketler derlenecek.. Şu anda Gökçen de kdebase ve 
bağımlılıkları için benzer bir yol izliyor, diğer geliştiriciler kendi 
paketleri veya ilgi duydukları, kullandıkları paketleri 2008 üzerinde 
sorunsuz çalışır hale getirmeye çalışıyorlar, sorunları çözülen paketler 2008 
deposuna ekleniyor. Burada tercih edilen yöntem tabii ki her geliştiricinin 
öncelikle kendi paketlerini 2008 deposuna uygun hale getirip depoya alması, 
ama bağımlılıklar nedeniyle her zaman mümkün olmuyor bu.. Yine bağımlıklar 
nedeniyle her paket anında 2008 deposuna alınamıyor, paketler (dolayısıyla 
geliştiriciler) birbirlerini bekliyorlar.

- Şu anda 2008 deposuna giren paketler ofis içi bir farmda derlenip deneniyor, 
birkaç gün içinde herkesin ulaşabileceği bir ikili depo ile 2008 paketlerini 
sağlamaya başlayacağız.
   
- 2008 deposu kararlı ve sorunsuz hale gelip ürün çıkartmaya (Pardus 2008 
sürümü) başladığında 2007 deposunda uyguladığımız kararlı depo politikasını 
bu depoda da uygulamaya başlamayı planlıyoruz.

- Şu anda üzerinde geliştirme yapmak, paket derlemek, denemek için Pardus 2008 
rootFS'lerini [8] kullanıyoruz, yeni YALI'mız 2008 üzerinde çalışır duruma 
geldiğinde (ufak tefek işleri kaldı) rootfs yerine geliştirici cd'leri 
hazırlamaya başlayacağız.

Şu anki çalışma yöntemimiz, işletmeye çalıştığımız süreçler özetle böyle.. 
Aklına birşey takılanları, öneri, eleştiri, fikrim geldi'leri listeye 
alalım... 

[1]
https://svn.pardus.org.tr/pardus/devel/
[2]
https://svn.pardus.org.tr/pardus/2007/
[3]
stable at pardus.org.tr
[4]
http://paketler.pardus.org.tr/pardus-2007-test/
[5]
http://paketler.pardus.org.tr/pardus-2007/
[6]
security at pardus.org.tr
[7]
https://svn.pardus.org.tr/pardus/2008/
[8]
http://cekirdek.pardus.org.tr/~ekin/2008/rootfs/

--
İyi Çalışmalar;
Ekin Meroglu <ekin_at_pardus.org.tr>

... did i listen to pop music because i was miserable, or was i miserable
because i listened to pop music?... - rob [nick hornby / hi fi]



Gelistirici mesaj listesiyle ilgili daha fazla bilgi