[Gelistirici] kararli depoya paket gecis sureci

Ekin Meroğlu ekin at pardus.org.tr
15 Ara 2008 Pzt 12:32:11 EET


Merhaba;

Friday 05 December 2008 tarihinde, Ozan Çağlayan şunları yazmıştı: 
> Doruk Fisek wrote On 04-12-2008 18:05:
> Olay sadece kararlılıksa,

> 1. 2007 sürümünde kalır,
> 2. 2008'e geçer ama sadece güvenlik güncellemelerini yapar.
>
> 2.seçenekle senin önerdiğinin arasında bir fark bulamadım ben. PiSi de,
> paket yöneticisi de bu özelliği sağlıyor zaten. Adama yeni bir depo
> ekletmek yerine paket yöneticisi ayarlarından "Sadece güvenlik
> güncellemelerini yap" seçtirmek bu işi halletmiyor mu?

http://liste.pardus.org.tr/gelistirici/2008-December/015127.html

> Tüm geliştiricilerin sürüm kaynak svn depolarına erişip değişiklik
> yapmalarını doğru bulmuyorum. Sürüm kaynak svn deposunda değişiklik
> yapıldığı anda o paket farm'da bir sonraki çalışmada derlenecek paketler
> arasına giriyor. Arada hiçbir kontrol mekanizması yok. 

+1

> Güvenlik güncellemelerinin, ister senin 2'li depo düzeneğinde, ister şu
> anki tek kararlı depo düzeneğinde test edilmesinde ben bir fayda
> görmüyorum. Güvenlik güncellemesi bir yazılıma yeni özellik katmıyor adı
> üstünde, neyini test ediyoruz? Buffer overflow var diyor örneğin
> advisory'de, oturup gerçekten overflow var mı ve açığı kapatmış diye mi
> kontrol edeceğiz?

Bu itirazın adı geçen güncellemenin __sadece__ güvenlik güncellemesi içerdiği 
durumlar için geçerli ama - kernelden kütüphanelere kadar bir sürü yazılım 
kendi sürüm takvimleri ile çakışan güvenlik fixlerini normalde 
yayınlayacakları yeni sürümlerine ekleyip yayınlıyor - on yeni özellik, iki 
bugfix, bir security içeren bir güncelleme tanım gereği security ama test 
edilmemesi gibi ihtimal yok maalesef.

Senin senaryo ancak sıkı kararlı depo politikası ile, sürüm atlatmadan sadece 
sec. fixleri backport edersek uygulanabiliyor. Security ekibimiz sağolsun 
olabildiğince backportlar ile bu güncellemelerin hızla depoya girmesini 
sağlıyor, ama her zaman uygulanabilir değil.
 
> > 5) system.base bileşenindeki paketlerin testi yapılırken, "emniyet
> > mandalı" nedeniyle sadece system.base guncellenmesi durumu da farkli
> > guncelleme safhalarindaki Pardus sistem kombinasyonları ile test
> > edilmelidir [2].

> system.base güncellemelerinde zaten daha yavaş ve tutarlıyız,
> gerekmedikçe güncelleme çok fazla yapılmıyor.

Burada da daha sıkı bir politika uygulamalıyız aslında.

> Bu test konusunda şunu düşünüyorum. Baştan beri test deposu hep şu
> şekilde kullanıldı:
> - Bump et, merge iste, testte dursun.
>
> Böyle bir düşünce yanlış diye düşünüyorum. Orası da insanlara sunulan
> ikili bir depo. Adı da kararsız değil, test. Önce paketçisi bir süre
> test etmeden, kullanmadan, "test deposuna girsin de orada millet
> kullanıp sorunu varsa söyler nasıl olsa" diye düşünmemeli. Paket
> devel'deyken kuran kullanan paket sahibi/bileşen sorumlusu bir sorun
> yakalayamazsa, test deposu daha ince sorunların yakalanabileceği bir üst
> katman olmalı.

Evet geliştirici en azından bir süre kullanmalı, temel fonksiyonlarının 
çalıştığından emin olmalı paket test deposuna alınmadan önce, ama örneğin 
Amarok 2 beta1'in test deposuna girip daha geniş bir geliştirici ekibi 
tarafından test edilmesinde büyük bir sorun yok bence.
   
> Paketçisinin merge isteyip sallamadığı bu sorunları, Serbülent
> revdep-rebuild yapınca yakalıyor. Böyle olmamalı.

Evet paketçiler daha ilgili olmalı, belki sık rastlanan sorunlar ve test 
yöntemleri gibi bir geliştirici belgesi yararlı olur. Ama depo kararlılığı 
konusunda mutlaka gözden kaçacak bir seri hata olacaktır, depo bütünlüğünü 
daha otomatik araçlarla daha sıkı kontrol etmeliyiz.

> Benim süreç içinde en rahatsız olduğum şey, depoda N aydır çalışmaz bir
> şekilde duran bir paket hakkında hata girilip de "bu paket çalışmıyor"
> denildiğinde, düzeltilen paketin testte vakit geçirmesi. Paket zaten
> çalışmıyor, kesinlikle test edilmesine gerek yok ve test edilmesinde
> fayda yok, merge istediğim anda depoya alınması en akıllıcası.

Bunu merge'de nasıl security işaretlediğimizde direk depoya alıyorsam kritik 
olarak belirtirsen hemen depoya alırız aslında - sorun genelde bu durumu 
ACK/NACK'ta konuşmamızda bence.
 
> Ya da mesela geçen gün firefox'a son anda ufak bir düzeltme girdi,
> kesinlikle zararsız ve kozmetik bir şey. Bu tarz şeylerin de test
> deposunda beklemesindense paketçisinin taahhüdünde doğrudan merge
> edilmesi(ya da hadi 1-2 gün testte dursun diyelim) daha doğru olur.

Evet, trivial düzeltmeler için de bir exception olmalı politikada - bunlar 
testçilerin de işini azaltacak önlemler aslında.

--
İ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