[Gelistirici] Kaynak depolar, yeni sürümler , yeni bileşenler
Ekin Meroğlu
ekin at pardus.org.tr
1 Nis 2009 Çar 23:07:33 EEST
Merhaba;
Son geliştirici toplantısında da konuştuğumuz gibi yakın bir gelecekte iki
ayrı sürümü temel alan iki (hatta birara üç) Pardus ürününü sürdürüyor
olacağız : Pardus 2009, bir süre için Pardus 2008 ve Pardus Kurumsal 2.
Şimdiye kadar böyle bir ihtiyacımız olmadığından, kaynak depo süreç ve
yöntemlerimiz aynı anda farklı temelli iki sürümü canlı tutmaya pek elverişli
değil - tek bir devel kaynak deposu kullanmak, sürümlerden biri için
geliştirme yapmayı kolaylaştırırken, diğeri için tamamen yamalar üzerinden
çalışmayı zorunlu kılıyor. Kurumsal 2 için hedeflediğimiz uzun ömür boyunca
tüm geliştirmeyi mail listesi ve yama dosyaları üzerinden yapmak hem zor, hem
de hataya açık bir yöntem.
Şu anki durum ve yöntem şöyle :
* - Tek bir devel kaynak deposu var, tüm güncelleme bu depoda yapılıyor. Bu
kaynak depo bir sonraki kararlı sürüme (örn: 2009) doğru gidiyor.
* - Bir kararlı sürüm için çalışmaya başladığımızda o sürüm için bu devel
deposunu branch'layıp kararlı kaynak depo oluşturuyoruz (örn: pardus/2008).
* - Güncel kararlı sürüme (örn: 2008) aktarılması istenen değişiklikler için;
a - değişiklik devel deposundan doğrudan alınabilir durumda ise (henüz devel
ile kararlı sürüm kaynak paketleri arası açılmadıysa) doğrudan kopyalama
yolu,
b - devel ile kararlı deponun arası açılmış ise kararlı depoya uygulanabilecek
bir yama dosyası
kullanılıyor.
* - Eski kararlı sürümlere (örn: 2007) aktarılacak değişiklikler ise (devel
ile bu kararlı sürümün depolarının arası çok açılmış olduğundan) neredeyse
her zaman yama dosyası ile yapılıyor.
Şimdiye kadar yeni kararlı sürüm çıktıktan sonra bir eski sürüme yapılan
değişiklikler oldukça az olduğundan yama dosyaları ile çalışmak çok sorun
çıkarmadı, ama bundan sonra aynı anda iki aktif sürüm için çalışırken birini
sadece yama dosyaları ile geliştirmek pek kolay olamayacak.
Değişiklik önerimiz ise şöyle :
- Tek bir devel kaynak deposundan vazgeçelim, her sürümün ayrı devel deposu
olsun. O sürüm için yapılacak tüm geliştirme ilgili devel deposunda yapılsın,
tamamlandığında o sürümün stable deposuna alınsın. Derleme çiftliği bu stable
kaynak depoyu derlesin. Yani şöyle :
pardus
|
|- 2008
| |- devel
| |- stable
|
|- 2009
| |- devel
| |- stable
|
|- corporate2
| |- devel
| |- stable
|
contrib
|
|- 2008
| |- devel
| |- stable
|
|- 2009
| |- devel
| |- stable
(Bir önceki mailde bahsettiğim components.xml pardus deposunun kök dizininde
durur hatta diye düşündük arada, not olarak bulunsun..)
- Yeni bir sürüm için çalışmaya başlanması o sürüm için bir devel kaynak
deposu oluşturulması ile olsun. Sürüm yöneticisi ilk seri paket (tahminen
system.base/devel) için artık derlenebilir dediği anda hazır paketleri ilgili
depoya alarak stable kaynak depoyu oluştursun, farmı açsın. Sürüme hazır hale
gelen paketler peyderpey stable depoya alınsın ve derlensin.
- Sürüm yayınlandıktan sonra geliştirme yine ilgili sürümün devel deposunda
yapılsın, geliştiricisi paketlerim hazır dediğinde kararlı depoya alınsın -
tabii burada artık stable mail listesine gerek olmayabilir; yama kullanmamız
gerekmeyecek, svn commit loguna "MERGE:2009" gibi bir tag ekleyerek de
çözebiliriz dedik.
Bu yöntem kabul görürse hareket planımız şu olacak :
- Onur şu anki pardus/devel kaynak deposunu pardus/2009/devel olarak
taşıyacak, bir süredir konuştuğumuz bileşen ağacı değişikliklerini bu depo
üzerinde yapacağız.
Onur o depodan ilk seri paketi alıp pardus/2009/stable deposunu oluşturacak.
- Ben şu anki pardus/2008 kaynak deposunu pardus/2008/devel ve
pardus/2008/stable olarak kopyalayacağım. Geliştirdiği paketteki
değişkliklerin 2008 ikili deposuna girmesini amaçlayan geliştirici ilgili
güncellemeleri pardus/2008/devel deposunda yapacak.
Yakın gelecekte de 2008/devel'in bir alt kümesi pardus/corporate2/devel'i
oluşturacak.
- 2010 için çalışmaya başlayacağımız zaman ise pardus/2009/devel'i
pardus/2010/devel olarak kopyalayacağız, zamanı gelince pardus/2010/stable
oluşacak vs vs...
Bunlara ne dersiniz ?
--
İ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