[Gelistirici] [64bit] 64bit deposu ve svn ile hakkında

Eren Türkay eren at pardus.org.tr
23 Kas 2009 Pzt 17:53:58 EET


On Sunday 22 November 2009 10:48:02 pm Necdet Yücel wrote:
>  svn.pardus.org.tr/pardus/corporate2/devel-x86_64/

devel-x86_64 yerine x86_64-devel daha mantıklı bir isim olmaz mıydı? 

Şu anda corporate2 içerisinde olması bir workaround gibi geldi. İlerde normal 
olarak 64bit sürüm çıkarırken ne tür bir svn dizin yapısı kullanacağız? 
Stable'a geçtiğinde corporate2 içerisinde x86_64-stable/ dizini mi açacağız?  
İlerde daha çok mimari destekleyeceğimizde "arm9-devel/stable" gibi birçok 
dizinlerimiz olacak ve işler karışacak. Buna şimdiden karar versek iyi olur 
gibi..

Bunları basitleştirmek için aklıma birkaç fikir geliyor. Uygulanabilir mi 
bilmiyorum, sadece beyin fırtınası. Şu anda zaten var olanı tekrar tekrar 
kopyalamak yerine farklı şeyler düşünülebilir belki.

Mevcut senaryoda elimizde paketlerimiz var, her mimari için aynı kaynak kodu 
ancak farklı gcc parametreleri ile derleniyor. 64bit için özel yamalar 
gerekebiliyor ve derlenirken birkaç hack yapmak gerekebiliyor. (diğer 
mimariler için de böyle). Benim önerim yeni depo açmak yerine, zaten var olan 
depo içerisinde bir çözüm üretmek.

Pspec.xml'de mimari kontrol edemeyeceğimiz için her mimariye özel pspec.xml 
yazabiliriz. Atıyorum "pspec.x86_64.xml". Actions.py içerisinde özel olarak 
hack gerekiyorsa "if arch == x86_64:" şeklinde kontrol sağlayabiliriz. İlerde 
arm desteklersek "pspec.arm9.xml" gibi dosyamız olabilir. Böylece tek sürüm 
deposu içerisinde 3 farklı mimariyi rahatça çıkarabiliriz.

Pisi.conf'da her mimari için ayarlar tanımlanabilir. Şu anda oluşan paketler 
distribution.xml 'den aldıkları versiyon bilgisini taşıyorlar. Bu versiyon 
bilgisi sürüm oluşturulurken (derlenirken) buildfarm.conf'a verilebilir. Pisi 
buildfarm'dan aldığı version bilgisini paketlere yazabilir. Aynı zamanda pisi 
derleme yaparen mimarinin ne olduğuna bakıp ona uygun pspec.xml'i 
derleyebilir. Bu noktada distribution.xml'in taşıdığı "<Obsoletes>" tagi her 
mimari için nasıl çalışır henüz aklıma gelmedi :)

Aklıma gelen fikirler bunlar, siz neler düşünüyorsunuz? Dizin/svn yapıları, 
bize ilerde ne kazandıracak, ne kaybettirecek gibi konularda düşünelim derim.

Tabi ki bu fikirler mantıklı gelse ve yapılmak istense bile şu anki 64bit 
ekibinin çalışmalarına yetişmeyecektir. Tahmin ediyorum ki 64bit ekibi 
corporate2/x86_64-devel içerisinde paketlerini derleyecek ve olası yapıdaki 
değişiklikler 64bit'ten sonraya kalacak.

Herkese iyi çalışmalar,
Eren

(NOT: Bu mail 64bit listesinde moderatöre takıldığı için tekrar gönderip 
geliştirici listesini CC'ledim..)




Gelistirici mesaj listesiyle ilgili daha fazla bilgi