[Gelistirici] Contrib Depo Farkları ve Deponun Durumu
Ekin Meroğlu
ekin at pardus.org.tr
22 Eyl 2008 Pzt 11:03:29 EEST
Merhaba;
Bu tartışma çıktığında yıllık iznimin bir kısmını kullanıyor olduğumdan cevap
yazamadım - adım da geçmiş üstelik :-)
Tartışmayı tekrar alevlendirmek gibi bir niyetim yok - konunun teknik olmayan
yanlarına dair cevapları acımadan pardus-polemik listesine yönlendireceğim.
Ama yanlış anlaşılmalar birbirini kovalıyor - merak edenler için depo/
paketler / farm konularında benim fikirlerim aşağıda..
Cumartesi 13 Eylül 2008 tarihinde, İnanç Yıldırgan şunları yazmıştı:
> Contrib deposunda paketçileri tarafından merge edilmeyi bekleyen 476 paket
> var. 2008 sürümü çıkalı yaklaşık 3 ay oldu. Öyle ki bugün 2008.1 sürümü
> bile taglendi. Ama contrib deposu hızla çöplük olmaya doğru ilerliyor.
> Paketçileri çeşitli sebeplerden dolayı bu paketlerle ilgilenemiyor
> olmalılar diye düşünüyorum. Şu an aklıma gelen bir çözüm önerisi yok ama
> buna bir çözüm bulmalıyız. Tüm gelişticiler ile ele ele vererek bir şeyler
> yapılabilir belki.
Bu konu hakkında gerekli yorumlar yapılmış aslında.
Özetle bir geliştirici paketi ile ilgilenmiyorsa geliştirici olarak iki
seçeneğimiz var :
- "ne yapalım, sorumluluğunu bilseydi" deyip görmezden gelebiliriz,
- "benim ilgilendiğim ve bilgi sahibi olduğum bir alan" deyip, paket
geliştiricisinin onayı ile paketi üzerimize alabiliriz.
Bunun dışında benim bildiğim bir yol yok, geliştiriciye silah zoruyla bakım
yaptıramayacağımıza göre.
Daha önce de yazdım, depo / sürüm yöneticilerinin ise bir seçeneği daha var,
zorunlu olmadıkça kullanmadıkları :
- diğer paketlerin bağımlılıklarını veya depo tutarlılığını sağlamak için bazı
paketlerin geçici bakımını yaparak çalışır / derlenir hale getirmek, kararlı
depoya almak. 2008 öncesinde devel deposunda bakıcısız paket sayısı hayli
fazla olduğundan bu seçeneği yoğun olarak kullandık, ama artık işleri
normalleştirmek gerek.
Doruk'un dediği gibi bakıcısız paketleri işaretlemek için sürdürülebilir bir
yöntem geliştirmek ilk anda çok yararlı olacaktır, daha sonra da
paketlerin "gerçekten" bakıcı olan geliştiriciler tarafından maintain
edilmesini yaygınlaştırmalıyız. Burada önemli olan, geliştiricilerin
üzerlerine alacakları paketleri ilgili ve bilgili oldukları alanlardan
seçmeleri - yoksa "bu paketler sahipsizmiş, aldım gitti" yöntemi ile avuç
avuç paketi üzerine geçirip altı ay sonra şu veya bu nedenle projeden
uzaklaşan geliştiriciler de gördü bu proje, ve maalesef çok yaygın bir hata
bu.
> Ayrıca şu an ki sorumlu Eren'in bu sene gireceği
> sınavdan ötürü depoyla ilgilenmeye yeterli vakti olmayacağını düşündüğümden
> depo sorumlusunu yeniden tayin etmemiz de deponun 2008 sürmüne uyum
> sürecini hızlandıracaktır.
Depo / farm sorumlusu maalesef "adayları belirleyelim, oyları alalım, evet sen
oldun, hadi uğurlu olsun" yöntemiyle belirlenemiyor - projenin çoğu sürecinde
olduğu gibi öncelik elini taşın altına sokma, birlikte çalışabilme, devamlı
ulaşılabilir / fikir alışverişinde bulunulabilir olma özelliklerinde.
Farm sorumlusu ikili paketleri son kullanıcıya ürün olarak sunan kişi
olduğundan, bu aşamada çıkabilecek hatalar ve sorunlar doğrudan kullanıcıları
etkiliyor. Diğer yandan, sorun çözümleri için doğrudan geliştiricilerle
çalışması, acil durumlarda doğrudan müdahale edebilmesi de gerekiyor farm
sorumlusunun. Contrib'de işler daha da karışık - herkes kontrolsüz bir
şekilde merge ediyor paketleri, bu farm sorumlusunun devamlı takipte
olmasını gerektiriyor. Contrib'deki bir başka zorluk da bir ikili test
deposunun olmaması - derlediğiniz her paket kullanıcılarınıza doğrudan
sunuluyor.
Özetle, farm sorumluluğu oldukça düzenli zaman ayrılması gereken yoğun bir
iş - öncesinde de bir önceki sorumludan biraz ders almak, iş yapış tarz ve
yöntemlerini, proje içinde çalışma süreçlerimizi öğrenmek gerekiyor.
Dolayısıyla yeni farm sorumlusunun eski sorumlu tarafından seçilmesi (en
azından önerilmesi) bir anlamda gerekli - bu iş bilgi / yetenek olduğundan
daha fazla sorumluluk.
> Ayrıca bildiğim kadarıyla contrib deposu farmına
> sadece depo yöneticisinin erişim hakkı var. Çekirdek ekip harici bazı
> geliştiricilerde farma erişim haklarının olduğunu söylüyorlar. Eğer böyle
> biri durum var ise erişim hakkının tüm geliştiricilere verilmesi gerekmez
> mi?
Hayır. Birden fazla kişinin farm'a erişiminin olması işleri karıştırmaktan
başka birşeye yaramıyor - görece seyrek çalışan 2007 farmında bile Çağlar'la
ben birbirimizin ayağına basmamak için fazladan önlemler alıyoruz, 2008
farmlarında uygulanabilir olduğunu düşünmüyorum. Ama iki geliştirici "biz bir
ekip olarak bu işi yaparız, yöntemimizi ona göre seçer, düzenleriz" derse
tabii ki olabilir bence - ama bu o ekibin kararı olmalı, depo sorumlusu da
yapılabileceğine ikna olmalı.
Tüm geliştiricilerin farm'a erişimi olması ise gereksiz ve çok sakıncalı :
farm kararlı bir üretim sistemi, yapılacak en ufak hata tüm dağıtıma
yansıyacak.
Eren belirtmiş ama, bir kere de ben tekrarlayayım bu arada : Contrib
farm'larının ikisine de çekirdek ekipten kimsenin erişim yetkisi yok. Sadece
acil durumlarda (elektrik kesintisi, ağ sorunları, donanım problemleri gibi)
müdahale etmek işi sistem yöneticimiz Taner'in sorumluluğunda, ama Farm
yazılımına erişim hakkı sadece contrib depo yöneticisinin.
Özetle demek istediğim şu : Buildfarm, "Pardus dağıtımının geliştiriciler için
sunmuş olduğu geliştirme araçlarından [...]" biri değil. Aynen Pardus web,
mail, ftp vs. sunucuları gibi Pardus kullanıcı ve geliştiricilerine hizmet
eden bir servis, bu nedenle de kurulumu, bakımı ve işletilmesi özel bir
dikkat, bilgi ve tecrübe istiyor.
--
İ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